diff --git a/src/api/index.js b/src/api/index.js index 30efd85..0f5ff99 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -33,6 +33,7 @@ export default { updateRealSchoolId: `competition/competition/registration/updateRealSchoolId`, checkUserNameOrWorkNumber: `users/users/batchProcessing/checkUserNameOrWorkNumber`, updateUserNameOrWorkNumber: `users/users/batchProcessing/updateUserNameOrWorkNumber`, + loginByUnionid: `users/loginByUnionid`, // 阿里云文件/视频管理 getPlayAuth: `nakadai/nakadai/oss/getPlayAuth`, // 获取播放凭证 diff --git a/src/assets/img/exts/excel.png b/src/assets/img/exts/excel.png new file mode 100644 index 0000000..6e0482e Binary files /dev/null and b/src/assets/img/exts/excel.png differ diff --git a/src/assets/img/wechat.svg b/src/assets/img/wechat.svg new file mode 100644 index 0000000..583d4f8 --- /dev/null +++ b/src/assets/img/wechat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/pages/account/login/index.vue b/src/pages/account/login/index.vue index b767773..e53364a 100644 --- a/src/pages/account/login/index.vue +++ b/src/pages/account/login/index.vue @@ -67,6 +67,11 @@ 暂无账号?点击申请 + +
+ + 学生微信登录 +
登录 @@ -298,6 +303,8 @@ export default { rePassword: [{ required: true, message: "请再次输入密码", trigger: "blur" }], code: [{ required: true, message: "请输入验证码", trigger: "blur" }] }, + + qrcode: '', }; }, computed: { @@ -311,6 +318,7 @@ export default { mounted () { localStorage.removeItem('opened') this.getVerImg() + this.getQr() // 页面离开的时候销毁手机和邮箱验证码定时器 this.$once("hook:beforeDestroy", function () { clearInterval(this.phoneTimer) @@ -330,6 +338,11 @@ export default { this.form.random = Math.floor(Math.random() * 999999999); this.verificationIMG = this.api.verification + "?random=" + `${this.form.random}`; }, + // 获取微信扫码二维码 + async getQr () { + const res = await this.$get(`https://edu.occupationlab.com/users/getQRCodeUrl`) + this.qrcode = res.message + }, // 重置验证规则 handleRule () { this.rules.account[0].message = this.verCodeLogin ? @@ -559,6 +572,11 @@ export default { Util.successMsg(message) this.phoneCountdown() }, + // 微信登录 + toWechat () { + // window.open(this.qrcode) + location.href = this.qrcode + }, // 账号申请 toAccount () { @@ -899,10 +917,23 @@ export default { color: #ffa94e; } + .wechat { + display: flex; + align-items: center; + margin-top: 5px; + font-size: 14px; + color: #333; + cursor: pointer; + + .icon { + margin-right: 5px; + } + } + .submit { width: 100%; height: 48px; - margin-top: 30px; + margin-top: 20px; line-height: 48px; padding: 0; font-size: 20px; diff --git a/src/pages/account/redirect/index.vue b/src/pages/account/redirect/index.vue new file mode 100644 index 0000000..db7e015 --- /dev/null +++ b/src/pages/account/redirect/index.vue @@ -0,0 +1,289 @@ + + + + + \ No newline at end of file diff --git a/src/pages/station/preview/index.vue b/src/pages/station/preview/index.vue index 38f84c5..20a485e 100644 --- a/src/pages/station/preview/index.vue +++ b/src/pages/station/preview/index.vue @@ -76,6 +76,8 @@ + diff --git a/src/router/routes.js b/src/router/routes.js index 366924a..980457b 100644 --- a/src/router/routes.js +++ b/src/router/routes.js @@ -28,6 +28,14 @@ const frameOut = [ }, component: () => import("@/pages/account/login") }, + { + path: "/redirect", + name: "redirect", + meta: { + title: "登录" + }, + component: () => import("@/pages/account/redirect") + }, { path: '/join', component: () => import('@/pages/join'), diff --git a/src/setting.js b/src/setting.js index 7828a39..7107741 100644 --- a/src/setting.js +++ b/src/setting.js @@ -67,7 +67,7 @@ const Setting = { /** * 路由白名单 * */ - whiteList: ['/login', '/index/list', '/index/zxy', '/product/list', '/cityPartner/list', '/devPlatform/list', '/log/list', '/touristMatch/list', '/touristMatch/details', '/touristMatch/noticeDetail', '/preCourse/list', '/preCourse/details', '/preInfo/list', '/preInfo/details', '/screen', '/screenShow', '/screenShowPro', '/join', '/join/success'], + whiteList: ['/login', '/redirect', '/index/list', '/index/zxy', '/product/list', '/cityPartner/list', '/devPlatform/list', '/log/list', '/touristMatch/list', '/touristMatch/details', '/touristMatch/noticeDetail', '/preCourse/list', '/preCourse/details', '/preInfo/list', '/preInfo/details', '/screen', '/screenShow', '/screenShowPro', '/join', '/join/success'], /** * 平台列表 * */