From e38c14de9637d22d0a35ae06bede82dcf31b64ec Mon Sep 17 00:00:00 2001 From: YM <479443481@qq.com> Date: 星期二, 10 九月 2024 16:52:58 +0800 Subject: [PATCH] 1 --- assets/js/login.js | 218 ++++++++++++++++++++++++++++++------------------------ 1 files changed, 122 insertions(+), 96 deletions(-) diff --git a/assets/js/login.js b/assets/js/login.js index 8c5c2c5..338b850 100644 --- a/assets/js/login.js +++ b/assets/js/login.js @@ -1,103 +1,129 @@ -import { setSessionGuid } from "./userAction" - +import { + setSessionGuid +} from "./userAction" +const app = getApp(); 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) - } - }) -} + if (app.config.appId == 27) { + wx.navigateTo({ + url: "/pages/testLogin/index", + }); + } else { + 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() + //鐧诲綍璁板綍绉垎 + app.MG.app.creatUserBehavior({ + refCode: "sign" + }) + } 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') + 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') + let emailInfo = res.secretList.find((item) => item.type == 'EMail') + 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, + Email: emailInfo ? emailInfo.credential : JSON.parse(teacherInfos.data).email, + } + } 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 + } - 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); - }); + wx.setStorageSync(app.config.userInfoKey, JSON.stringify(defaultUser)); + } + callback(token); + }); } \ No newline at end of file -- Gitblit v1.9.1