Browse Source

单点退出问题

YaolongHan 4 years ago
parent
commit
3049cd8afb
4 changed files with 57 additions and 43 deletions
  1. 19 24
      public/index.html
  2. 1 3
      src/main.ts
  3. 5 0
      src/router/index.js
  4. 32 16
      src/store/index.js

File diff suppressed because it is too large
+ 19 - 24
public/index.html


+ 1 - 3
src/main.ts

@@ -3,7 +3,7 @@ import router from './router'
 import store from './store'
 import App from './App.vue'
 Vue.config.productionTip = false
-
+import {query} from "./utils/query.js"
 import design from 'ant-design-vue'
 import 'ant-design-vue/dist/antd.css'
 Vue.use(design)
@@ -55,8 +55,6 @@ document.addEventListener('readystatechange',()=>{
         IndexLoading.remove(indexLoading)
     }
 }) */
-
-
 new Vue({
     router,
     store,

+ 5 - 0
src/router/index.js

@@ -95,6 +95,11 @@ router.beforeEach(async (to, from, next) => {
         localStorage.setItem('PLAZAID', plazaId)
         store.commit('STOREPLAZAID', plazaId);
     }
+    let previewUrl = to.query.isPreview ? to.query.isPreview : '';
+    if (previewUrl) {
+        sessionStorage.setItem("SETISPREVIEW", previewUrl)
+        store.commit('SETISPREVIEW', previewUrl)
+    }
     // 取出刷新时的 ssoToken, 路由拦截时app.vue 生命周期还没有执行,store中还没有数据,
     let beforeunload = localStorage.getItem("beforeunload"),
         __token = null

+ 32 - 16
src/store/index.js

@@ -1,14 +1,20 @@
 import Vue from 'vue'
 import Vuex from 'vuex'
-import { login, queryFloor, queryfmapID } from '@/api/login.js'
-import { queryBrand } from '@/api/public.js'
+import {
+    login,
+    queryFloor,
+    queryfmapID
+} from '@/api/login.js'
+import {
+    queryBrand
+} from '@/api/public.js'
 import axios from 'axios'
 import router from '../router'
 
 Vue.use(Vuex)
 export default new Vuex.Store({
     state: {
-        ssoToken: 'admin:liulin34',
+        ssoToken: 'admin:liujiandong',
         // ssoToken: '',
         // ssoToken: null,
         plazaName: "",
@@ -177,10 +183,12 @@ export default new Vuex.Store({
     },
     actions: {
         // 获取项目列表、userId
-        async getUserInfo({ commit }, palyload) {
+        async getUserInfo({
+            commit
+        }, palyload) {
             await login({
-                returnTree: true,
-            })
+                    returnTree: true,
+                })
                 .then((res) => {
                     // 获取用户当前权限
                     console.log(res.result)
@@ -190,6 +198,8 @@ export default new Vuex.Store({
                         let level = res.level
                         console.log('window.opener', window.opener)
                         if (window.opener && window.opener.__fromGroupPage) {
+                            console.log('window.openerxxx', window.opener)
+                            commit('SETAUTHMSG', level)
                             let data = window.opener.__fromGroupPage
                             level = data.level
                             commit('SETPLAZENAME', data.plazaName)
@@ -199,7 +209,8 @@ export default new Vuex.Store({
                                 path: './home/homepage',
                             })
                         } else {
-                            if (level === 0) {
+                            console.log('window.openerxxx', window.opener, level)
+                            if (level == 0) {
                                 if (res.treeData[0].ccode) {
                                     localStorage.setItem('PLAZAID', res.treeData[0].ccode)
                                     commit('STOREPLAZAID', res.treeData[0].ccode)
@@ -227,17 +238,22 @@ export default new Vuex.Store({
                     }
                 })
                 .catch((err) => {
-                    console.log('getuserfo catch', err)
-                    // router.push({
-                    //     path: '/404',
-                    // })
-                    // commit('SETISREQUESTtAUTH', err)
+                    console.log('getuserfo catch', this.getters.accessLevel);
+                    // 由于跨域做的判断
+                    if (this.getters.accessLevel == 0) {
+                        router.push({
+                            path: './home/homepage',
+                        })
+                    }
+
                 })
         },
-        async getUserInfoNoPath({ commit }, palyload) {
+        async getUserInfoNoPath({
+            commit
+        }, palyload) {
             await login({
-                returnTree: true,
-            })
+                    returnTree: true,
+                })
                 .then((res) => {
                     if (res.result === 'success') {
                         // commit('STOREACCESSLEVEL', res.level)
@@ -292,4 +308,4 @@ export default new Vuex.Store({
         },
     },
     modules: {},
-})
+})