2 Commits 38fa795ffd ... 4d1e6d556b

Author SHA1 Message Date
  lsc 4d1e6d556b Merge branch 'master' of https://git.cocorobo.cn/chao/course_resource 1 month ago
  lsc e1524896a6 fix: 新增账号绑定校验逻辑,防止重复绑定与姓名不匹配 1 month ago
1 changed files with 27 additions and 4 deletions
  1. 27 4
      src/App.vue

+ 27 - 4
src/App.vue

@@ -52,11 +52,27 @@ onMounted(() => {
             name.value = r.data.data.userName
             let isBjt = localStorage.getItem('isBjt')
             let userid = localStorage.getItem('userid')
+            let username = localStorage.getItem('username')
             if(isBjt == 1){
-              localStorage.removeItem('isBjt')
-              localStorage.removeItem('userid')
-              setEduid(userid, r.data.data.eduId)
-              setStateUserinfo(userid)
+              if(r.data.data.userName != username){
+                top.U.alert("与绑定用户的姓名不符,请重新登录!");
+                linkLogin()
+                return
+              }
+              checkEduid(r.data.data.eduId).then(res3 => {
+                console.log(data2);
+                if(res3 && res3.value && res3.value.length && res3.value[0].length){
+                  top.U.alert("该用户已绑定其他账号,请重新登录!");
+                  linkLogin()
+                  return
+                }else {
+                  localStorage.removeItem('isBjt')
+                  localStorage.removeItem('userid')
+                  localStorage.removeItem('username')
+                  setEduid(userid, r.data.data.eduId)
+                  setStateUserinfo(userid)
+                }
+              })
             }
             else{
               userInfo(r.data.data)
@@ -200,6 +216,7 @@ const userInfo2 = (data) => {
         setStateUserinfo(d.data[0][0].userid)
       }else {
         localStorage.setItem('userid', userinfo.userid)
+        localStorage.setItem('username', userinfo.name)
         localStorage.setItem('isBjt', 1)
         linkLogin()
       }
@@ -326,6 +343,12 @@ const setEduid = async (userid, eduId) => {
   console.log(res);
 }
 
+const checkEduid = async (eduId) => {
+  const res = await axios.get(`https://pbl.cocorobo.cn/api/pbl/checkEduid?eduid=${eduId}`);
+  console.log(res);
+  return res
+}
+
 
 
 const getUrlParam = (urlStr, urlKey) => {