diff --git a/src/api/permiss_policy.ts b/src/api/permiss_policy.ts
new file mode 100644
index 0000000..d8bc4b2
--- /dev/null
+++ b/src/api/permiss_policy.ts
@@ -0,0 +1,53 @@
+import request from '@/utils/user_center_request';
+
+export const GetPermissPolicyService = () =>{
+ let token = localStorage.getItem("token") || "";
+ return request.get('/permission/get_policy',
+ {
+ headers: {
+ 'token': token, //token
+ }
+ }
+ )
+}
+
+export const UpdatePermissPolicyService = (Data: any) => {
+ const params = new URLSearchParams();
+ for (let key in Data) {
+ params.append(key, Data[key])
+ }
+ let token = localStorage.getItem("token") || "";
+ return request.post('/permission/update_policy', params,{
+ headers: {
+ 'token': token, //token
+ }
+ })
+}
+
+
+
+export const AddPermissPolicyService = (Data: any) => {
+ const params = new URLSearchParams();
+ for (let key in Data) {
+ params.append(key, Data[key])
+ }
+ let token = localStorage.getItem("token") || "";
+ return request.post('/permission/add_policy', params,{
+ headers: {
+ 'token': token, //token
+ }
+ })
+}
+
+export const DelPermissPolicyService = (Data: any) => {
+ const params = new URLSearchParams();
+ for (let key in Data) {
+ params.append(key, Data[key])
+ }
+ let token = localStorage.getItem("token") || "";
+ return request.post('/permission/del_policy', params,{
+ headers: {
+ 'token': token, //token
+ }
+ })
+}
diff --git a/src/components/menu.ts b/src/components/menu.ts
index 81bbd6c..03a0578 100644
--- a/src/components/menu.ts
+++ b/src/components/menu.ts
@@ -32,6 +32,12 @@ export const menuData: Menus[] = [
title: '功能管理',
},
+ {
+ id: '73',
+ pid: '1',
+ index: '/manage-permiss-policy',
+ title: '权限策略管理',
+ }
],
},
@@ -208,12 +214,12 @@ export const menuData: Menus[] = [
index: '/ucenter',
title: '个人中心',
},
- {
- id: '9',
- icon: 'Files',
- index: '/kbase-chat',
- title: '知识库交互',
- },
+ // {
+ // id: '9',
+ // icon: 'Files',
+ // index: '/kbase-chat',
+ // title: '知识库交互',
+ // },
{
id: '53',
icon: 'ChatDotSquare',
@@ -226,12 +232,12 @@ export const menuData: Menus[] = [
index: '/gen-prompt',
title: '提示词生成',
},
- {
- id: '57',
- icon: 'ChatDotSquare',
- index: '/ai-ppt',
- title: '智能PPT生成',
- },
+ // {
+ // id: '57',
+ // icon: 'ChatDotSquare',
+ // index: '/ai-ppt',
+ // title: '智能PPT生成',
+ // },
{
id: '59',
icon: 'Select',
diff --git a/src/router/index.ts b/src/router/index.ts
index f86df9c..ee7f6ea 100644
--- a/src/router/index.ts
+++ b/src/router/index.ts
@@ -59,6 +59,16 @@ const routes: RouteRecordRaw[] = [
},
component: () => import(/* webpackChunkName: "system-user" */ '../views/system/manage-file.vue'),
},
+ {
+ path: '/manage-permiss-policy',
+ name: 'manage-permiss-policy',
+ meta: {
+ title: '权限策略管理',
+ permiss: '73',
+ },
+ component: () => import(/* webpackChunkName: "system-user" */ '../views/system/manage-permiss-policy.vue'),
+
+ },
{
path: '/manage-session',
name: 'manage-session',
diff --git a/src/store/permiss.ts b/src/store/permiss.ts
index dfa6465..1d7f8ff 100644
--- a/src/store/permiss.ts
+++ b/src/store/permiss.ts
@@ -57,7 +57,8 @@ export const usePermissStore = defineStore("permiss", {
"58", //知识库管理
"59", //项目选择
"71", //用户功能管理
- "72" //数据库管理工具
+ "72", //数据库管理工具
+ "73", //权限策略管理
],
user: ["0", "8", "7", "9", "51" ,"53","55" ,"56", "57", "58", "59", "61", "71"],
},
diff --git a/src/types/permiss_policy.ts b/src/types/permiss_policy.ts
new file mode 100644
index 0000000..46affd3
--- /dev/null
+++ b/src/types/permiss_policy.ts
@@ -0,0 +1,51 @@
+// 策略信息结构体
+export interface Policy {
+ ID: number;
+ CreatedAt: string; // 日期时间格式,如 "2025-11-03T20:09:59.455+08:00"
+ UpdatedAt: string; // 日期时间格式
+ DeletedAt: null | string; // 可能为 null 或日期时间格式
+ name: string;
+ info: string;
+ redis: number; // 0 表示禁用,推测可能为布尔含义的数字
+ run_shell: number; // 同上
+ upload: number; // 同上
+ cid: number;
+ file: number; // 同上
+ device: number; // 同上
+ upload_size: number; // 上传大小限制
+ upload_max_size: number; // 最大上传大小限制
+ send_mail: number; // 同上
+}
+
+// 范围信息结构体
+export interface Range {
+ id: number;
+ type: number;
+ prev: number;
+ name: string;
+}
+
+// 完整响应结构体
+export interface PermissPolicyResponseData {
+ policy: Policy;
+ range: Range[]; // 范围信息数组
+}
+
+export interface PolicyUserRange {
+ ID: number;
+ CreatedAt: string; // 日期时间格式,如 "2025-11-03T20:09:59.455+08:00"
+ UpdatedAt: string; // 日期时间格式
+ DeletedAt: null | string; // 可能为 null 或日期时间格式
+ name: string;
+ info: string;
+ redis: number; // 0 表示禁用,推测可能为布尔含义的数字
+ run_shell: number; // 同上
+ upload: number; // 同上
+ cid: number;
+ file: number; // 同上
+ device: number; // 同上
+ upload_size: number; // 上传大小限制
+ upload_max_size: number; // 最大上传大小限制
+ send_mail: number; // 同上
+ range: Range[]; // 范围信息数组
+}
\ No newline at end of file
diff --git a/src/views/system/manage-permiss-policy.vue b/src/views/system/manage-permiss-policy.vue
new file mode 100644
index 0000000..6a9dff9
--- /dev/null
+++ b/src/views/system/manage-permiss-policy.vue
@@ -0,0 +1,353 @@
+
+
+
+
\ No newline at end of file