diff --git a/src/hooks/common/table.ts b/src/hooks/common/table.ts index 945f569..9918585 100644 --- a/src/hooks/common/table.ts +++ b/src/hooks/common/table.ts @@ -41,16 +41,26 @@ export function useTable(config: NaiveUI.NaiveTabl transformer: res => { console.log(res); const { data = [], current = 1, size = 10, total = 0 } = res || {}; - - // Ensure that the size is greater than 0, If it is less than 0, it will cause paging calculation errors. + console.log(total); const pageSize = size <= 0 ? 10 : size; - const recordsWithIndex = data.map((item, index) => { - return { - ...item, - index: (current - 1) * pageSize + index + 1 - }; - }); + if(data.data){ + var recordsWithIndex = data.data.map((item, index) => { + return { + ...item, + index: (current - 1) * pageSize + index + 1 + }; + }); + }else{ + var recordsWithIndex = data.map((item, index) => { + return { + ...item, + index: (current - 1) * pageSize + index + 1 + }; + }); + } + + console.log(recordsWithIndex); return { data: recordsWithIndex, diff --git a/src/router/elegant/imports.ts b/src/router/elegant/imports.ts index 599ffeb..78a4251 100644 --- a/src/router/elegant/imports.ts +++ b/src/router/elegant/imports.ts @@ -21,6 +21,7 @@ export const views: Record Promise import("@/views/_builtin/iframe-page/[url].vue"), login: () => import("@/views/_builtin/login/index.vue"), home: () => import("@/views/home/index.vue"), + system_auth: () => import("@/views/system/auth/index.vue"), system_menu: () => import("@/views/system/menu/index.vue"), system_user: () => import("@/views/system/user/index.vue"), }; diff --git a/src/router/elegant/routes.ts b/src/router/elegant/routes.ts index 4e8a1b5..9120a84 100644 --- a/src/router/elegant/routes.ts +++ b/src/router/elegant/routes.ts @@ -84,6 +84,15 @@ export const generatedRoutes: GeneratedRoute[] = [ i18nKey: 'route.system' }, children: [ + { + name: 'system_auth', + path: '/system/auth', + component: 'view.system_auth', + meta: { + title: 'system_auth', + i18nKey: 'route.system_auth' + } + }, { name: 'system_menu', path: '/system/menu', diff --git a/src/router/elegant/transform.ts b/src/router/elegant/transform.ts index e6b78dc..ac871a4 100644 --- a/src/router/elegant/transform.ts +++ b/src/router/elegant/transform.ts @@ -170,6 +170,7 @@ const routeMap: RouteMap = { "iframe-page": "/iframe-page/:url", "login": "/login/:module(pwd-login|code-login|register|reset-pwd|bind-wechat)?", "system": "/system", + "system_auth": "/system/auth", "system_menu": "/system/menu", "system_user": "/system/user" }; diff --git a/src/service/api/group.ts b/src/service/api/group.ts new file mode 100644 index 0000000..377d042 --- /dev/null +++ b/src/service/api/group.ts @@ -0,0 +1,36 @@ +import { request } from '../request'; + +/** 获取API权限组列表 */ +export function fetchGetGroups(params?: Api.Common.CommonSearchParams) { + return request({ + url: '/adminapi/group/index', + method: 'get', + params + }); +} + +/** 添加API权限组 */ +export function addGroup(data: Partial) { + return request({ + url: '/adminapi/group/add', + method: 'post', + data + }); +} + +/** 编辑API权限组 */ +export function editGroup(data: Partial) { + return request({ + url: `/adminapi/group/edit/ids/${data.id}`, + method: 'post', + data + }); +} + +/** 删除API权限组 */ +export function deleteGroup(id: number) { + return request({ + url: `/adminapi/group/del/ids/${id}`, + method: 'get' + }); +} \ No newline at end of file diff --git a/src/typings/elegant-router.d.ts b/src/typings/elegant-router.d.ts index 490877e..5c57945 100644 --- a/src/typings/elegant-router.d.ts +++ b/src/typings/elegant-router.d.ts @@ -24,6 +24,7 @@ declare module "@elegant-router/types" { "iframe-page": "/iframe-page/:url"; "login": "/login/:module(pwd-login|code-login|register|reset-pwd|bind-wechat)?"; "system": "/system"; + "system_auth": "/system/auth"; "system_menu": "/system/menu"; "system_user": "/system/user"; }; @@ -86,6 +87,7 @@ declare module "@elegant-router/types" { | "iframe-page" | "login" | "home" + | "system_auth" | "system_menu" | "system_user" >; diff --git a/src/typings/group.d.ts b/src/typings/group.d.ts new file mode 100644 index 0000000..8be7079 --- /dev/null +++ b/src/typings/group.d.ts @@ -0,0 +1,32 @@ +/** + * 权限组相关类型定义 + */ +declare namespace GroupApi { + /** 权限组数据类型 */ + interface Group { + /** 权限组ID */ + id: number; + /** 权限组名称 */ + name: string; + /** 规则ID */ + rules: string; + /** 创建时间 */ + createtime: string; + /** 更新时间 */ + updatetime: string; + /** 状态 */ + status: string; + } + + /** 权限组列表响应 */ + interface GroupListResponse { + /** 权限组列表 */ + data: Group[]; + /** 当前页码 */ + current: number; + /** 每页条数 */ + size: number; + /** 总条数 */ + total: number; + } +} \ No newline at end of file diff --git a/src/views/system/auth/index.vue b/src/views/system/auth/index.vue new file mode 100644 index 0000000..30e4bcb --- /dev/null +++ b/src/views/system/auth/index.vue @@ -0,0 +1,278 @@ + + + + +