fix:修复板块权限
This commit is contained in:
@@ -75,7 +75,7 @@ import useConfigStore from "@/stores/config";
|
||||
import useAuths from "@/hooks/useAuths";
|
||||
import { Session } from "@/utils/storage";
|
||||
|
||||
const { getToken } = useAuths();
|
||||
const { getToken, clearStorage } = useAuths();
|
||||
const configStore = useConfigStore();
|
||||
const router = useRouter();
|
||||
const route = useRoute();
|
||||
@@ -108,6 +108,7 @@ const enterProfile = () => {
|
||||
router.push("/profile");
|
||||
};
|
||||
const toLogin = () => {
|
||||
clearStorage();
|
||||
Session.set("currentPath", route.path);
|
||||
router.push("/login");
|
||||
};
|
||||
|
||||
@@ -14,7 +14,6 @@ const useUserStore = defineStore("user", {
|
||||
icon: null,
|
||||
roles: [],
|
||||
permissions: [],
|
||||
hasPermissions: false,
|
||||
}),
|
||||
getters: {},
|
||||
actions: {
|
||||
@@ -48,17 +47,10 @@ const useUserStore = defineStore("user", {
|
||||
user.icon == "" || user.icon == null
|
||||
? "/favicon.ico"
|
||||
: import.meta.env.VITE_APP_BASEAPI + "/file/" + user.icon;
|
||||
const all_permission = "*:*:*";
|
||||
if (res.roleCodes && res.roleCodes.length > 0) {
|
||||
// 验证返回的roles是否是一个非空数组
|
||||
this.roles = res.roleCodes;
|
||||
this.permissions = res.permissionCodes;
|
||||
this.hasPermissions = res.permissionCodes.some((permission) => {
|
||||
return (
|
||||
all_permission === permission ||
|
||||
permissionFlag.includes(permission)
|
||||
);
|
||||
});
|
||||
// this.roles = ["admin"];
|
||||
// this.permissions=["*:*:*"]
|
||||
} else {
|
||||
|
||||
@@ -1,13 +1,24 @@
|
||||
const TokenKey = 'Admin-Token'
|
||||
import useUserStore from "@/stores/user";
|
||||
const TokenKey = "Admin-Token";
|
||||
|
||||
export function getToken() {
|
||||
return localStorage.getItem(TokenKey)
|
||||
return localStorage.getItem(TokenKey);
|
||||
}
|
||||
|
||||
export function setToken(token) {
|
||||
return localStorage.setItem(TokenKey, token)
|
||||
return localStorage.setItem(TokenKey, token);
|
||||
}
|
||||
|
||||
export function removeToken() {
|
||||
return localStorage.removeItem (TokenKey)
|
||||
return localStorage.removeItem(TokenKey);
|
||||
}
|
||||
|
||||
export function getPermission(code) {
|
||||
const all_permission = "*:*:*";
|
||||
const isHasPermission = useUserStore().permissions.some((permission) => {
|
||||
return all_permission === permission || code.includes(permission);
|
||||
});
|
||||
return {
|
||||
isHasPermission,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -106,6 +106,7 @@ import { ref, reactive, watch, computed } from "vue";
|
||||
import { useRoute, useRouter } from "vue-router";
|
||||
import BottomInfo from "@/components/BottomInfo.vue";
|
||||
import useUserStore from "@/stores/user";
|
||||
import { getPermission } from "@/utils/auth";
|
||||
|
||||
//数据定义
|
||||
const route = useRoute();
|
||||
@@ -159,10 +160,9 @@ const loadDiscussList = async () => {
|
||||
};
|
||||
|
||||
//进入添加主题页面
|
||||
const { isHasPermission } = getPermission("bbs:discuss:add");
|
||||
const isEditArticle = computed(
|
||||
() =>
|
||||
useUserStore().hasPermissions &&
|
||||
!(route.params.isPublish === "false" ? false : true)
|
||||
() => isHasPermission && !(route.params.isPublish === "false" ? false : true)
|
||||
);
|
||||
const enterEditArticle = () => {
|
||||
if (isEditArticle.value) {
|
||||
|
||||
Reference in New Issue
Block a user