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 @@
-
+
删除
@@ -38,7 +38,7 @@
-
+
编辑
diff --git a/frontend/src/views/Home/Home.vue b/frontend/src/views/Home/Home.vue
index e4975e3a7169e7d0beb8645d82016cd1cfdfcea2..4db7fd599a6fb7910bf3d5b473afac5f2b8a1f53 100644
--- a/frontend/src/views/Home/Home.vue
+++ b/frontend/src/views/Home/Home.vue
@@ -54,6 +54,7 @@ import TagView from "./components/TagView.vue";
import Sidebar from "./components/Sidebar.vue";
import { directTo, updateSidebarItems } from "@/router/index";
+import { updatePermisson } from "@/module/permission";
import { platformVersion } from "@/request/basic"
import { logout, getCurrentUser } from "@/request/user";
import { RespCodeOK } from "@/request/request";
@@ -71,6 +72,7 @@ const version = ref({})
onMounted(() => {
updateSidebarItems();
updateUserInfo();
+ updatePermisson();
platformVersion().then((resp: any) => {
if (resp.code == RespCodeOK) {
@@ -170,7 +172,7 @@ function doLogout() {
align-items: center;
.route {
- flex:1;
+ flex: 1;
display: flex;
flex-direction: column;
height: 100%;