feat: 更新登录逻辑,支持教师和学生的不同登录方式
This commit is contained in:
		
							parent
							
								
									53f129a355
								
							
						
					
					
						commit
						48c94b0905
					
				
							
								
								
									
										3
									
								
								App.vue
								
								
								
								
							
							
						
						
									
										3
									
								
								App.vue
								
								
								
								
							|  | @ -36,11 +36,12 @@ export default { | ||||||
|     }); |     }); | ||||||
| 
 | 
 | ||||||
|     if (!that.vuex_token) { |     if (!that.vuex_token) { | ||||||
|  |       const type = that.vuex_userType || 0; // 0:学生 1:教师 | ||||||
|       this.$u.vuex("vuex_user", ""); |       this.$u.vuex("vuex_user", ""); | ||||||
|       this.$u.vuex("vuex_token", ""); |       this.$u.vuex("vuex_token", ""); | ||||||
|       uni.clearStorage(); |       uni.clearStorage(); | ||||||
|       uni.reLaunch({ |       uni.reLaunch({ | ||||||
|         url: "/pages/login/login/index", |         url: `/pages/login/login/index?type=${type}`, | ||||||
|       }); |       }); | ||||||
|       return; |       return; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  | @ -2,125 +2,170 @@ | ||||||
| const install = (Vue, vm) => { | const install = (Vue, vm) => { | ||||||
|   // ********
 |   // ********
 | ||||||
|   // 获取教师信息
 |   // 获取教师信息
 | ||||||
|     let getTeacherInfo = (params = {}) => vm.$u.get('api/BasicDataMaintenance/GetTeacher', params); |   let getTeacherInfo = (params = {}) => | ||||||
|  |     vm.$u.get("api/BasicDataMaintenance/GetTeacher", params); | ||||||
| 
 | 
 | ||||||
|     let updateTeacherInfo = (params = {}) => vm.$u.post('api/BasicDataMaintenance/UpdateTeacher', params); |   let updateTeacherInfo = (params = {}) => | ||||||
|  |     vm.$u.post("api/BasicDataMaintenance/UpdateTeacher", params); | ||||||
| 
 | 
 | ||||||
|     let getData = (params = {}) => vm.$u.get('api/BasicDataMaintenance/GetData', params); |   let getData = (params = {}) => | ||||||
|  |     vm.$u.get("api/BasicDataMaintenance/GetData", params); | ||||||
| 
 | 
 | ||||||
|   // 登录
 |   // 登录
 | ||||||
|     let LoginApp = (params = {}) => vm.$u.post('api/Token/LoginApp', params) |   let LoginApp = (params = {}) => vm.$u.post("api/Token/LoginApp", params); | ||||||
|   // 注册
 |   // 注册
 | ||||||
|     let RegisterUser = (params = {}) => vm.$u.post('api/Token/RegisterUser', params); |   let RegisterUser = (params = {}) => | ||||||
|  |     vm.$u.post("api/Token/RegisterUser", params); | ||||||
|   // 基础资料以及保存用户头像
 |   // 基础资料以及保存用户头像
 | ||||||
|     let saveUserInfo = (params = {}) => vm.$u.post('app/User/UploadingFormFileHead', params); |   let saveUserInfo = (params = {}) => | ||||||
|  |     vm.$u.post("app/User/UploadingFormFileHead", params); | ||||||
|   // 更新用户定位信息
 |   // 更新用户定位信息
 | ||||||
|     let upPosition = (params = {}) => vm.$u.post('app/Position/InsertPosition', params); |   let upPosition = (params = {}) => | ||||||
|  |     vm.$u.post("app/Position/InsertPosition", params); | ||||||
|   // 获取用户当前定位信息
 |   // 获取用户当前定位信息
 | ||||||
|     let getPosition = (params = {}) => vm.$u.get('app/Position/GetPositionByUser', { |   let getPosition = (params = {}) => | ||||||
|         userId: vm.vuex_user.id |     vm.$u.get("app/Position/GetPositionByUser", { | ||||||
|  |       userId: vm.vuex_user.id, | ||||||
|     }); |     }); | ||||||
|   // 获取所有学校
 |   // 获取所有学校
 | ||||||
|     let GetAllSchool = (params = {}) => vm.$u.get('app/User/GetSchoolList', params); |   let GetAllSchool = (params = {}) => | ||||||
|  |     vm.$u.get("app/User/GetSchoolList", params); | ||||||
|   //获取首页地图信息
 |   //获取首页地图信息
 | ||||||
|     let HomeMap = (params = {}) => vm.$u.get('/app/User/HomeMap', params); |   let HomeMap = (params = {}) => vm.$u.get("/app/User/HomeMap", params); | ||||||
|   //修改密码
 |   //修改密码
 | ||||||
|     let ChangePassword = (params = {}) => vm.$u.post('app/User/ChangePassword', params); |   let ChangePassword = (params = {}) => | ||||||
|  |     vm.$u.post("app/User/ChangePassword", params); | ||||||
|   //修改密码
 |   //修改密码
 | ||||||
|     let myChangePassword = (params = {}) => vm.$u.post('app/My/ChangePassword', params); |   let myChangePassword = (params = {}) => | ||||||
|  |     vm.$u.post("app/My/ChangePassword", params); | ||||||
|   // 获取搜索页面相关信息
 |   // 获取搜索页面相关信息
 | ||||||
|     let SearchInfo = (params = {}) => vm.$u.get('app/User/SearchRelevant', params); |   let SearchInfo = (params = {}) => | ||||||
|  |     vm.$u.get("app/User/SearchRelevant", params); | ||||||
|   //获取搜索结果页面
 |   //获取搜索结果页面
 | ||||||
|     let getSearch = (params = {}) => vm.$u.get('app/User/GetSearchList', params); |   let getSearch = (params = {}) => vm.$u.get("app/User/GetSearchList", params); | ||||||
|   // 获取用户信息
 |   // 获取用户信息
 | ||||||
|     let getUserInfo = (params = {}) => vm.$u.get('app/User/HomePage', params); |   let getUserInfo = (params = {}) => vm.$u.get("app/User/HomePage", params); | ||||||
|   // 获取校友帮帮列表
 |   // 获取校友帮帮列表
 | ||||||
|     let GetHelpList = (params = {}) => vm.$u.get('app/HelpArticle/GetHelpArticleListByKey', params); |   let GetHelpList = (params = {}) => | ||||||
|  |     vm.$u.get("app/HelpArticle/GetHelpArticleListByKey", params); | ||||||
|   // 获取学校资讯
 |   // 获取学校资讯
 | ||||||
|     let GetSchoolList = (params = {}) => vm.$u.get('app/AlumnRange/AlumnRangeSchool', params); |   let GetSchoolList = (params = {}) => | ||||||
|  |     vm.$u.get("app/AlumnRange/AlumnRangeSchool", params); | ||||||
|   //获取最新的用户信息(更新用户数据)
 |   //获取最新的用户信息(更新用户数据)
 | ||||||
|     let getUser = (params = {}) => vm.$u.get('app/User/GetUser', {userId: vm.vuex_user.id}).then(res => { |   let getUser = (params = {}) => | ||||||
|         vm.$u.get('/app/User/GetUserSchool').then(ress => { |     vm.$u.get("app/User/GetUser", { userId: vm.vuex_user.id }).then((res) => { | ||||||
|  |       vm.$u.get("/app/User/GetUserSchool").then((ress) => { | ||||||
|         // res.isAttestationGLY = ress.isAttestationGLY
 |         // res.isAttestationGLY = ress.isAttestationGLY
 | ||||||
|         // res.isAttestationJZG = ress.isAttestationJZG
 |         // res.isAttestationJZG = ress.isAttestationJZG
 | ||||||
|         // res.isAttestationQY = ress.isAttestationQY
 |         // res.isAttestationQY = ress.isAttestationQY
 | ||||||
|         // res.isAttestationXY = res.isAttestationXY
 |         // res.isAttestationXY = res.isAttestationXY
 | ||||||
|         // res.isAttestationZXS = ress.isAttestationZXS
 |         // res.isAttestationZXS = ress.isAttestationZXS
 | ||||||
|             res.schoolId = ress.items.schoolId |         res.schoolId = ress.items.schoolId; | ||||||
|             vm.$u.vuex('vuex_user', {...res.user,...res.userExtension}) |         vm.$u.vuex("vuex_user", { ...res.user, ...res.userExtension }); | ||||||
|             vm.$u.vuex('vuex_user_hobby', res.lableList) |         vm.$u.vuex("vuex_user_hobby", res.lableList); | ||||||
|         }) |       }); | ||||||
|     }) |     }); | ||||||
|   //获取用户消息列表
 |   //获取用户消息列表
 | ||||||
|     let getcharList = (params = {}) => vm.$u.get('app/Chat/GetUserMessageList', params); |   let getcharList = (params = {}) => | ||||||
|  |     vm.$u.get("app/Chat/GetUserMessageList", params); | ||||||
|   //获取用户获取关注列表
 |   //获取用户获取关注列表
 | ||||||
|     let getFollowList = (params = {}) => vm.$u.get('app/Chat/GetFollowList', {id: vm.vuex_user.id}); |   let getFollowList = (params = {}) => | ||||||
|  |     vm.$u.get("app/Chat/GetFollowList", { id: vm.vuex_user.id }); | ||||||
|   //	获取系统消息列表
 |   //	获取系统消息列表
 | ||||||
|     let getSysList = (params = {}) => vm.$u.get('app/Chat/GetSystemMessageList', {id: vm.vuex_user.id}); |   let getSysList = (params = {}) => | ||||||
|  |     vm.$u.get("app/Chat/GetSystemMessageList", { id: vm.vuex_user.id }); | ||||||
|   //获取管理消息列表
 |   //获取管理消息列表
 | ||||||
|     let getAdminList = (params = {}) => vm.$u.get('app/Chat/GetManageMessageList', {schoolId: vm.vuex_user.id}); |   let getAdminList = (params = {}) => | ||||||
|  |     vm.$u.get("app/Chat/GetManageMessageList", { schoolId: vm.vuex_user.id }); | ||||||
|   //获取互动信息列表
 |   //获取互动信息列表
 | ||||||
|     let getinteractionList = (params) => vm.$u.get('app/Chat/GetInterMessageList', {id: vm.vuex_user.id, type: params}); |   let getinteractionList = (params) => | ||||||
|  |     vm.$u.get("app/Chat/GetInterMessageList", { | ||||||
|  |       id: vm.vuex_user.id, | ||||||
|  |       type: params, | ||||||
|  |     }); | ||||||
|   //校友找找推荐列表
 |   //校友找找推荐列表
 | ||||||
|     let getAlumnSearch = (params = {}) => vm.$u.get('app/AlumnRange/AlumnSearch', params); |   let getAlumnSearch = (params = {}) => | ||||||
|  |     vm.$u.get("app/AlumnRange/AlumnSearch", params); | ||||||
|   //获取聊天记录
 |   //获取聊天记录
 | ||||||
|     let getChatRecord = (params = {}) => vm.$u.get('app/Chat/GetChatRecord', params); |   let getChatRecord = (params = {}) => | ||||||
|  |     vm.$u.get("app/Chat/GetChatRecord", params); | ||||||
|   //校友找找列表
 |   //校友找找列表
 | ||||||
|     let AlumnSearchList = (params = {}) => vm.$u.get('app/AlumnRange/AlumnSearchList', params); |   let AlumnSearchList = (params = {}) => | ||||||
|  |     vm.$u.get("app/AlumnRange/AlumnSearchList", params); | ||||||
|   // 初始化的数据调用微信接口返回参数
 |   // 初始化的数据调用微信接口返回参数
 | ||||||
|     let GetInfoMation = (params = {}) => vm.$u.get('api/Token/GetInfoMation', params); |   let GetInfoMation = (params = {}) => | ||||||
|  |     vm.$u.get("api/Token/GetInfoMation", params); | ||||||
|   // 回复绑定
 |   // 回复绑定
 | ||||||
|     let toBind = (params = {}) => vm.$u.get('app/Chat/ReplyBind', params); |   let toBind = (params = {}) => vm.$u.get("app/Chat/ReplyBind", params); | ||||||
|   //我的资讯
 |   //我的资讯
 | ||||||
|     let MyAlumnRange = (params = {}) => vm.$u.get('app/My/MyAlumnRange', params); |   let MyAlumnRange = (params = {}) => vm.$u.get("app/My/MyAlumnRange", params); | ||||||
|   // 解除绑定
 |   // 解除绑定
 | ||||||
|     let colseBind = (params = {}) => vm.$u.get('app/Chat/UnbindReply', params); |   let colseBind = (params = {}) => vm.$u.get("app/Chat/UnbindReply", params); | ||||||
|   // 删除评论
 |   // 删除评论
 | ||||||
|     let DelateComment = (params = {}) => vm.$u.get('app/AlumnRange/DelateComment', params); |   let DelateComment = (params = {}) => | ||||||
|     let userVerify = (params = {}) => vm.$u.post('api/Token/IsIdentityCard', params) |     vm.$u.get("app/AlumnRange/DelateComment", params); | ||||||
|  |   let userVerify = (params = {}) => | ||||||
|  |     vm.$u.post("api/Token/IsIdentityCard", params); | ||||||
| 
 | 
 | ||||||
|   // 获取人脸验证token
 |   // 获取人脸验证token
 | ||||||
|     let getAPIToken = (params = {}) => vm.$u.post('app/My/GetVerifyToken', params) |   let getAPIToken = (params = {}) => | ||||||
|  |     vm.$u.post("app/My/GetVerifyToken", params); | ||||||
|   // 查询人脸核验结果
 |   // 查询人脸核验结果
 | ||||||
|     let getVerifyInfo = (params = {}) => vm.$u.post('app/My/GetDetailInfo?VerifyToken=' + params) |   let getVerifyInfo = (params = {}) => | ||||||
|  |     vm.$u.post("app/My/GetDetailInfo?VerifyToken=" + params); | ||||||
|   // 根据身份证获取信息
 |   // 根据身份证获取信息
 | ||||||
|     let getInfoByCard = (params = {}) => vm.$u.get('app/User/GetCardByPreConfiguredUser', params); |   let getInfoByCard = (params = {}) => | ||||||
|  |     vm.$u.get("app/User/GetCardByPreConfiguredUser", params); | ||||||
|   // 更新身份信息
 |   // 更新身份信息
 | ||||||
|     let updateCard = (params = {}) => vm.$u.post('api/Token/UpdateCard', params) |   let updateCard = (params = {}) => vm.$u.post("api/Token/UpdateCard", params); | ||||||
| 
 | 
 | ||||||
|   //【手机端】添加心愿
 |   //【手机端】添加心愿
 | ||||||
|     let PushWishDan = (params = {}) => vm.$u.post("app/My/PushWishDan", params) |   let PushWishDan = (params = {}) => vm.$u.post("app/My/PushWishDan", params); | ||||||
| 
 | 
 | ||||||
|   //【手机端】获取个人心愿列表
 |   //【手机端】获取个人心愿列表
 | ||||||
|     let GetWishListAsync_mobile = (params = {}) => vm.$u.get("app/My/GetWishListAsync_mobile", params) |   let GetWishListAsync_mobile = (params = {}) => | ||||||
|  |     vm.$u.get("app/My/GetWishListAsync_mobile", params); | ||||||
|   //【手机端】删除心愿 删除=失效
 |   //【手机端】删除心愿 删除=失效
 | ||||||
|     let DeleteWish = (params = {}) => vm.$u.post("app/My/DeleteWish", params) |   let DeleteWish = (params = {}) => vm.$u.post("app/My/DeleteWish", params); | ||||||
|   //【管理端】获取当前是否开启匿名 开启true 关闭false
 |   //【管理端】获取当前是否开启匿名 开启true 关闭false
 | ||||||
|     let CheckNM = (params = {}) => vm.$u.get("/app/My/CheckNM", params) |   let CheckNM = (params = {}) => vm.$u.get("/app/My/CheckNM", params); | ||||||
| 
 | 
 | ||||||
|   /** 首页ai对话 */ |   /** 首页ai对话 */ | ||||||
|   // 发送消息
 |   // 发送消息
 | ||||||
|     let SendMessageApi = (params = {}) => vm.$u.post('api/ChatAI/CreateChat', params, {showLoading: false}); |   let SendMessageApi = (params = {}) => | ||||||
|  |     vm.$u.post("api/ChatAI/CreateChat", params, { showLoading: false }); | ||||||
|   // 获取历史对话列表
 |   // 获取历史对话列表
 | ||||||
|     let GetConversationPage = (params = {}) => vm.$u.get('api/ChatAI/GetConversationPage', params); |   let GetConversationPage = (params = {}) => | ||||||
|  |     vm.$u.get("api/ChatAI/GetConversationPage", params); | ||||||
|   // 获取对话详情
 |   // 获取对话详情
 | ||||||
|     let GetConversationDetail = (params = {}) => vm.$u.get('api/ChatAI/GetHistoricalConversations', params); |   let GetConversationDetail = (params = {}) => | ||||||
|  |     vm.$u.get("api/ChatAI/GetHistoricalConversations", params); | ||||||
| 
 | 
 | ||||||
|   /** 登录 */ |   /** 登录 */ | ||||||
|   // 获取图形验证码
 |   // 获取图形验证码
 | ||||||
|     let GetCaptcha = (params = {}) => vm.$u.get('api/Login/GetCaptcha', params); |   let GetCaptcha = (params = {}) => vm.$u.get("api/Login/GetCaptcha", params); | ||||||
|     // 发送验证码
 |   // 发送验证码-学生
 | ||||||
|     let GetStuVerifyCode = (params = {}) => vm.$u.post('api/Login/GetSMSCodeAccountRegister', params); |   let GetStuVerifyCode = (params = {}) => | ||||||
|     // 学生登录
 |     vm.$u.post("api/Login/GetSMSCodeAccountRegister", params); | ||||||
|     let StuLogin = (params = {}) => vm.$u.post('api/Login/PhoneLoginExpertUser', params); |   // 登录-学生
 | ||||||
|  |   let StuLogin = (params = {}) => | ||||||
|  |     vm.$u.post("api/Login/PhoneLoginExpertUser", params); | ||||||
|  | 
 | ||||||
|  |   // 发送验证码-教师
 | ||||||
|  |   let GetTeacherVerifyCode = (params = {}) => | ||||||
|  |     vm.$u.post("api/Login/RequestLoginSMSCode", params); | ||||||
|  |   // 密码登录-教师
 | ||||||
|  |   let TeacherLogin = (params = {}) => | ||||||
|  |     vm.$u.post("api/Login/LoginManagementEnd", params); | ||||||
|  |   // 验证码登录-教师
 | ||||||
|  |   let TeacherLoginByCode = (params = {}) => | ||||||
|  |     vm.$u.post("api/Login/PhoneLoginManagementEnd", params); | ||||||
| 
 | 
 | ||||||
|   // 将各个定义的接口名称,统一放进对象挂载到vm.$u.api(因为vm就是this,也即this.$u.api)下
 |   // 将各个定义的接口名称,统一放进对象挂载到vm.$u.api(因为vm就是this,也即this.$u.api)下
 | ||||||
|   vm.$u.api = { |   vm.$u.api = { | ||||||
|     getTeacherInfo, |     getTeacherInfo, | ||||||
|     getData, |     getData, | ||||||
|     updateTeacherInfo, |     updateTeacherInfo, | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|     LoginApp, |     LoginApp, | ||||||
|     RegisterUser, |     RegisterUser, | ||||||
|     saveUserInfo, |     saveUserInfo, | ||||||
|  | @ -163,10 +208,13 @@ const install = (Vue, vm) => { | ||||||
|     GetStuVerifyCode, |     GetStuVerifyCode, | ||||||
|     StuLogin, |     StuLogin, | ||||||
|     GetConversationPage, |     GetConversationPage, | ||||||
|         GetConversationDetail |     GetConversationDetail, | ||||||
|  |     GetTeacherVerifyCode, | ||||||
|  |     TeacherLogin, | ||||||
|  |     TeacherLoginByCode, | ||||||
|  |   }; | ||||||
| }; | }; | ||||||
| } |  | ||||||
| 
 | 
 | ||||||
| export default { | export default { | ||||||
|     install |   install, | ||||||
| } | }; | ||||||
|  |  | ||||||
|  | @ -151,6 +151,7 @@ | ||||||
| <script> | <script> | ||||||
| import { generateSign } from "@/utils/signUtil.js"; | import { generateSign } from "@/utils/signUtil.js"; | ||||||
| import { getUserInfoFromJWT } from "@/utils/jwt-util"; | import { getUserInfoFromJWT } from "@/utils/jwt-util"; | ||||||
|  | import md5 from "js-md5"; | ||||||
| 
 | 
 | ||||||
| export default { | export default { | ||||||
|   data() { |   data() { | ||||||
|  | @ -166,7 +167,7 @@ export default { | ||||||
|         captchaId: "", // 图形验证码ID |         captchaId: "", // 图形验证码ID | ||||||
|       }, |       }, | ||||||
|       captchaUrl: "", // 图形验证码URL,实际使用时需替换 |       captchaUrl: "", // 图形验证码URL,实际使用时需替换 | ||||||
|       loginType: "code", // 默认验证码登录,与图片一致 |       loginType: "psd", // 教师默认密码登录 | ||||||
|       codeText: "获取验证码", |       codeText: "获取验证码", | ||||||
|       countdown: 60, |       countdown: 60, | ||||||
|       timer: null, |       timer: null, | ||||||
|  | @ -178,6 +179,11 @@ export default { | ||||||
|       }, |       }, | ||||||
|     }; |     }; | ||||||
|   }, |   }, | ||||||
|  |   onLoad(e) { | ||||||
|  |     // console.log("onLoad", e.type); // 0:学生 1:教师 | ||||||
|  |     this.isTeacher = e.type == 1; | ||||||
|  |     this.loginType = e.type == 1 ? "psd" : "code"; | ||||||
|  |   }, | ||||||
|   mounted() { |   mounted() { | ||||||
|     this.refreshCaptcha(); |     this.refreshCaptcha(); | ||||||
|   }, |   }, | ||||||
|  | @ -188,8 +194,12 @@ export default { | ||||||
|   }, |   }, | ||||||
|   methods: { |   methods: { | ||||||
|     switchLoginType(type) { |     switchLoginType(type) { | ||||||
|       this.loginType = type; |  | ||||||
|       this.clearErrors(); |       this.clearErrors(); | ||||||
|  |       this.clearLoginParams(); | ||||||
|  |       this.loginType = type; | ||||||
|  |       if (this.loginType === "code") { | ||||||
|  |         this.refreshCaptcha(); | ||||||
|  |       } | ||||||
|     }, |     }, | ||||||
| 
 | 
 | ||||||
|     // 刷新图形验证码 |     // 刷新图形验证码 | ||||||
|  | @ -224,7 +234,11 @@ export default { | ||||||
| 
 | 
 | ||||||
|       console.log("获取验证码...", params); |       console.log("获取验证码...", params); | ||||||
| 
 | 
 | ||||||
|       this.$u.api.GetStuVerifyCode(params).then((res) => { |       const apiMethod = this.isTeacher | ||||||
|  |         ? "GetTeacherVerifyCode" | ||||||
|  |         : "GetStuVerifyCode"; | ||||||
|  | 
 | ||||||
|  |       this.$u.api[apiMethod](params).then((res) => { | ||||||
|         console.log("获取验证码...", res); |         console.log("获取验证码...", res); | ||||||
|         if (res.succeed) { |         if (res.succeed) { | ||||||
|           this.$refs.uToast.show({ |           this.$refs.uToast.show({ | ||||||
|  | @ -330,6 +344,16 @@ export default { | ||||||
|         captcha: "", |         captcha: "", | ||||||
|       }; |       }; | ||||||
|     }, |     }, | ||||||
|  |     // 清除登录参数 | ||||||
|  |     clearLoginParams() { | ||||||
|  |       this.loginParams = { | ||||||
|  |         phone: "", | ||||||
|  |         password: "", | ||||||
|  |         code: "", | ||||||
|  |         captcha: "", // 图形验证码 | ||||||
|  |         captchaId: "", // 图形验证码ID | ||||||
|  |       }; | ||||||
|  |     }, | ||||||
| 
 | 
 | ||||||
|     // 登录 |     // 登录 | ||||||
|     login() { |     login() { | ||||||
|  | @ -378,25 +402,21 @@ export default { | ||||||
|       }); |       }); | ||||||
| 
 | 
 | ||||||
|       if (this.isTeacher) { |       if (this.isTeacher) { | ||||||
|         this.teacherLogin(); |         if (this.loginType === "psd") { | ||||||
|  |           this.teacherLogin(); // 密码登录 | ||||||
|         } else { |         } else { | ||||||
|         this.stuLogin(); |           this.teacherLoginByCode(); // 验证码登录 | ||||||
|  |         } | ||||||
|  |       } else { | ||||||
|  |         this.stuLogin(); // 学生登录 | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
| 
 | 
 | ||||||
|     // 学生登录 |     // 通用登录处理函数 | ||||||
|     stuLogin() { |     handleLogin(apiMethod, params, userType = 0) { | ||||||
|       // 构建登录参数 |       // console.log("登录参数:", params); | ||||||
|       const params = { |  | ||||||
|         phone: this.loginParams.phone, |  | ||||||
|         // password: this.loginParams.password, |  | ||||||
|         password: "", |  | ||||||
|         code: this.loginParams.code, |  | ||||||
|       }; |  | ||||||
| 
 | 
 | ||||||
|       console.log("登录参数:", params); |       this.$u.api[apiMethod](params).then((res) => { | ||||||
| 
 |  | ||||||
|       this.$u.api.StuLogin(params).then((res) => { |  | ||||||
|         console.log("登录结果:", res); |         console.log("登录结果:", res); | ||||||
|         if (!res.succeed) { |         if (!res.succeed) { | ||||||
|           this.$refs.uToast.show({ |           this.$refs.uToast.show({ | ||||||
|  | @ -417,20 +437,56 @@ export default { | ||||||
|         // 保存登录后得到的用户数据 |         // 保存登录后得到的用户数据 | ||||||
|         this.$u.vuex("vuex_token", token); |         this.$u.vuex("vuex_token", token); | ||||||
|         this.$u.vuex("vuex_user", userInfo); |         this.$u.vuex("vuex_user", userInfo); | ||||||
|  |         this.$u.vuex("vuex_userType", userType); // 0:学生 1:教师 | ||||||
|  | 
 | ||||||
|  |         // 保存用户类型到本地存储,用于退出登录时重定向 | ||||||
|  |         // uni.setStorageSync("userType", userType); | ||||||
| 
 | 
 | ||||||
|         // 跳转至首页 |         // 跳转至首页 | ||||||
|  |         const url = this.isTeacher | ||||||
|  |           ? "/pages/notes/index" | ||||||
|  |           : "/pages/home/index/index"; | ||||||
|         uni.reLaunch({ |         uni.reLaunch({ | ||||||
|           url: "/pages/home/index/index", |           url: url, | ||||||
|         }); |         }); | ||||||
|       }); |       }); | ||||||
|     }, |     }, | ||||||
| 
 | 
 | ||||||
|     // 教师登录 |     // 学生登录 | ||||||
|  |     stuLogin() { | ||||||
|  |       // 构建登录参数 | ||||||
|  |       const params = { | ||||||
|  |         phone: this.loginParams.phone, | ||||||
|  |         password: "", | ||||||
|  |         code: this.loginParams.code, | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       // 使用通用登录处理函数,传入学生特定的参数 | ||||||
|  |       this.handleLogin("StuLogin", params, 0); | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     // 教师密码登录 | ||||||
|     teacherLogin() { |     teacherLogin() { | ||||||
|       return; |       // 构建登录参数 | ||||||
|       this.$u.api.TeacherLogin(this.loginParams).then((res) => { |       const params = { | ||||||
|         console.log(res); |         phone: this.loginParams.phone, | ||||||
|       }); |         password: md5(this.loginParams.password), | ||||||
|  |         code: this.loginParams.code, | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       this.handleLogin("TeacherLogin", params, 1); | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     // 教师验证码登录 | ||||||
|  |     teacherLoginByCode() { | ||||||
|  |       // 构建登录参数 | ||||||
|  |       const params = { | ||||||
|  |         phone: this.loginParams.phone, | ||||||
|  |         password: "", | ||||||
|  |         code: this.loginParams.code, | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       this.handleLogin("TeacherLoginByCode", params, 1); | ||||||
|     }, |     }, | ||||||
| 
 | 
 | ||||||
|     // 手机号输入过滤 |     // 手机号输入过滤 | ||||||
|  | @ -554,7 +610,18 @@ export default { | ||||||
| 
 | 
 | ||||||
|     .form-content { |     .form-content { | ||||||
|       .form-item { |       .form-item { | ||||||
|         margin-bottom: 32rpx; |         margin-bottom: 20rpx; | ||||||
|  |         position: relative; | ||||||
|  |         padding-bottom: 40rpx; /* 为错误提示预留空间 */ | ||||||
|  | 
 | ||||||
|  |         .error-tip { | ||||||
|  |           position: absolute; | ||||||
|  |           bottom: 0; | ||||||
|  |           font-size: 24rpx; | ||||||
|  |           color: #ff6481; | ||||||
|  |           height: 40rpx; /* 固定高度 */ | ||||||
|  |           line-height: 40rpx; | ||||||
|  |         } | ||||||
| 
 | 
 | ||||||
|         .form-label { |         .form-label { | ||||||
|           display: flex; |           display: flex; | ||||||
|  | @ -628,14 +695,6 @@ export default { | ||||||
|             } |             } | ||||||
|           } |           } | ||||||
|         } |         } | ||||||
| 
 |  | ||||||
|         .error-tip { |  | ||||||
|           display: block; |  | ||||||
|           font-size: 24rpx; |  | ||||||
|           color: #ff6481; |  | ||||||
|           margin-top: 10rpx; |  | ||||||
|           padding-left: 10rpx; |  | ||||||
|         } |  | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -14,7 +14,7 @@ try { | ||||||
| 
 | 
 | ||||||
| // 需要永久存储,且下次APP启动需要取出的,在state中的变量名
 | // 需要永久存储,且下次APP启动需要取出的,在state中的变量名
 | ||||||
| // let saveStateKeys = ['vuex_user', 'vuex_token', 'vuex_msgList', 'vuex_glyType', 'vuex_userLocation','vuex_userInfo','vuex_user_hobby'];
 | // let saveStateKeys = ['vuex_user', 'vuex_token', 'vuex_msgList', 'vuex_glyType', 'vuex_userLocation','vuex_userInfo','vuex_user_hobby'];
 | ||||||
| let saveStateKeys = ['vuex_user', 'vuex_token']; | let saveStateKeys = ['vuex_user', 'vuex_token', 'vuex_userType']; | ||||||
| 
 | 
 | ||||||
| // 保存变量到本地存储中
 | // 保存变量到本地存储中
 | ||||||
| const saveLifeData = function (key, value) { | const saveLifeData = function (key, value) { | ||||||
|  | @ -34,6 +34,7 @@ const store = new Vuex.Store({ | ||||||
|         vuex_teacherInfo: lifeData.vuex_teacherInfo ? lifeData.vuex_teacherInfo : '', |         vuex_teacherInfo: lifeData.vuex_teacherInfo ? lifeData.vuex_teacherInfo : '', | ||||||
|         // 如果上面从本地获取的lifeData对象下有对应的属性,就赋值给state中对应的变量
 |         // 如果上面从本地获取的lifeData对象下有对应的属性,就赋值给state中对应的变量
 | ||||||
|         // 加上vuex_前缀,是防止变量名冲突,也让人一目了然
 |         // 加上vuex_前缀,是防止变量名冲突,也让人一目了然
 | ||||||
|  |         vuex_userType: lifeData.vuex_userType ? lifeData.vuex_userType : 0, // 0:学生 1:教师
 | ||||||
|         vuex_user: lifeData.vuex_user ? lifeData.vuex_user : '', |         vuex_user: lifeData.vuex_user ? lifeData.vuex_user : '', | ||||||
|         vuex_token: lifeData.vuex_token ? lifeData.vuex_token : '', |         vuex_token: lifeData.vuex_token ? lifeData.vuex_token : '', | ||||||
|         vuex_glyType: lifeData.vuex_glyType ? lifeData.vuex_glyType : '', |         vuex_glyType: lifeData.vuex_glyType ? lifeData.vuex_glyType : '', | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue