|
@@ -1,5 +1,5 @@
|
|
|
<template>
|
|
|
- <view class="blank-page"> 空白页</view>
|
|
|
+ <view class="blank-page"></view>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
@@ -10,7 +10,8 @@ import { storageUserInfo } from "@/utils/index";
|
|
|
import Track from "@/common/js/track";
|
|
|
import Vconsole from "vconsole";
|
|
|
import dd from "gdt-jsapi";
|
|
|
-import {ZzdLogin} from "@/api/system";
|
|
|
+import {exemption, ZzdLogin, ZzdLogin1} from "@/api/system";
|
|
|
+import zlbApi from "@/api/zlbApi";
|
|
|
const app = getApp();
|
|
|
export default {
|
|
|
name: "blank",
|
|
@@ -23,222 +24,222 @@ export default {
|
|
|
this.handleLogin()
|
|
|
},
|
|
|
methods: {
|
|
|
- async getNewSsoUserInfo(ticket) {
|
|
|
- const res = await getSsoUserInfoUnity({ ticketId: ticket });
|
|
|
- const userInfo = res.data;
|
|
|
- storageUserInfo({
|
|
|
- nickName: userInfo.name,
|
|
|
- avatarUrl: userInfo.headPicture,
|
|
|
- phoneNumber: userInfo.phoneWx,
|
|
|
- phoneWx: userInfo.phoneWx,
|
|
|
- username: userInfo.name,
|
|
|
- openId: userInfo.userIdZlb,
|
|
|
- uuid: userInfo.uuid,
|
|
|
- });
|
|
|
- app.globalData.openid = userInfo.uuid;
|
|
|
- // 开始埋点上报
|
|
|
- this.startTrack();
|
|
|
- if (app.globalData.options.code) {
|
|
|
- uni.switchTab({
|
|
|
- url: "/pages/home/home",
|
|
|
- });
|
|
|
- } else {
|
|
|
- if (
|
|
|
- userInfo.doorplateCount
|
|
|
- ) {
|
|
|
- uni.switchTab({
|
|
|
- url: "/pages/home/home",
|
|
|
- });
|
|
|
- } else {
|
|
|
- uni.reLaunch({
|
|
|
- url: "/subPages/pages/scanCode/scanCode",
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- resolveParams(){
|
|
|
- const params = this.getQuery(window.location.search);
|
|
|
- if (params.qjw_debug) {
|
|
|
- localStorage.setItem("debug", "true");
|
|
|
- new Vconsole();
|
|
|
- } else {
|
|
|
- localStorage.setItem("debug", "false");
|
|
|
- }
|
|
|
- if (params.sp) {
|
|
|
- console.error("sp", params.sp);
|
|
|
- const spParams = this.getQuery(decodeURIComponent(params.sp));
|
|
|
- console.error("spParams", spParams);
|
|
|
- app.globalData.options = {
|
|
|
- code: spParams.code,
|
|
|
- };
|
|
|
- }
|
|
|
- //门牌code直接在链接上的话,说明从微信小程序过来
|
|
|
- if (params.code) {
|
|
|
- console.log("应该为微信环境,链接地址:", window.location.href);
|
|
|
- console.error("code:", params.code);
|
|
|
- app.globalData.options = {
|
|
|
- code: params.code,
|
|
|
- };
|
|
|
- }
|
|
|
- },
|
|
|
- async unityLogin() {
|
|
|
- this.resolveParams()
|
|
|
- if (ZWJSBridge.ssoTicket) {
|
|
|
- const ssoFlag = await ZWJSBridge.ssoTicket({});
|
|
|
- if (ssoFlag && ssoFlag.result === true) {
|
|
|
- //使用 IRS“浙里办”统一单点登录组件
|
|
|
- if (ssoFlag.ticketId) {
|
|
|
- // TODO 应用方服务端单点登录接口
|
|
|
- app.globalData.isLogin = true;
|
|
|
- this.getNewSsoUserInfo(ssoFlag.ticketId);
|
|
|
- } else {
|
|
|
- //当“浙里办”单点登录失败或登录态失效时调用 ZWJSBridge.openLink 方法重新获取ticketId。
|
|
|
- this.login()
|
|
|
- }
|
|
|
- } else {
|
|
|
- console.log('当前环境不支持 “浙里办”统一单点登录 ')
|
|
|
- this.login()
|
|
|
- }
|
|
|
- } else {
|
|
|
- console.log('ZWJSBridge 加载异常')
|
|
|
- //异常情况:ZWJSBridge 加载异常
|
|
|
- }
|
|
|
- },
|
|
|
- ssoLogin() {
|
|
|
- const platformEnv = getPlatformEnv();
|
|
|
- const params = this.getQuery(window.location.search);
|
|
|
- let ssoUrl = "";
|
|
|
- // 登录
|
|
|
- if (platformEnv.bIsAlipayMini) {
|
|
|
- console.log("支付宝环境单点登录");
|
|
|
- ssoUrl = zlbConfig.alipaySsoUrl;
|
|
|
- } else if (platformEnv.bIsDtDreamApp) {
|
|
|
- console.log("浙里办环境单点登录");
|
|
|
- ssoUrl = zlbConfig.zlbSsoUrl;
|
|
|
- } else {
|
|
|
- //为了h5测试
|
|
|
- ssoUrl = zlbConfig.zlbSsoUrl;
|
|
|
- }
|
|
|
- if (params.code) {
|
|
|
- ssoUrl += `&goto=${window.location.href.split("#")[0]}`;
|
|
|
- }
|
|
|
- console.log(ssoUrl);
|
|
|
- window.location.replace(ssoUrl);
|
|
|
- },
|
|
|
- login() {
|
|
|
- console.log("应用所处地址", window.location.href);
|
|
|
- console.log("useragent", window.navigator.userAgent.toLowerCase());
|
|
|
- const platformEnv = getPlatformEnv();
|
|
|
- const params = this.getQuery(window.location.search);
|
|
|
- if (params.qjw_debug) {
|
|
|
- localStorage.setItem("debug", "true");
|
|
|
- } else {
|
|
|
- localStorage.setItem("debug", "false");
|
|
|
- }
|
|
|
- if (!params.ticket && !platformEnv.bIsWxMini) {
|
|
|
- this.ssoLogin();
|
|
|
- } else {
|
|
|
- app.globalData.isLogin = true;
|
|
|
- console.log(
|
|
|
- "登录成功后回调地址和参数解析:",
|
|
|
- window.location.href,
|
|
|
- params
|
|
|
- );
|
|
|
- // 跳转回来的参数解析
|
|
|
- if (params.sp) {
|
|
|
- console.error("sp", params.sp);
|
|
|
- const spParams = this.getQuery(decodeURIComponent(params.sp));
|
|
|
- console.error("spParams", spParams);
|
|
|
- app.globalData.options = {
|
|
|
- code: spParams.code,
|
|
|
- };
|
|
|
- }
|
|
|
- //门牌code直接在链接上的话,说明从微信小程序过来
|
|
|
- if (params.code) {
|
|
|
- console.log("应该为微信环境,链接地址:", window.location.href);
|
|
|
- console.error("code:", params.code);
|
|
|
- app.globalData.options = {
|
|
|
- code: params.code,
|
|
|
- };
|
|
|
- }
|
|
|
- let ticket = "";
|
|
|
- //浙里办微信是获取ticketId
|
|
|
- if (platformEnv.bIsWxMini) {
|
|
|
- ticket = params.ticketId;
|
|
|
- } else {
|
|
|
- ticket = params.ticket;
|
|
|
- }
|
|
|
- console.log("获取的ticket", ticket);
|
|
|
- this.getSsoUserInfo(ticket);
|
|
|
- }
|
|
|
- },
|
|
|
- async getSsoUserInfo(ticket) {
|
|
|
- let res = "";
|
|
|
- try {
|
|
|
- res = await getSsoUserInfo({ ticketId: ticket });
|
|
|
- } catch (err) {
|
|
|
- uni.setStorageSync("testErr", err);
|
|
|
- if (uni.getStorageSync("errNum")) {
|
|
|
- let errNum = Number(uni.getStorageSync("errNum"));
|
|
|
- if (errNum + 1 < 3) {
|
|
|
- uni.setStorageSync("errNum", errNum + 1);
|
|
|
- } else {
|
|
|
- uni.removeStorageSync("errNum");
|
|
|
- return;
|
|
|
- }
|
|
|
- } else {
|
|
|
- uni.setStorageSync("errNum", 1);
|
|
|
- }
|
|
|
- this.ssoLogin();
|
|
|
- }
|
|
|
- const userInfo = res.data;
|
|
|
- // console.log("单点登录后用户信息", userInfo);
|
|
|
- storageUserInfo({
|
|
|
- nickName: userInfo.name,
|
|
|
- avatarUrl: userInfo.headPicture,
|
|
|
- phoneNumber: userInfo.phoneWx,
|
|
|
- phoneWx: userInfo.phoneWx,
|
|
|
- username: userInfo.name,
|
|
|
- openId: userInfo.userIdZlb,
|
|
|
- uuid: userInfo.uuid,
|
|
|
- });
|
|
|
- app.globalData.openid = userInfo.uuid;
|
|
|
-
|
|
|
- // 开始埋点上报
|
|
|
- this.startTrack();
|
|
|
- history.pushState(null, null, document.URL);
|
|
|
- uni.removeStorageSync("errNum");
|
|
|
- if (app.globalData.options.code) {
|
|
|
- uni.switchTab({
|
|
|
- url: "/pages/home/home",
|
|
|
- });
|
|
|
- } else {
|
|
|
- if (
|
|
|
- userInfo.doorplateCount
|
|
|
- ) {
|
|
|
- uni.switchTab({
|
|
|
- url: "/pages/home/home",
|
|
|
- });
|
|
|
- } else {
|
|
|
- uni.reLaunch({
|
|
|
- url: "/subPages/pages/scanCode/scanCode",
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- startTrack() {
|
|
|
- app.globalData.trackIns = new Track();
|
|
|
- },
|
|
|
- getQuery(url) {
|
|
|
- const str = url.substr(url.indexOf("?") + 1);
|
|
|
- const arr = str.split("&");
|
|
|
- const result = {};
|
|
|
- for (let i = 0; i < arr.length; i++) {
|
|
|
- const item = arr[i].split("=");
|
|
|
- result[item[0]] = item[1];
|
|
|
- }
|
|
|
- return result;
|
|
|
- },
|
|
|
+// async getNewSsoUserInfo(ticket) {
|
|
|
+// const res = await getSsoUserInfoUnity({ ticketId: ticket });
|
|
|
+// const userInfo = res.data;
|
|
|
+// storageUserInfo({
|
|
|
+// nickName: userInfo.name,
|
|
|
+// avatarUrl: userInfo.headPicture,
|
|
|
+// phoneNumber: userInfo.phoneWx,
|
|
|
+// phoneWx: userInfo.phoneWx,
|
|
|
+// username: userInfo.name,
|
|
|
+// openId: userInfo.userIdZlb,
|
|
|
+// uuid: userInfo.uuid,
|
|
|
+// });
|
|
|
+// app.globalData.openid = userInfo.uuid;
|
|
|
+// // 开始埋点上报
|
|
|
+// this.startTrack();
|
|
|
+// if (app.globalData.options.code) {
|
|
|
+// uni.switchTab({
|
|
|
+// url: "/pages/home/home",
|
|
|
+// });
|
|
|
+// } else {
|
|
|
+// if (
|
|
|
+// userInfo.doorplateCount
|
|
|
+// ) {
|
|
|
+// uni.switchTab({
|
|
|
+// url: "/pages/home/home",
|
|
|
+// });
|
|
|
+// } else {
|
|
|
+// uni.reLaunch({
|
|
|
+// url: "/subPages/pages/scanCode/scanCode",
|
|
|
+// });
|
|
|
+// }
|
|
|
+// }
|
|
|
+// },
|
|
|
+// resolveParams(){
|
|
|
+// const params = this.getQuery(window.location.search);
|
|
|
+// if (params.qjw_debug) {
|
|
|
+// localStorage.setItem("debug", "true");
|
|
|
+// new Vconsole();
|
|
|
+// } else {
|
|
|
+// localStorage.setItem("debug", "false");
|
|
|
+// }
|
|
|
+// if (params.sp) {
|
|
|
+// console.error("sp", params.sp);
|
|
|
+// const spParams = this.getQuery(decodeURIComponent(params.sp));
|
|
|
+// console.error("spParams", spParams);
|
|
|
+// app.globalData.options = {
|
|
|
+// code: spParams.code,
|
|
|
+// };
|
|
|
+// }
|
|
|
+// //门牌code直接在链接上的话,说明从微信小程序过来
|
|
|
+// if (params.code) {
|
|
|
+// console.log("应该为微信环境,链接地址:", window.location.href);
|
|
|
+// console.error("code:", params.code);
|
|
|
+// app.globalData.options = {
|
|
|
+// code: params.code,
|
|
|
+// };
|
|
|
+// }
|
|
|
+// },
|
|
|
+// async unityLogin() {
|
|
|
+// this.resolveParams()
|
|
|
+// if (ZWJSBridge.ssoTicket) {
|
|
|
+// const ssoFlag = await ZWJSBridge.ssoTicket({});
|
|
|
+// if (ssoFlag && ssoFlag.result === true) {
|
|
|
+// //使用 IRS“浙里办”统一单点登录组件
|
|
|
+// if (ssoFlag.ticketId) {
|
|
|
+// // TODO 应用方服务端单点登录接口
|
|
|
+// app.globalData.isLogin = true;
|
|
|
+// this.getNewSsoUserInfo(ssoFlag.ticketId);
|
|
|
+// } else {
|
|
|
+// //当“浙里办”单点登录失败或登录态失效时调用 ZWJSBridge.openLink 方法重新获取ticketId。
|
|
|
+// this.login()
|
|
|
+// }
|
|
|
+// } else {
|
|
|
+// console.log('当前环境不支持 “浙里办”统一单点登录 ')
|
|
|
+// this.login()
|
|
|
+// }
|
|
|
+// } else {
|
|
|
+// console.log('ZWJSBridge 加载异常')
|
|
|
+// //异常情况:ZWJSBridge 加载异常
|
|
|
+// }
|
|
|
+// },
|
|
|
+// ssoLogin() {
|
|
|
+// const platformEnv = getPlatformEnv();
|
|
|
+// const params = this.getQuery(window.location.search);
|
|
|
+// let ssoUrl = "";
|
|
|
+// // 登录
|
|
|
+// if (platformEnv.bIsAlipayMini) {
|
|
|
+// console.log("支付宝环境单点登录");
|
|
|
+// ssoUrl = zlbConfig.alipaySsoUrl;
|
|
|
+// } else if (platformEnv.bIsDtDreamApp) {
|
|
|
+// console.log("浙里办环境单点登录");
|
|
|
+// ssoUrl = zlbConfig.zlbSsoUrl;
|
|
|
+// } else {
|
|
|
+// //为了h5测试
|
|
|
+// ssoUrl = zlbConfig.zlbSsoUrl;
|
|
|
+// }
|
|
|
+// if (params.code) {
|
|
|
+// ssoUrl += `&goto=${window.location.href.split("#")[0]}`;
|
|
|
+// }
|
|
|
+// console.log(ssoUrl);
|
|
|
+// window.location.replace(ssoUrl);
|
|
|
+// },
|
|
|
+// login() {
|
|
|
+// console.log("应用所处地址", window.location.href);
|
|
|
+// console.log("useragent", window.navigator.userAgent.toLowerCase());
|
|
|
+// const platformEnv = getPlatformEnv();
|
|
|
+// const params = this.getQuery(window.location.search);
|
|
|
+// if (params.qjw_debug) {
|
|
|
+// localStorage.setItem("debug", "true");
|
|
|
+// } else {
|
|
|
+// localStorage.setItem("debug", "false");
|
|
|
+// }
|
|
|
+// if (!params.ticket && !platformEnv.bIsWxMini) {
|
|
|
+// this.ssoLogin();
|
|
|
+// } else {
|
|
|
+// app.globalData.isLogin = true;
|
|
|
+// console.log(
|
|
|
+// "登录成功后回调地址和参数解析:",
|
|
|
+// window.location.href,
|
|
|
+// params
|
|
|
+// );
|
|
|
+// // 跳转回来的参数解析
|
|
|
+// if (params.sp) {
|
|
|
+// console.error("sp", params.sp);
|
|
|
+// const spParams = this.getQuery(decodeURIComponent(params.sp));
|
|
|
+// console.error("spParams", spParams);
|
|
|
+// app.globalData.options = {
|
|
|
+// code: spParams.code,
|
|
|
+// };
|
|
|
+// }
|
|
|
+// //门牌code直接在链接上的话,说明从微信小程序过来
|
|
|
+// if (params.code) {
|
|
|
+// console.log("应该为微信环境,链接地址:", window.location.href);
|
|
|
+// console.error("code:", params.code);
|
|
|
+// app.globalData.options = {
|
|
|
+// code: params.code,
|
|
|
+// };
|
|
|
+// }
|
|
|
+// let ticket = "";
|
|
|
+// //浙里办微信是获取ticketId
|
|
|
+// if (platformEnv.bIsWxMini) {
|
|
|
+// ticket = params.ticketId;
|
|
|
+// } else {
|
|
|
+// ticket = params.ticket;
|
|
|
+// }
|
|
|
+// console.log("获取的ticket", ticket);
|
|
|
+// this.getSsoUserInfo(ticket);
|
|
|
+// }
|
|
|
+// },
|
|
|
+// async getSsoUserInfo(ticket) {
|
|
|
+// let res = "";
|
|
|
+// try {
|
|
|
+// res = await getSsoUserInfo({ ticketId: ticket });
|
|
|
+// } catch (err) {
|
|
|
+// uni.setStorageSync("testErr", err);
|
|
|
+// if (uni.getStorageSync("errNum")) {
|
|
|
+// let errNum = Number(uni.getStorageSync("errNum"));
|
|
|
+// if (errNum + 1 < 3) {
|
|
|
+// uni.setStorageSync("errNum", errNum + 1);
|
|
|
+// } else {
|
|
|
+// uni.removeStorageSync("errNum");
|
|
|
+// return;
|
|
|
+// }
|
|
|
+// } else {
|
|
|
+// uni.setStorageSync("errNum", 1);
|
|
|
+// }
|
|
|
+// this.ssoLogin();
|
|
|
+// }
|
|
|
+// const userInfo = res.data;
|
|
|
+// // console.log("单点登录后用户信息", userInfo);
|
|
|
+// storageUserInfo({
|
|
|
+// nickName: userInfo.name,
|
|
|
+// avatarUrl: userInfo.headPicture,
|
|
|
+// phoneNumber: userInfo.phoneWx,
|
|
|
+// phoneWx: userInfo.phoneWx,
|
|
|
+// username: userInfo.name,
|
|
|
+// openId: userInfo.userIdZlb,
|
|
|
+// uuid: userInfo.uuid,
|
|
|
+// });
|
|
|
+// app.globalData.openid = userInfo.uuid;
|
|
|
+//
|
|
|
+// // 开始埋点上报
|
|
|
+// this.startTrack();
|
|
|
+// history.pushState(null, null, document.URL);
|
|
|
+// uni.removeStorageSync("errNum");
|
|
|
+// if (app.globalData.options.code) {
|
|
|
+// uni.switchTab({
|
|
|
+// url: "/pages/home/home",
|
|
|
+// });
|
|
|
+// } else {
|
|
|
+// if (
|
|
|
+// userInfo.doorplateCount
|
|
|
+// ) {
|
|
|
+// uni.switchTab({
|
|
|
+// url: "/pages/home/home",
|
|
|
+// });
|
|
|
+// } else {
|
|
|
+// uni.reLaunch({
|
|
|
+// url: "/subPages/pages/scanCode/scanCode",
|
|
|
+// });
|
|
|
+// }
|
|
|
+// }
|
|
|
+// },
|
|
|
+// startTrack() {
|
|
|
+// app.globalData.trackIns = new Track();
|
|
|
+// },
|
|
|
+// getQuery(url) {
|
|
|
+// const str = url.substr(url.indexOf("?") + 1);
|
|
|
+// const arr = str.split("&");
|
|
|
+// const result = {};
|
|
|
+// for (let i = 0; i < arr.length; i++) {
|
|
|
+// const item = arr[i].split("=");
|
|
|
+// result[item[0]] = item[1];
|
|
|
+// }
|
|
|
+// return result;
|
|
|
+// },
|
|
|
|
|
|
|
|
|
/* 获取用户信息,免登 */
|
|
@@ -246,11 +247,34 @@ export default {
|
|
|
const res = await dd.getAuthCode({
|
|
|
corpId: '50329019'
|
|
|
})
|
|
|
+ console.log("免登",res)
|
|
|
if(res) {
|
|
|
- const loginRes = await ZzdLogin({
|
|
|
- code: res.code
|
|
|
- })
|
|
|
- console.log('loginRes',loginRes)
|
|
|
+ try{
|
|
|
+ const exemptionRes = await exemption({
|
|
|
+ code: res.code
|
|
|
+ })
|
|
|
+ console.log('exemption',res)
|
|
|
+ if(exemptionRes.success) {
|
|
|
+ const userInfo = exemptionRes.userInfo
|
|
|
+ storageUserInfo({
|
|
|
+ nickName: userInfo.realName,
|
|
|
+ avatarUrl: userInfo.headUrl,
|
|
|
+ phoneNumber: userInfo.mobile,
|
|
|
+ phoneWx: userInfo.mobile,
|
|
|
+ username: userInfo.username,
|
|
|
+ uuid: userInfo.id,
|
|
|
+ });
|
|
|
+ app.globalData.openid = userInfo.id;
|
|
|
+ uni.reLaunch({
|
|
|
+ url: "/subPages/pages/scanCode/scanCode",
|
|
|
+ });
|
|
|
+ }else {
|
|
|
+ this.$toast('获取用户信息失败')
|
|
|
+ }
|
|
|
+ }catch (e) {
|
|
|
+ this.$toast('获取用户信息失败')
|
|
|
+ console.log('error',e)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
},
|