From f669ff4192bcbe0ea4ccba5816937f5a836b132f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?old=E6=98=93?= <156663459@qq.com> Date: Sat, 28 Sep 2024 10:27:06 +0800 Subject: [PATCH] update sso init --- .env.development | 0 .env.production | 0 src/components/Login.vue | 65 +++++++++++++++++++++++++++------------- 3 files changed, 44 insertions(+), 21 deletions(-) create mode 100644 .env.development create mode 100644 .env.production diff --git a/.env.development b/.env.development new file mode 100644 index 0000000..e69de29 diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..e69de29 diff --git a/src/components/Login.vue b/src/components/Login.vue index bd0255d..2d62ccf 100644 --- a/src/components/Login.vue +++ b/src/components/Login.vue @@ -44,6 +44,7 @@ export default { const password = ref(''); const phone = ref(''); const verificationCode = ref(''); + const referer = ref(''); // 新增响应式变量来存储来源网址 // 切换标签页 const switchTab = (tab) => { @@ -67,22 +68,32 @@ export default { }, 1000); }; + // 获取来源页面的域名 + const getReferer = () => { + let ref = document.referrer; + if (!ref) { + if (process.env.NODE_ENV === 'development') { + ref = 'https://www.ycymedu.com'; + console.log('当前是开发环境'); + } else if (process.env.NODE_ENV === 'production') { + console.log('当前是生产环境'); + window.location.href = "https://www.ycymedu.com"; + } + } else { + // 提取来源网址的域名部分 + const url = new URL(ref); + ref = url.origin; + } + referer.value = ref; // 存储来源网址 + }; + + // 微信扫码登录初始化 const initWeChatLogin = () => { nextTick(() => { - // 获取来源页面的域名 - let referer = document.referrer; - if (!referer) { - // 如果无法获取 referrer,默认使用当前页面的域名 - referer = "https://www.ycymedu.com"; - } else { - // 提取来源网址的域名部分 - const url = new URL(referer); - referer = url.origin; - } const appid = 'wxf8db44d5ec082dfc'; - const redirectUri = encodeURIComponent('https://api.sso.ycymedu.com/api/syswechat/snlogin?redirect_uri='+referer); + const redirectUri = encodeURIComponent('https://api.sso.ycymedu.com/api/syswechat/snlogin?redirect_uri=' + referer); const state = Math.random().toString(36).substr(2); new WxLogin({ @@ -100,6 +111,7 @@ export default { // 在组件加载时初始化微信扫码登录 onMounted(() => { + getReferer(); // 获取来源网址 initWeChatLogin(); }); @@ -135,12 +147,15 @@ export default { display: flex; justify-content: center; align-items: center; - overflow: hidden; /* 隐藏滚动条 */ + overflow: hidden; + /* 隐藏滚动条 */ background-image: url('https://static-data-ycymedu.oss-cn-shanghai.aliyuncs.com/backgroundImage.png'); background-size: cover; background-position: center; - position: relative; /* 设置为相对定位,以支持绝对定位的子元素 */ - padding-bottom: 60px; /* 为底部版权信息预留空间 */ + position: relative; + /* 设置为相对定位,以支持绝对定位的子元素 */ + padding-bottom: 60px; + /* 为底部版权信息预留空间 */ } .login-box { @@ -152,8 +167,10 @@ export default { max-width: 400px; text-align: center; box-sizing: border-box; - margin-bottom: 30px; /* 增加底部边距 */ - margin: 0 auto; /* 居中 */ + margin-bottom: 30px; + /* 增加底部边距 */ + margin: 0 auto; + /* 居中 */ } .logo { @@ -224,7 +241,8 @@ button:disabled { } .verification-row input { - width: calc(100% - 120px); /* 确保输入框宽度 */ + width: calc(100% - 120px); + /* 确保输入框宽度 */ margin-right: 10px; } @@ -233,14 +251,19 @@ button:disabled { } /* 响应式布局 */ -@media screen and (min-width: 768px) { /* 平板及更大屏幕 */ +@media screen and (min-width: 768px) { + + /* 平板及更大屏幕 */ .login-container { - padding-bottom: 0; /* 移除底部padding */ + padding-bottom: 0; + /* 移除底部padding */ } .login-box { - width: 400px; /* 固定宽度 */ - margin: 0 auto; /* 水平居中 */ + width: 400px; + /* 固定宽度 */ + margin: 0 auto; + /* 水平居中 */ } }