refactor: 不同角色登陆之后跳转不同页面
This commit is contained in:
parent
51ede31c44
commit
ed20ffc24a
|
@ -8,7 +8,7 @@
|
|||
@select="handleSelect"
|
||||
:key="menuKey"
|
||||
router>
|
||||
<el-menu-item index="/workstation" onselectstart="return false"
|
||||
<el-menu-item index="/workstation" onselectstart="return false"
|
||||
v-permission="['PROJECT_API_DEFINITION:READ','PROJECT_API_SCENARIO:READ','PROJECT_API_REPORT:READ']">
|
||||
{{ $t('commons.my_workstation') }}
|
||||
</el-menu-item>
|
||||
|
@ -32,10 +32,12 @@
|
|||
|
||||
<el-menu-item index="/project" onselectstart="return false"
|
||||
v-permission="['PROJECT_USER:READ', 'PROJECT_ENVIRONMENT:READ', 'PROJECT_OPERATING_LOG:READ', 'PROJECT_FILE:READ+JAR', 'PROJECT_FILE:READ+FILE', 'PROJECT_CUSTOM_CODE:READ']">
|
||||
{{$t('commons.project_setting')}}
|
||||
{{ $t('commons.project_setting') }}
|
||||
</el-menu-item>
|
||||
|
||||
<el-menu-item index="/setting" onselectstart="return false">
|
||||
<el-menu-item index="/setting" onselectstart="return false"
|
||||
v-permission="['SYSTEM_USER:READ', 'SYSTEM_WORKSPACE:READ', 'SYSTEM_GROUP:READ', 'SYSTEM_TEST_POOL:READ', 'SYSTEM_SETTING:READ', 'SYSTEM_AUTH:READ', 'SYSTEM_QUOTA:READ','SYSTEM_OPERATING_LOG:READ',
|
||||
'WORKSPACE_SERVICE:READ', 'WORKSPACE_MESSAGE:READ', 'WORKSPACE_USER:READ', 'WORKSPACE_PROJECT_MANAGER:READ', 'WORKSPACE_PROJECT_ENVIRONMENT:READ', 'WORKSPACE_OPERATING_LOG:READ', 'WORKSPACE_TEMPLATE:READ']">
|
||||
{{ $t('commons.system_setting') }}
|
||||
</el-menu-item>
|
||||
</el-menu>
|
||||
|
@ -43,7 +45,6 @@
|
|||
|
||||
<script>
|
||||
import {LicenseKey} from '@/common/js/constants';
|
||||
import {mapGetters} from "vuex";
|
||||
import {hasLicense} from "@/common/js/utils";
|
||||
import {MODULE_CHANGE, ModuleEvent} from "@/business/components/common/head/ListEvent";
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ import Performance from "@/business/components/performance/router";
|
|||
import Track from "@/business/components/track/router";
|
||||
import ReportStatistics from "@/business/components/reportstatistics/router";
|
||||
import Project from "@/business/components/project/router";
|
||||
import {getCurrentUserId} from "@/common/js/utils";
|
||||
import {getCurrentUserId, hasPermissions} from "@/common/js/utils";
|
||||
|
||||
// const requireContext = require.context('@/business/components/xpack/', true, /router\.js$/);
|
||||
// const Report = requireContext.keys().map(key => requireContext(key).report);
|
||||
|
@ -16,7 +16,6 @@ Vue.use(VueRouter);
|
|||
const requireContext = require.context('@/business/components/xpack/', true, /router\.js$/);
|
||||
const router = new VueRouter({
|
||||
routes: [
|
||||
{path: "/", redirect: '/setting/personsetting'},
|
||||
{
|
||||
path: "/sidebar",
|
||||
components: {
|
||||
|
@ -62,15 +61,22 @@ function redirectLoginPath(originPath) {
|
|||
let redirectUrl = sessionStorage.getItem('redirectUrl');
|
||||
let loginSuccess = sessionStorage.getItem('loginSuccess');
|
||||
sessionStorage.setItem('redirectUrl', originPath);
|
||||
// 换一个用户登录同一个浏览器,跳转到 /
|
||||
if (getCurrentUserId() !== sessionStorage.getItem('lastUser')) {
|
||||
sessionStorage.setItem('lastUser', getCurrentUserId());
|
||||
redirectUrl = '/';
|
||||
if (hasPermissions('PROJECT_USER:READ', 'PROJECT_ENVIRONMENT:READ', 'PROJECT_OPERATING_LOG:READ', 'PROJECT_FILE:READ+JAR', 'PROJECT_FILE:READ+FILE', 'PROJECT_CUSTOM_CODE:READ')) {
|
||||
redirectUrl = '/project/home';
|
||||
} else if (hasPermissions('WORKSPACE_SERVICE:READ', 'WORKSPACE_MESSAGE:READ', 'WORKSPACE_USER:READ', 'WORKSPACE_PROJECT_MANAGER:READ', 'WORKSPACE_PROJECT_ENVIRONMENT:READ', 'WORKSPACE_OPERATING_LOG:READ', 'WORKSPACE_TEMPLATE:READ')) {
|
||||
redirectUrl = '/setting';
|
||||
} else if (hasPermissions('SYSTEM_USER:READ', 'SYSTEM_WORKSPACE:READ', 'SYSTEM_GROUP:READ', 'SYSTEM_TEST_POOL:READ', 'SYSTEM_SETTING:READ', 'SYSTEM_AUTH:READ', 'SYSTEM_QUOTA:READ', 'SYSTEM_OPERATING_LOG:READ')) {
|
||||
redirectUrl = '/setting';
|
||||
} else {
|
||||
redirectUrl = '/';
|
||||
}
|
||||
}
|
||||
if (redirectUrl && loginSuccess) {
|
||||
sessionStorage.removeItem('loginSuccess');
|
||||
router.push(redirectUrl);
|
||||
}
|
||||
sessionStorage.setItem('lastUser', getCurrentUserId());
|
||||
sessionStorage.removeItem('loginSuccess');
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue