fix: fix display error

This commit is contained in:
Wzp-2008 2023-05-02 23:20:59 +08:00
parent 35a3ab3b6b
commit 21195036f5
7 changed files with 23 additions and 20 deletions

View File

@ -20,8 +20,6 @@ export interface IPermission {
}
export interface IAccountInfo {
id: string
role: {
info: IPermission[]
}
info: IPermission[]
roleName: string
}

View File

@ -68,6 +68,9 @@ export const asyncRoutes: RouteRecordRaw[] = [
path: "/user",
component: Layout,
redirect: "/user",
meta: {
roles: ["admin"]
},
children: [
{
path: "user",
@ -102,6 +105,9 @@ export const asyncRoutes: RouteRecordRaw[] = [
path: "/commission",
component: Layout,
redirect: "/commission",
meta: {
roles: ["admin"]
},
children: [
{
path: "commission",
@ -123,7 +129,7 @@ export const asyncRoutes: RouteRecordRaw[] = [
meta: {
title: "订单",
elIcon: "Files",
roles: ["admin"],
roles: ["show:order", "change:order"],
alwaysShow: true
},
children: [

View File

@ -15,7 +15,7 @@ router.beforeEach(async (to, _from, next) => {
const userStore = useUserStoreHook()
const permissionStore = usePermissionStoreHook()
// 判断该用户是否登录
if (getToken() && getToken() !== -1) {
if (getToken() && getToken() !== "null") {
if (to.path === "/login") {
// 如果已经登录,并准备进入 Login 页面,则重定向到主页
next({ path: "/" })

View File

@ -13,7 +13,7 @@ import { getUserInfoApi } from "@/api/users"
export const useUserStore = defineStore("user", () => {
/** Token即用户id */
const token = ref<number>(getToken() || -1)
const token = ref<string>(getToken() || "null")
const roles = ref<string[]>([])
const username = ref<string>("")
@ -30,7 +30,7 @@ export const useUserStore = defineStore("user", () => {
loginApi(loginData)
.then((res) => {
if (res.status == 202) {
setToken(res.data.data.id)
setToken("null1")
resolve(res.data.data)
return
}
@ -47,10 +47,11 @@ export const useUserStore = defineStore("user", () => {
getUserInfoApi()
.then((res) => {
const data = res.data
setToken(data.data.id)
username.value = data.data.roleName
// 验证返回的 roles 是否是一个非空数组
if (data.data.role.info && data.data.role.info.length > 0) {
for (const iPermission of data.data.role.info) {
if (data.data.info && data.data.info.length > 0) {
for (const iPermission of data.data.info) {
roles.value.push(iPermission.permissionCode)
}
} else {
@ -78,7 +79,7 @@ export const useUserStore = defineStore("user", () => {
/** 登出 */
const logout = () => {
removeToken()
token.value = -1
token.value = "null"
roles.value = []
resetRouter()
_resetTagsView()
@ -86,7 +87,7 @@ export const useUserStore = defineStore("user", () => {
/** 重置 Token */
const resetToken = () => {
removeToken()
token.value = -1
token.value = "null"
roles.value = []
}
/** 重置 visited views 和 cached views */

View File

@ -3,14 +3,11 @@
import CacheKey from "@/constants/cacheKey"
import Cookies from "js-cookie"
export const getToken = (): number | undefined => {
const tokenString = Cookies.get(CacheKey.TOKEN)
if (tokenString) {
return Number.parseInt(tokenString)
}
export const getToken = (): string | undefined => {
return Cookies.get(CacheKey.TOKEN)
}
export const setToken = (token: number) => {
Cookies.set(CacheKey.TOKEN, token.toString())
export const setToken = (token: string) => {
Cookies.set(CacheKey.TOKEN, token)
}
export const removeToken = () => {
Cookies.remove(CacheKey.TOKEN)

View File

@ -60,9 +60,10 @@ const onVerifySuccess = (_: number) => {
router.push({ path: "/" })
ElMessage.success("登录成功!")
})
.catch(() => {
.catch((err) => {
loginForm.password = ""
ElMessage.error("登录失败,用户名或密码错误")
console.log(err)
})
.finally(() => {
loading.value = false

View File

@ -18,7 +18,7 @@
<el-table-column fixed="right" label="操作">
<template #default="scope">
<el-button
v-if="getToken() !== scope.row.id"
v-if="Number.parseInt(getToken() as string) !== scope.row.id"
link
type="primary"
size="small"