From 4b5f1f7ed3460df9465e5071a59b8105cbc9146e Mon Sep 17 00:00:00 2001
From: litian <C21AF165>
Date: 星期五, 29 三月 2024 14:35:30 +0800
Subject: [PATCH] 修改

---
 assets/js/login.js |  203 +++++++++++++++++++++++++++-----------------------
 1 files changed, 108 insertions(+), 95 deletions(-)

diff --git a/assets/js/login.js b/assets/js/login.js
index 8c5c2c5..1ddfc12 100644
--- a/assets/js/login.js
+++ b/assets/js/login.js
@@ -1,103 +1,116 @@
-import { setSessionGuid } from "./userAction"
+import {
+  setSessionGuid
+} from "./userAction"
 
 
 export const loginInfo = (app, callback) => {
-	wx.login({
-		success: (res) => {
-			wx.getUserInfo({
-				success: (infoRes) => {
-					app.MG.identity.checkWeChatAppAccount({
-						code: res.code,
-						appCode: app.config.appRefCode,
-						encryptedData: infoRes.encryptedData,
-						iv: infoRes.iv
-					}).then(loginRes => {
-						if (!loginRes) {
-							const pages = getCurrentPages();
-							const currentPage = pages[pages.length - 1];
-							let url = `/${currentPage.route}`;
-							if (Object.keys(currentPage.options).length) {
-								let option = "";
-								for (const key in currentPage.options) {
-									if (currentPage.options[key]) {
-										if (option) {
-											option += "&"
-										}
-										option += key + "=" + currentPage.options[key]
-									}
-								}
-								url += "?" + option
-							}
-							debugger
-							console.log(url);
-							wx.navigateTo({
-								url: "/pages/bindInfo/index?page=" + encodeURIComponent(url),
-							});
-						} else {
-							wx.login({
-								success: (res) => {
-									app.MG.identity.loginByWeChatAppCode({
-										code: res.code,
-										appRefCode: app.config.appRefCode,
-										platform: "WeChatAppCustom",
-										encryptedData: infoRes.encryptedData,
-										iv: infoRes.iv
-									}).then(res => {
-										if (res && res.status == "Ok") {
-											// 鍌ㄥ瓨token
-											wx.setStorageSync(app.config.tokenKey, res.token);
-											// 璁板綍鐧诲綍缁熻
-											setSessionGuid()
-											// 鑾峰彇鐢ㄦ埛淇℃伅
-											getUserInfo(app, callback, res.token)
-										} else {
-											console.log(res);
-											callback(false)
-										}
-									})
-								},
-								fail: (err) => {
-									console.log(err);
-									callback(false)
-								}
-							})
-						}
-					})
-				},
-				fail: (err) => {
-					console.log(err);
-					callback(false)
-				}
-			})
-		},
-		fail: (err) => {
-			console.log(err);
-			callback(false)
-		}
-	})
+  wx.login({
+    success: (res) => {
+      wx.getUserInfo({
+        success: (infoRes) => {
+          app.MG.identity.checkWeChatAppAccount({
+            code: res.code,
+            appCode: app.config.appRefCode,
+            encryptedData: infoRes.encryptedData,
+            iv: infoRes.iv
+          }).then(loginRes => {
+            if (!loginRes) {
+              const pages = getCurrentPages();
+              const currentPage = pages[pages.length - 1];
+              let url = `/${currentPage.route}`;
+              if (Object.keys(currentPage.options).length) {
+                let option = "";
+                for (const key in currentPage.options) {
+                  if (currentPage.options[key]) {
+                    if (option) {
+                      option += "&"
+                    }
+                    option += key + "=" + currentPage.options[key]
+                  }
+                }
+                url += "?" + option
+              }
+              console.log(url);
+              wx.navigateTo({
+                url: "/pages/bindInfo/index?page=" + encodeURIComponent(url),
+              });
+            } else {
+              wx.login({
+                success: (res) => {
+                  app.MG.identity.loginByWeChatAppCode({
+                    code: res.code,
+                    appRefCode: app.config.appRefCode,
+                    platform: "WeChatAppCustom",
+                    encryptedData: infoRes.encryptedData,
+                    iv: infoRes.iv
+                  }).then(res => {
+                    if (res && res.status == "Ok") {
+                      // 鍌ㄥ瓨token
+                      wx.setStorageSync(app.config.tokenKey, res.token);
+                      // 鑾峰彇鐢ㄦ埛淇℃伅
+                      getUserInfo(app, callback, res.token)
+                      // 璁板綍鐧诲綍缁熻
+                      setSessionGuid()
+                    } else {
+                      console.log(res);
+                      callback(false)
+                    }
+                  })
+                },
+                fail: (err) => {
+                  console.log(err);
+                  callback(false)
+                }
+              })
+            }
+          })
+        },
+        fail: (err) => {
+          console.log(err);
+          callback(false)
+        }
+      })
+    },
+    fail: (err) => {
+      console.log(err);
+      callback(false)
+    }
+  })
 }
 
 // 鑾峰彇鐧诲綍鐢ㄦ埛韬唤
 const getUserInfo = (app, callback, token) => {
-	app.MG.identity.getCurrentAppUser().then(res => {
-		// 鐢ㄦ埛淇℃伅浼樺厛绾э細鏁欏笀璁よ瘉 > 寰俊 > 瀛︾敓锛堟敞鍐屾椂榛樿锛�
-		if (res) {
-			let defaultUser = {};
-			let WeChatInfo = res.infoList.find((item) => item.type === "WeChat");
-			let phoneNumber = res.secretList.find(i => i.type == 'MobilePhone')
-
-			if (WeChatInfo) {
-				defaultUser = {
-					nickName: WeChatInfo.name,
-					avatarUrl: WeChatInfo.icon,
-					weChatId: WeChatInfo.id
-				}
-			}
-			if (phoneNumber) {
-				defaultUser.phoneNumber = phoneNumber.credential
-			}
-			wx.setStorageSync(app.config.userInfoKey, JSON.stringify(defaultUser));
-		}
-		callback(token);
-	});
+  app.MG.identity.getCurrentAppUser().then(res => {
+    // 鐢ㄦ埛淇℃伅浼樺厛绾э細鏁欏笀璁よ瘉 > 寰俊 > 瀛︾敓锛堟敞鍐屾椂榛樿锛�
+    if (res) {
+      let defaultUser = {};
+      let nickNameData = res.infoList.find((item) => item.type == 'nickName')
+      let WeChatInfo = res.infoList.find((item) => item.type === "WeChat");
+      let teacherRole = res.roleLinks.find((item) => item.role.refCode == 'teacher')
+      let teacherInfos = res.infoList.find((item) => item.type == 'teacherInfo')
+      let phoneNumber = res.secretList.find(i => i.type == 'MobilePhone')
+      if (teacherRole && teacherInfos) {
+        defaultUser = {
+          ...teacherInfos,
+          nickName: nickNameData && JSON.parse(nickNameData.data).nickName ? JSON.parse(nickNameData.data).nickName : WeChatInfo.name,
+          icon: nickNameData && JSON.parse(nickNameData.data).icon ? JSON.parse(nickNameData.data).icon : WeChatInfo.icon,
+          userId: res.userId,
+          role: 'Teacher',
+          roleId: teacherRole.role.id,
+        }
+      } else if (WeChatInfo) {
+        defaultUser = {
+          nickName: nickNameData && JSON.parse(nickNameData.data).nickName ? JSON.parse(nickNameData.data).nickName : WeChatInfo.name,
+          icon: nickNameData && JSON.parse(nickNameData.data).icon ? JSON.parse(nickNameData.data).icon : WeChatInfo.icon,
+          weChatId: WeChatInfo.id,
+          userId: res.userId,
+        }
+      }
+      if (phoneNumber) {
+        defaultUser.phoneNumber = phoneNumber.credential
+      }
+      wx.setStorageSync(app.config.userInfoKey, JSON.stringify(defaultUser));
+    }
+    callback(token);
+  });
 }
\ No newline at end of file

--
Gitblit v1.9.1