UNPKG

w-vue-middle

Version:

统一公共服务组件

140 lines (130 loc) 3.75 kB
/* * @Author: Jason Liu * @Date: 2022-03-10 10:38:00 * @Desc: */ const $appService = require("../api/appService"); const { getUserInfo } = require("w-vue-middle/api/appService"); const { encrypt } = require("./encryp.js"); /** * @Author: Jason Liu * @description:前往子系统 */ export function nextApp(vue) { let params = $storage.queryURLparams(); let defaultUrl = $service.defaultPage; let url = params.referUrl || defaultUrl; if (params.auth && params.referUrl) { url = `${decodeURIComponent(params.referUrl)}`; if (url.indexOf("?") > -1) { url += `&ticket=${$storage.get( "PORTAL_JTI" )}&token=${$storage.getToken()}`; } else { url += `?ticket=${$storage.get( "PORTAL_JTI" )}&token=${$storage.getToken()}`; } // window.location.href = url; window.location.replace(url); } else { vue.$router.push(decodeURIComponent(url)); } } export const nextPage = (to, from, next) => { if ($storage.getToken()) { next(); } else if (top != window) { //TODO:子应用嵌入登录方式 } else { next({ name: "login", query: { referUrl: to.path } }); //goLogin(); } }; /** * @Author: Jason Liu * @description: 获取当前系统的分析页面 */ export function getThisUrl() { return encodeURIComponent(window.location.href); } // /** // * @Author: Jason Liu // * @description: 验证用户信息 // */ // export function AuthenticateUser() { // let params = $storage.queryURLparams(); // if (window != top) { // $appService // .login({ // orgId: params.h || window.appService.buttUser.h, // password: encrypt(params.p || window.appService.buttUser.p), // userId: params.u || window.appService.buttUser.u // }) // .then(req => { // return true; // }); // } else if (params.token) { // $storage.set("tokey", "portal"); // $storage.set("PORTAL_JTI", params.ticket); // $storage.set("Bearer", params.token); // let isReload = false; // if (!$storage.get("STSTEM_INFO")) { // isReload = true; // } // $appService.getUserMenus(params.token).then(req => { // if (isReload) { // window.location.reload(); // } // }); // $appService.getUserInfo(); // } else if ($storage.getToken()) { // $appService.getUserInfo(); // return true; // } // } /** * @Author: Jason Liu * @description: 验证用户信息 */ export function AuthenticateUser() { return new Promise((resolve, reject) => { let params = $storage.queryURLparams(); if (window != top) { let token = $storage.getToken(); if (!token) { $userservice .login({ orgId: params.h || window.appService.buttUser.h, password: window.$encrypt(params.p || window.appService.buttUser.p), userId: params.u || window.appService.buttUser.u }) .then(req => { resolve(true); }); } else { resolve(true); } } else if (params.token) { $storage.set("tokey", "portal"); $storage.set("PORTAL_JTI", params.ticket); $storage.set("Bearer", params.token); $storage.set("portalurl", params.portalurl); //首页地址 $storage.set("authfailurl", params.authfailurl); //用户登录地址 return getUserInfo().finally(() => { resolve(true); }); } else if ($storage.getToken()) { return getUserInfo().finally(() => { resolve(true); }); } else { resolve(true); } }); }