Commit d87495b3 authored by chenqikuai's avatar chenqikuai

管理员退出登录还是到管理员登录页

parent 1908ef99
...@@ -64,37 +64,43 @@ const router = new VueRouter({ ...@@ -64,37 +64,43 @@ const router = new VueRouter({
}) })
router.beforeEach((to, from, next) => { router.beforeEach((to, from, next) => {
// console.log({ from, to }) console.log({ from, to })
const usermsg = getUserMsg() const usermsg = getUserMsg()
if (usermsg === undefined) { if (usermsg === undefined) {
/* 没有登录 */ /* 没有登录 */
if (to.name == 'adminLogin' || to.name == 'login') { if (to.name == 'adminLogin' || to.name == 'login') {
console.log(1)
next() next()
} else { } else {
console.log(2)
next({ next({
name: 'login', name: 'login',
}) })
} }
} else { } else {
console.log(3)
/* 有登录 */ /* 有登录 */
const roles = (to.meta as { roles?: eRole[] }).roles const roles = (to.meta as { roles?: eRole[] }).roles
const oldRole = getOldRoleFromUserMsg(usermsg) const oldRole = getOldRoleFromUserMsg(usermsg)
// console.log(oldRole, roles, oldRole && roles && roles.includes(oldRole)) // console.log(oldRole, roles, oldRole && roles && roles.includes(oldRole))
const userHasRoleInCurPage = oldRole !== undefined && roles !== undefined && roles.includes(oldRole) const userHasRoleInCurPage =
oldRole !== undefined && roles !== undefined && roles.includes(oldRole)
if (userHasRoleInCurPage) { if (userHasRoleInCurPage) {
// console.log(1) console.log(4)
next() next()
} else { } else {
if (oldRole == eRole.platform_management) { if (oldRole == eRole.platform_management) {
// console.log(2) if (getUserMsg()?.phone) {
if(getUserMsg()?.phone){ console.log(5)
next({ name: 'platformUserManagement' }) next({ name: 'platformUserManagement' })
}else{ } else {
next({name:'changePhone'}) console.log(6)
next({ name: 'changePhone' })
} }
} else { } else {
// console.log(3) console.log(7)
next({ name: 'home' }) next({ name: 'home' })
} }
} }
......
...@@ -6,6 +6,7 @@ import axios, { ...@@ -6,6 +6,7 @@ import axios, {
} from 'axios' } from 'axios'
import { message, Modal } from 'ant-design-vue' import { message, Modal } from 'ant-design-vue'
import router from '@/router' import router from '@/router'
import RouterUtil from '@/utils/router'
const baseAxios = axios.create({ const baseAxios = axios.create({
baseURL: '/proxyApi/api/v1', baseURL: '/proxyApi/api/v1',
...@@ -16,8 +17,9 @@ baseAxios.interceptors.response.use( ...@@ -16,8 +17,9 @@ baseAxios.interceptors.response.use(
const ret = value.data const ret = value.data
if (ret.code !== undefined && ret.code !== 200) { if (ret.code !== undefined && ret.code !== 200) {
if ([504, 503].includes(ret.code)) { if ([504, 503].includes(ret.code)) {
const role = getUserMsg()?.newRole
window.localStorage.clear() window.localStorage.clear()
router.push('/login') RouterUtil.getInstance().gotoLogin(role)
// deleteUserMsg(); // deleteUserMsg();
} }
message.error(ret.msg) message.error(ret.msg)
......
import router from '@/router'
import { eNewRoleRelatedToBackEnd, eRole } from '@/types/role'
export default class RouterUtil {
static instance: RouterUtil
static getInstance() {
if (!RouterUtil.instance) {
RouterUtil.instance = new RouterUtil()
}
return RouterUtil.instance
}
gotoLogin(role: eNewRoleRelatedToBackEnd | undefined) {
if (role === eNewRoleRelatedToBackEnd.PlatformAdmin) {
router.push({
name: 'adminLogin',
})
} else {
router.push({
name: 'login',
})
}
}
}
...@@ -105,6 +105,7 @@ import { FormModel, Modal } from "ant-design-vue"; ...@@ -105,6 +105,7 @@ import { FormModel, Modal } from "ant-design-vue";
import { phoneValid } from "./const"; import { phoneValid } from "./const";
import UserService from "@/service/UserManagementService"; import UserService from "@/service/UserManagementService";
import { deleteUserMsg, getUserMsg, setUserMsg } from "@/utils/userMsg/userMsg"; import { deleteUserMsg, getUserMsg, setUserMsg } from "@/utils/userMsg/userMsg";
import RouterUtil from "@/utils/router";
export default Vue.extend({ export default Vue.extend({
components: { CodeInput }, components: { CodeInput },
props: { props: {
...@@ -232,7 +233,9 @@ export default Vue.extend({ ...@@ -232,7 +233,9 @@ export default Vue.extend({
title: "手机号修改成功", title: "手机号修改成功",
content: "请重新登陆", content: "请重新登陆",
onOk() { onOk() {
that.$router.push({ name: "login" }); const role = getUserMsg()?.newRole
window.localStorage.clear()
RouterUtil.getInstance().gotoLogin(role)
}, },
}); });
} else { } else {
......
...@@ -61,6 +61,7 @@ import codeInput from "@/components/CodeInput/index.vue"; ...@@ -61,6 +61,7 @@ import codeInput from "@/components/CodeInput/index.vue";
import UserService from "@/service/UserManagementService"; import UserService from "@/service/UserManagementService";
import { deleteUserMsg, getUserMsg } from "@/utils/userMsg/userMsg"; import { deleteUserMsg, getUserMsg } from "@/utils/userMsg/userMsg";
import { Modal } from "ant-design-vue" import { Modal } from "ant-design-vue"
import RouterUtil from "@/utils/router";
export default Vue.extend({ export default Vue.extend({
components: { codeInput }, components: { codeInput },
...@@ -148,7 +149,9 @@ export default Vue.extend({ ...@@ -148,7 +149,9 @@ export default Vue.extend({
title: "密码修改成功", title: "密码修改成功",
content: "请重新登陆", content: "请重新登陆",
onOk() { onOk() {
that.$router.push({ name: "login" }); const role = getUserMsg()?.newRole
window.localStorage.clear()
RouterUtil.getInstance().gotoLogin(role)
}, },
}); });
} else { } else {
......
...@@ -81,6 +81,7 @@ import { Fragment } from "vue-fragment"; ...@@ -81,6 +81,7 @@ import { Fragment } from "vue-fragment";
import { getUserMsg } from "@/utils/userMsg/userMsg"; import { getUserMsg } from "@/utils/userMsg/userMsg";
import { getOldRoleFromUserMsg } from "@/utils/user"; import { getOldRoleFromUserMsg } from "@/utils/user";
import UserService from '@/service/UserManagementService' import UserService from '@/service/UserManagementService'
import RouterUtil from "@/utils/router";
Vue.use(Menu); Vue.use(Menu);
Vue.use(Icon); Vue.use(Icon);
...@@ -151,8 +152,9 @@ export default Vue.extend({ ...@@ -151,8 +152,9 @@ export default Vue.extend({
logout() { logout() {
userService.logout().then(res => { userService.logout().then(res => {
if (res.code === 200) { if (res.code === 200) {
const role = getUserMsg()?.newRole
window.localStorage.clear() window.localStorage.clear()
this.$router.push('/login') RouterUtil.getInstance().gotoLogin(role)
} }
}) })
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment