123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298 |
- <template>
- <view class="blank-page">
- <van-empty v-if="noAuth" image="error" :description="noAuthDesc" />
- </view>
- </template>
- <script>
- import { getPlatformEnv } from "@/utils";
- import zlbConfig from "@/common/js/zlbConfig";
- import { getSsoUserInfo ,getSsoUserInfoUnity} from "@/api/user";
- import { storageUserInfo } from "@/utils/index";
- import Track from "@/common/js/track";
- import Vconsole from "vconsole";
- import dd from "gdt-jsapi";
- import {exemption, ZzdLogin, ZzdLogin1} from "@/api/system";
- import zlbApi from "@/api/zlbApi";
- const app = getApp();
- export default {
- name: "blank",
- components: {},
- props: {},
- data() {
- return {
- noAuth:true,
- noAuthDesc:'请使用浙政钉扫码登录'
- };
- },
- onUnload() {
- this.noAuth = false
- this.noAuthDesc = ""
- },
- onShow() {
- 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 handleLogin(){
- const res = await dd.getAuthCode({
- corpId: '50329019'
- })
- sessionStorage.setItem('accountId', res.accountId);
- if(res) {
- try{
- const exemptionRes = await exemption({
- code: res.code
- })
- if(exemptionRes.code === 0) {
- console.log('用户信息',exemptionRes.data)
- storageUserInfo({
- ...exemptionRes.data.userInfo,
- nickName: exemptionRes.data.userInfo.realName,
- avatarUrl: exemptionRes.data.userInfo.headPicture,
- phoneNumber: exemptionRes.data.userInfo.phoneWx,
- phoneWx: exemptionRes.data.userInfo.phoneWx,
- username: exemptionRes.data.userInfo.username,
- openId: exemptionRes.data.userInfo.id,
- uuid: exemptionRes.data.userInfo.id,
- });
- app.globalData.openid = exemptionRes.data.userInfo.id;
- uni.reLaunch({
- url: "/pages/digitalDoorIndex/index",
- });
- }else {
- this.$toast('获取用户信息失败')
- this.noAuth = true
- this.noAuthDesc = exemptionRes.msg
- }
- }catch (e) {
- this.noAuth = true
- this.noAuthDesc = "当前用户暂无权限"
- console.log('error',e)
- }
- }
- }
- },
- };
- </script>
- <style scoped></style>
|