From 8b6b5a54e8b281041cef2503ed171d2d95cf3f1d Mon Sep 17 00:00:00 2001 From: cKey <35512826+colinin@users.noreply.github.com> Date: Wed, 28 Apr 2021 11:02:19 +0800 Subject: [PATCH] router before each initiates abp configuration --- vueJs/src/permission.ts | 6 +++++- vueJs/src/store/modules/abp.ts | 6 +----- vueJs/src/store/modules/permission.ts | 4 ++-- vueJs/src/store/modules/user.ts | 2 -- vueJs/vue.config.js | 6 +++--- 5 files changed, 11 insertions(+), 13 deletions(-) diff --git a/vueJs/src/permission.ts b/vueJs/src/permission.ts index 4a9fa97e2..1aafeb385 100644 --- a/vueJs/src/permission.ts +++ b/vueJs/src/permission.ts @@ -3,6 +3,7 @@ import NProgress from 'nprogress' import 'nprogress/nprogress.css' import { Message } from 'element-ui' import { Route } from 'vue-router' +import { AbpModule } from '@/store/modules/abp' import { UserModule } from '@/store/modules/user' import { PermissionModule } from '@/store/modules/permission' import i18n from '@/lang' // Internationalization @@ -31,11 +32,14 @@ router.beforeEach(async(to: Route, _: Route, next: any) => { next({ path: '/' }) NProgress.done() } else { + // 如果用户已登录,重新获取框架信息 + if (!AbpModule.configuration?.currentUser?.id) { + await AbpModule.Initialize() + } // Check whether the user has obtained his permission roles if (PermissionModule.authorizedPermissions.length === 0) { try { await PermissionModule.GenerateRoutes() - console.log(PermissionModule.dynamicRoutes) // Dynamically add accessible routes router.addRoutes(PermissionModule.dynamicRoutes) // Hack: ensure addRoutes is complete diff --git a/vueJs/src/store/modules/abp.ts b/vueJs/src/store/modules/abp.ts index 3038735bc..241bc8285 100644 --- a/vueJs/src/store/modules/abp.ts +++ b/vueJs/src/store/modules/abp.ts @@ -35,11 +35,7 @@ class AbpConfiguration extends VuexModule implements IAbpState { .then(config => { this.SET_ABPCONFIGURATION(config) this.SET_ABPLOCALIZER(config) - if (config.currentUser?.id) { - this.context.dispatch('setCurrentUserInfo', config.currentUser) - } else { - this.context.dispatch('setCurrentUserInfo', new CurrentUser()) - } + this.context.dispatch('setCurrentUserInfo', config.currentUser ?? new CurrentUser()) return resolve(config) }) .catch(error => { diff --git a/vueJs/src/store/modules/permission.ts b/vueJs/src/store/modules/permission.ts index 71c05abf3..c1307b1f8 100644 --- a/vueJs/src/store/modules/permission.ts +++ b/vueJs/src/store/modules/permission.ts @@ -92,7 +92,7 @@ class Permission extends VuexModule implements IPermissionState { } @Action - public async GetPermissions() { + public async RefreshPermissions() { const authPermissions = new Array() const grantedPolicies = AbpModule.configuration.auth.grantedPolicies if (grantedPolicies) { @@ -112,7 +112,7 @@ class Permission extends VuexModule implements IPermissionState { @Action public async GenerateRoutes() { - await this.GetPermissions() // 保留授权 + await this.RefreshPermissions() // 保留授权 // 没必要再针对admin角色授权,改成全部后台授权 // if (this.authorizedPermissions.includes('admin')) { // accessedRoutes = asyncRoutes diff --git a/vueJs/src/store/modules/user.ts b/vueJs/src/store/modules/user.ts index 393c79600..abc35d491 100644 --- a/vueJs/src/store/modules/user.ts +++ b/vueJs/src/store/modules/user.ts @@ -74,7 +74,6 @@ class User extends VuexModule implements IUserState { const token = result.token_type + ' ' + result.access_token this.SET_TOKEN(token) this.SET_REFRESHTOKEN(result.refresh_token) - this.context.dispatch('Initialize') return resolve(result) }) .catch(error => { @@ -95,7 +94,6 @@ class User extends VuexModule implements IUserState { const token = result.token_type + ' ' + result.access_token this.SET_TOKEN(token) this.SET_REFRESHTOKEN(result.refresh_token) - this.context.dispatch('Initialize') return resolve(result) }) .catch(error => { diff --git a/vueJs/vue.config.js b/vueJs/vue.config.js index 259460c63..8dfe632dd 100644 --- a/vueJs/vue.config.js +++ b/vueJs/vue.config.js @@ -24,7 +24,7 @@ module.exports = { // detail: https://cli.vuejs.org/config/#devserver-proxy [process.env.VUE_APP_BASE_IDENTITY_SERVER]: { // IdentityServer4 address - target: 'http://localhost:44385', + target: 'http://10.21.15.28:44385', changeOrigin: true, pathRewrite: { ['^' + process.env.VUE_APP_BASE_IDENTITY_SERVER]: '' @@ -32,7 +32,7 @@ module.exports = { }, [process.env.VUE_APP_SIGNALR_SERVER]: { // api gateway address websocket protocol - target: 'ws://localhost:30000', + target: 'ws://10.21.15.28:30000', changeOrigin: true, pathRewrite: { ['^' + process.env.VUE_APP_SIGNALR_SERVER]: '' @@ -41,7 +41,7 @@ module.exports = { }, [process.env.VUE_APP_BASE_API]: { // api gateway address - target: 'http://localhost:30000', + target: 'http://10.21.15.28:30000', changeOrigin: true, pathRewrite: { ['^' + process.env.VUE_APP_BASE_API]: ''