123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- import modules from './modules'
- import Vue from 'vue'
- import Router from '@/plugin/uni-simple-router/index.js'
- import { ACCESS_TOKEN } from '@/common/util/constants.js'
- import configService from '@/common/service/config.service.js'
- import api from "@/api/api";
- import { SKIP_SSO_URL_QUERY, locationUrl, openSso, getUrlParam } from './sso.js'
- Vue.use(Router)
- const router = new Router({
- encodeURI: true,
- routes: [...modules]
- });
- const whiteList = ['/pages/login/login']
- router.beforeEach((to, from, next) => {
- let token = uni.getStorageSync(ACCESS_TOKEN);
-
- console.log("-----to---------------------"+JSON.stringify(token))
- if (token) {
- next()
- } else {
-
-
- const ticket = getUrlParam('ticket');
- console.log("-----ticket---------------------"+ticket)
- if (ticket != null && ticket != '') {
-
- let redirect = false;
-
- if (!token) {
- if (ticket) {
- try {
- new Promise((resolve, reject) => {
- api
- .validateCasLogin({
- ticket: ""+ticket,
- service: "http://localhost:8080/",
- })
- .then((response) => {
- if (response.data.code == 200) {
- uni.setStorageSync(ACCESS_TOKEN, response.data.result.token);
- redirect = true;
- } else {
- reject(response);
- }
- })
- .catch((error) => {
- console.log("catch===>response", response);
- reject(error);
- });
- });
- } catch (e) {
- redirect = true;
-
-
-
-
-
-
-
- }
- } else {
- if (window.location.search == '?type=noCas') {
- } else {
- redirect = true;
- uni.navigateTo({
- url: 'https://id.shendong.com.cn/default' + '/login?service=' + encodeURIComponent(locationUrl())
- });
-
-
-
-
-
-
-
- }
- }
- }
-
- let redirectSso = redirect;
-
- if (redirectSso) return;
- } else if (whiteList.indexOf(to.path) !== -1) {
- next()
- } else {
- next({ path: '/pages/login/login' })
- }
- }
- })
- router.afterEach((to, from) => {
- console.log("afterEach")
- })
- export default router;
|