zhulizhen 5 anos atrás
pai
commit
91fffa18b2
3 arquivos alterados com 34 adições e 19 exclusões
  1. 10 1
      config/index.js
  2. 23 3
      src/router/index.js
  3. 1 15
      src/store/index.js

+ 10 - 1
config/index.js

@@ -10,7 +10,16 @@ module.exports = {
     // Paths
     assetsSubDirectory: 'static',
     assetsPublicPath: '/',
-    proxyTable: {},
+    proxyTable: {
+      '/info-mng-backend': {
+        target:"http://mng.sagacloud.cn",//设备设施代理
+        // target: "http://58.251.20.250:8080",
+        changeOrigin: true,
+        pathRewrite: {
+          '^/info-mng-backend': '/' // 这里理解成用‘/api’代替target里面的地址,后面组件中我们掉接口时直接用api代替 比如我要调用'http://40.00.100.100:3002/user/add',直接写‘/api/user/add’即可
+        }
+      }
+  },
 
     // Various Dev Server settings
     host: 'localhost', // can be overwritten by process.env.HOST

+ 23 - 3
src/router/index.js

@@ -9,12 +9,12 @@ const DoBusiness = () => import('@/views/doBusiness/index')
 const Evaluate = () => import('@/views/evaluate/index')
 const EvTwoLevelMenu = () => import('@/views/evaluate/evTwoLevelMenu')
 
-
-
+import store from '../store'
+import {query} from '../utils/query'
 
 Vue.use(Router)
 
-export default new Router({
+const router = new Router({
   mode: 'history',
   routes: [
     {
@@ -60,3 +60,23 @@ export default new Router({
     }
   ]
 })
+router.beforeEach(async (to, from, next) => {
+  const token = query().token || sessionStorage.getItem('token')
+  if (store.state.token && Object.keys(store.state.userInfo).length > 0) {
+    next()
+  } else if (token){
+    store.commit('setSsoToken', token)
+    await store.dispatch('loadUserInfo', {token})
+    // 去除浏览器地址栏token
+    if (query().token) {
+     router.replace(location.pathname + location.search.replace(/(&?token=\w+&?)/, ''))
+    }
+    next()
+  } else {
+    let ssoServer = 'http://sso.sagacloud.cn'
+    let redirectUrl = window.location.protocol + '//' + window.location.host +'/strategy'
+    window.location.href = `${ssoServer}/login?redirectUrl=${redirectUrl}`
+  }
+})
+
+export default router

+ 1 - 15
src/store/index.js

@@ -1,11 +1,5 @@
 import Vue from 'vue'
 import Vuex from 'vuex'
-import { store as firstPage } from '../modules/firstPage'
-import { store as sacilitiedAndStaff } from '../modules/facilitiesAndStaff'
-import { store as environment } from '../modules/environment'
-import { store as safety } from '../modules/safety'
-import { store as energyConsumption } from '../modules/energyConsumption'
-import { store as performance } from '../modules/performance'
 import storage from '../utils/storage'
 import axios from 'axios'
 
@@ -13,6 +7,7 @@ Vue.use(Vuex)
 const KEY_LAST_ROUTE = 'last_route'
 
 const store = new Vuex.Store({
+  modules:{},
   state: {
     name: '这里是全局的',
     projects: [
@@ -70,20 +65,11 @@ const store = new Vuex.Store({
           sessionStorage.setItem('token', token)
         } else {
           let ssoServer = 'http://sso.sagacloud.cn'
-          // let redirectUrl = 'http://47.94.89.44:8011/home/main'
           let redirectUrl = window.location.protocol + '//' + window.location.host +'/home/main'
           window.location.href = `${ssoServer}/login?redirectUrl=${redirectUrl}`
         }
     }
   },
-  modules: {
-    firstPage,
-    sacilitiedAndStaff,
-    environment,
-    safety,
-    energyConsumption,
-    performance
-  }
 })
 
 export default store