From 019abc739d9e231c2ebfe9ca537f82e2e1843496 Mon Sep 17 00:00:00 2001 From: QYF-GitLab1 <1940665526@qq.com> Date: 星期日, 24 八月 2025 21:24:39 +0800 Subject: [PATCH] 课程班级显示 --- src/layout/components/login.vue | 221 ++++++++++++++++++++++++++----------------------------- 1 files changed, 104 insertions(+), 117 deletions(-) diff --git a/src/layout/components/login.vue b/src/layout/components/login.vue index 173eb42..aa8e6f7 100644 --- a/src/layout/components/login.vue +++ b/src/layout/components/login.vue @@ -50,23 +50,19 @@ validator: (_, value, callback) => { if ( !/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test( - value + value, ) ) { - callback('璇疯緭鍏�11浣嶇數璇濆彿鐮�'); + callback('璇疯緭鍏�11浣嶇數璇濆彿鐮�') } else { - callback(); + callback() } }, }, ]" prop="telNumber" > - <el-input - v-model="passFormData.telNumber" - placeholder="璇疯緭鍏ユ墜鏈哄彿" - size="large" - > + <el-input v-model="passFormData.telNumber" placeholder="璇疯緭鍏ユ墜鏈哄彿" size="large"> <template #prepend> <el-select v-model="select" @@ -80,9 +76,7 @@ </el-input> </el-form-item> <el-form-item> - <el-button class="yanzhengBtn" @click="sliderImgDialogVisable = true" - >楠岃瘉</el-button - > + <el-button class="yanzhengBtn" @click="sliderImgDialogVisable = true">楠岃瘉</el-button> </el-form-item> <el-form-item v-if="signUpWay === 'authSignUp'" @@ -93,19 +87,13 @@ ]" prop="telCode" > - <el-input - v-model="passFormData.telCode" - placeholder="璇疯緭鍏ラ獙璇佺爜" - size="large" - /> + <el-input v-model="passFormData.telCode" placeholder="璇疯緭鍏ラ獙璇佺爜" size="large" /> <el-button type="primary" class="codeBtn" :disabled="countDown != 0" @click="getCode(passFormRef)" - >{{ - countDown == 0 ? "鑾峰彇楠岃瘉鐮�" : "楠岃瘉鐮�(" + countDown + "s)" - }}</el-button + >{{ countDown == 0 ? '鑾峰彇楠岃瘉鐮�' : '楠岃瘉鐮�(' + countDown + 's)' }}</el-button > </el-form-item> <el-form-item @@ -116,9 +104,9 @@ { validator: (rule, value, callback) => { if (!/\d/.test(value) || /^\d+$/.test(value)) { - callback('瀵嗙爜涓嶈兘涓虹函鏁板瓧鎴栧瓧姣�'); + callback('瀵嗙爜涓嶈兘涓虹函鏁板瓧鎴栧瓧姣�') } else { - callback(); + callback() } }, }, @@ -174,49 +162,49 @@ </template> <script setup> -import { ref, inject, watchEffect, reactive, nextTick } from "vue"; -import dialogLeftImg from "@/assets/images/header/dialogLeftImg.png"; -import verify from "@/components/sliderImg/component/verify.vue"; -import "@/components/sliderImg/sliderImg.js"; -import "@/components/sliderImg/sliderImg.css"; -import { ElMessage } from "element-plus"; -import { useUserStore } from "@/store"; -import { useRouter } from "vue-router"; -const router = useRouter(); +import { ref, inject, watchEffect, reactive, nextTick } from 'vue' +import dialogLeftImg from '@/assets/images/header/dialogLeftImg.png' +import verify from '@/components/sliderImg/component/verify.vue' +import '@/components/sliderImg/sliderImg.js' +import '@/components/sliderImg/sliderImg.css' +import { ElMessage } from 'element-plus' +import { useUserStore } from '@/store' +import { useRouter } from 'vue-router' +const router = useRouter() -const userStore = useUserStore(); +const userStore = useUserStore() -const MG = inject("MG"); -const config = inject("config"); -const dialogFormVisible = ref(false); -const sliderImgDialogVisable = ref(false); -const flag = ref("logIn"); // 鐧诲綍鎴栨敞鍐� +const MG = inject('MG') +const config = inject('config') +const dialogFormVisible = ref(false) +const sliderImgDialogVisable = ref(false) +const flag = ref('logIn') // 鐧诲綍鎴栨敞鍐� -const signUpWay = ref("authSignUp"); // 鐧诲綍鏂瑰紡 -const select = ref("涓浗+86"); -const countDown = ref(0); // 鍊掕鏃舵椂闂� -let timer = null; // 鍊掕鏃跺疄渚� -const passFormRef = ref(); +const signUpWay = ref('authSignUp') // 鐧诲綍鏂瑰紡 +const select = ref('涓浗+86') +const countDown = ref(0) // 鍊掕鏃舵椂闂� +let timer = null // 鍊掕鏃跺疄渚� +const passFormRef = ref() const passFormData = ref({ - telNumber: "", - password: "", - telCode: "", - password: "", - confirmPassword: "", -}); + telNumber: '', + password: '', + telCode: '', + password: '', + confirmPassword: '', +}) const closeDialog = () => { - countDown.value = 0; - clearInterval(timer); + countDown.value = 0 + clearInterval(timer) if (passFormRef.value) { - passFormRef.value.resetFields(); + passFormRef.value.resetFields() } - dialogFormVisible.value = false; -}; + dialogFormVisible.value = false +} // 寮圭獥鎵撳紑浜嬩欢 -const openDialog = () => {}; +const openDialog = () => {} const loginImgVerify = (code) => { - sliderImgDialogVisable.value = false; + sliderImgDialogVisable.value = false MG.identity .getPhoneCode({ phoneNumber: passFormData.value.telNumber, @@ -224,19 +212,19 @@ appRefCode: config.appRefCode, }) .then((res) => { - if (res == "楠岃瘉鐮佸彂閫佹垚鍔�") { - getSecond(60); - ElMessage.success(res); + if (res == '楠岃瘉鐮佸彂閫佹垚鍔�') { + getSecond(60) + ElMessage.success(res) } else { - ElMessage.error(res); + ElMessage.error(res) } - }); -}; + }) +} watchEffect(() => { if (dialogFormVisible.value) { } -}); +}) //鐧诲綍 @@ -245,39 +233,38 @@ phoneNumber: passFormData.value.telNumber, phoneCaptcha: passFormData.value.telCode, appRefCode: config.appRefCode, - platform: "string", - }; + platform: 'string', + } MG.identity.loginByMobilePhone(query).then((res) => { - console.log("res", res); - userStore.setToken(res.data.accessToken); + console.log('res', res) + userStore.setToken(res.data.accessToken) - getUserInfo(); - }); -}; + getUserInfo() + }) +} const getUserInfo = () => { MG.identity.getCurrentAppUser().then((res) => { - console.log("res", res); + console.log('res', res) if (res) { - let userInfo = res.infoList.find((item) => item.type == "userInfo"); - let userTypeObj = res.infoList.find((item) => item.type == "userType"); + let userInfo = res.infoList.find((item) => item.type == 'userInfo') + let userTypeObj = res.infoList.find((item) => item.type == 'userType') const userData = { - userName: userInfo && userInfo.data ? JSON.parse(userInfo.data).name : "", - school: userInfo && userInfo.data ? JSON.parse(userInfo.data).school : "", - city: userInfo && userInfo.data ? JSON.parse(userInfo.data).city : "", - cityCode: userInfo && userInfo.data ? JSON.parse(userInfo.data).cityCode : "", - address: userInfo && userInfo.data ? JSON.parse(userInfo.data).address : "", - userType: - userTypeObj && userTypeObj.data ? JSON.parse(userTypeObj.data).userType : "", - }; - localStorage.setItem("xiehe-isUserInfo", userData?.userType == "" ? "-1" : "1"); - let teacherRole = res.roleLinks.find((item) => item.role.refCode == "teacher"); - let teacherInfos = res.infoList.find((item) => item.type == "teacherInfo"); - let wechatInfo = res.infoList.find((item) => item.type == "WeChat"); - let studentInfo = res.infoList.find((item) => item.type == "Default"); - let phoneInfo = res.secretList.find((item) => item.type == "MobilePhone"); + userName: userInfo && userInfo.data ? JSON.parse(userInfo.data).name : '', + school: userInfo && userInfo.data ? JSON.parse(userInfo.data).school : '', + city: userInfo && userInfo.data ? JSON.parse(userInfo.data).city : '', + cityCode: userInfo && userInfo.data ? JSON.parse(userInfo.data).cityCode : '', + address: userInfo && userInfo.data ? JSON.parse(userInfo.data).address : '', + userType: userTypeObj && userTypeObj.data ? JSON.parse(userTypeObj.data).userType : '', + } + localStorage.setItem('xiehe-isUserInfo', userData?.userType == '' ? '-1' : '1') + let teacherRole = res.roleLinks.find((item) => item.role.refCode == 'teacher') + let teacherInfos = res.infoList.find((item) => item.type == 'teacherInfo') + let wechatInfo = res.infoList.find((item) => item.type == 'WeChat') + let studentInfo = res.infoList.find((item) => item.type == 'Default') + let phoneInfo = res.secretList.find((item) => item.type == 'MobilePhone') // let nameAndPassword = res.secretList.find((item) => item.type == 'LoginNameAndPassword') - let emailInfo = res.secretList.find((item) => item.type == "EMail"); + let emailInfo = res.secretList.find((item) => item.type == 'EMail') if (teacherRole && teacherInfos) { userStore.setUserInfo({ ...userData, @@ -285,19 +272,19 @@ phoneNumber: phoneInfo?.credential, Email: emailInfo ? emailInfo.credential : JSON.parse(teacherInfos.data).email, icon: wechatInfo?.icon, - role: "Teacher", + role: 'Teacher', roleId: teacherRole.role.id, userId: res.userId, - }); + }) } else if (wechatInfo) { userStore.setUserInfo({ ...userData, ...wechatInfo, phoneNumber: phoneInfo?.credential, Email: emailInfo?.credential, - role: "Student", + role: 'Student', userId: res.userId, - }); + }) } else if (studentInfo) { userStore.setUserInfo({ ...userData, @@ -305,9 +292,9 @@ icon: wechatInfo?.icon, phoneNumber: phoneInfo?.credential, Email: emailInfo?.credential, - role: "Student", + role: 'Student', userId: res.userId, - }); + }) } else if (phoneInfo) { userStore.setUserInfo({ ...userData, @@ -315,32 +302,32 @@ name: phoneInfo?.credential, icon: phoneInfo?.icon, phoneNumber: phoneInfo?.credential, - role: "Student", + role: 'Student', userId: res.userId, - }); + }) } } - router.go(0); - }); -}; + router.go(0) + }) +} // 鍊掕鏃� const getSecond = (time) => { if (!timer) { - countDown.value = time; + countDown.value = time timer = setInterval(() => { - countDown.value--; + countDown.value-- if (countDown.value == 0) { - clearInterval(timer); - timer = null; + clearInterval(timer) + timer = null } - }, 1000); + }, 1000) } -}; +} // 鐧诲綍鍜岄噸缃瘑鐮佹寜閽寜閽� const signInSystem = async (formEl) => { - if (!formEl) return; + if (!formEl) return formEl.validate((valid) => { if (valid) { // if (signUpWay.value === 'phone') { @@ -354,27 +341,27 @@ // changePassword() // } } - }); -}; + }) +} const logIn = () => { - dialogFormVisible.value = true; - flag.value = "logIn"; -}; + dialogFormVisible.value = true + flag.value = 'logIn' +} // 鎵撳紑娉ㄥ唽寮圭獥 const signUp = () => { - dialogFormVisible.value = true; - flag.value = "signUp"; -}; + dialogFormVisible.value = true + flag.value = 'signUp' +} const wechatLoginOpen = () => { - signUpWay.value = "wechat"; -}; + signUpWay.value = 'wechat' +} defineExpose({ logIn, signUp, -}); +}) </script> <style lang="less" scoped> @@ -662,7 +649,7 @@ } .policy { cursor: pointer; - color: #ff6c00; + color: #019e58; } /** 娉ㄥ唽琛ㄥ崟 */ .signUp { @@ -685,7 +672,7 @@ h4 { font-size: 16px; - color: #ff6c00; + color: #019e58; } .logInBox { -- Gitblit v1.9.1