diff --git a/frontend/src/components/AuthButton.vue b/frontend/src/components/AuthButton.vue index 26fe9cd23b2e76120052fb27ef51b1162156e2cf..5eef014d8eae6cae9a9f0c9d5fe4d3dffe8ac831 100644 --- a/frontend/src/components/AuthButton.vue +++ b/frontend/src/components/AuthButton.vue @@ -5,11 +5,13 @@ diff --git a/frontend/src/module/permission.ts b/frontend/src/module/permission.ts new file mode 100644 index 0000000000000000000000000000000000000000..0c86336f7cfbcab61ed39592ff972f4827249924 --- /dev/null +++ b/frontend/src/module/permission.ts @@ -0,0 +1,31 @@ +import { ref } from "vue"; +import { ElMessage } from 'element-plus'; + +import { getPermission } from "@/request/user"; +import { RespCodeOK } from "@/request/request"; + +const userPermissions = ref({}) + +export function hasPermisson(permission: string): boolean { + let words = permission.split("/") + let resource = words[0] + let operate = words[1] + + if ((resource in userPermissions.value) && userPermissions.value[resource].includes(operate)) { + return true; + } + return false; +} + +export function updatePermisson(): void { + getPermission().then((resp: any) => { + if (resp.code === RespCodeOK) { + userPermissions.value = resp.data + } else { + ElMessage.error("failed to get machines overview info: " + resp.msg) + } + }).catch((err: any) => { + ElMessage.error("failed to get machines overview info:" + err.msg) + }) + +} \ No newline at end of file diff --git a/frontend/src/request/user.ts b/frontend/src/request/user.ts index 8362fae30f7ff856a1de904bc16888610255dcfd..4790d3fb1a37401eda10d88882f415e5b2fa52f6 100644 --- a/frontend/src/request/user.ts +++ b/frontend/src/request/user.ts @@ -77,4 +77,12 @@ export function getCurrentUser() { url: '/user/info', method: 'get' }) +} + +// 获取用户权限 +export function getPermission() { + return request({ + url: '/user/permission', + method: 'post', + }) } \ No newline at end of file diff --git a/frontend/src/views/Batch/Batch.vue b/frontend/src/views/Batch/Batch.vue index 6916cf32deddede7d1891a39e412cdcbe1bdcebf..6c8a26f5c870832e890e8db2b32620ca703d49a0 100644 --- a/frontend/src/views/Batch/Batch.vue +++ b/frontend/src/views/Batch/Batch.vue @@ -12,7 +12,7 @@