From 643ccec544392b04a4c66819e27b6bb0e3179b3b Mon Sep 17 00:00:00 2001 From: Azir <2075125282@qq.com> Date: Sat, 28 Jun 2025 14:06:24 +0800 Subject: [PATCH] refactor(types): improve namespace migration. --- src/typings/api.d.ts | 175 ----------------------------- src/typings/api/system-manage.d.ts | 139 +++++++++++++++++++++++ 2 files changed, 139 insertions(+), 175 deletions(-) create mode 100644 src/typings/api/system-manage.d.ts diff --git a/src/typings/api.d.ts b/src/typings/api.d.ts index fac1866d..6b6633df 100644 --- a/src/typings/api.d.ts +++ b/src/typings/api.d.ts @@ -47,179 +47,4 @@ declare namespace Api { status: EnableStatus | null; } & T; } - - /** - * namespace Auth - * - * backend api module: "auth" - */ - namespace Auth { - interface LoginToken { - token: string; - refreshToken: string; - } - - interface UserInfo { - userId: string; - userName: string; - roles: string[]; - buttons: string[]; - } - } - - /** - * namespace Route - * - * backend api module: "route" - */ - namespace Route { - type ElegantConstRoute = import('@elegant-router/types').ElegantConstRoute; - - interface MenuRoute extends ElegantConstRoute { - id: string; - } - - interface UserRoute { - routes: MenuRoute[]; - home: import('@elegant-router/types').LastLevelRouteKey; - } - } - - /** - * namespace SystemManage - * - * backend api module: "systemManage" - */ - namespace SystemManage { - type CommonSearchParams = Pick; - - /** role */ - type Role = Common.CommonRecord<{ - /** role name */ - roleName: string; - /** role code */ - roleCode: string; - /** role description */ - roleDesc: string; - }>; - - /** role search params */ - type RoleSearchParams = CommonType.RecordNullable< - Pick & CommonSearchParams - >; - - /** role list */ - type RoleList = Common.PaginatingQueryRecord; - - /** all role */ - type AllRole = Pick; - - /** - * user gender - * - * - "1": "male" - * - "2": "female" - */ - type UserGender = '1' | '2'; - - /** user */ - type User = Common.CommonRecord<{ - /** user name */ - userName: string; - /** user gender */ - userGender: UserGender | null; - /** user nick name */ - nickName: string; - /** user phone */ - userPhone: string; - /** user email */ - userEmail: string; - /** user role code collection */ - userRoles: string[]; - }>; - - /** user search params */ - type UserSearchParams = CommonType.RecordNullable< - Pick & - CommonSearchParams - >; - - /** user list */ - type UserList = Common.PaginatingQueryRecord; - - /** - * menu type - * - * - "1": directory - * - "2": menu - */ - type MenuType = '1' | '2'; - - type MenuButton = { - /** - * button code - * - * it can be used to control the button permission - */ - code: string; - /** button description */ - desc: string; - }; - - /** - * icon type - * - * - "1": iconify icon - * - "2": local icon - */ - type IconType = '1' | '2'; - - type MenuPropsOfRoute = Pick< - import('vue-router').RouteMeta, - | 'i18nKey' - | 'keepAlive' - | 'constant' - | 'order' - | 'href' - | 'hideInMenu' - | 'activeMenu' - | 'multiTab' - | 'fixedIndexInTab' - | 'query' - >; - - type Menu = Common.CommonRecord<{ - /** parent menu id */ - parentId: number; - /** menu type */ - menuType: MenuType; - /** menu name */ - menuName: string; - /** route name */ - routeName: string; - /** route path */ - routePath: string; - /** component */ - component?: string; - /** iconify icon name or local icon name */ - icon: string; - /** icon type */ - iconType: IconType; - /** buttons */ - buttons?: MenuButton[] | null; - /** children menu */ - children?: Menu[] | null; - }> & - MenuPropsOfRoute; - - /** menu list */ - type MenuList = Common.PaginatingQueryRecord; - - type MenuTree = { - id: number; - label: string; - pId: number; - children?: MenuTree[]; - }; - } } diff --git a/src/typings/api/system-manage.d.ts b/src/typings/api/system-manage.d.ts new file mode 100644 index 00000000..d95c0372 --- /dev/null +++ b/src/typings/api/system-manage.d.ts @@ -0,0 +1,139 @@ +declare namespace Api { + /** + * namespace SystemManage + * + * backend api module: "systemManage" + */ + namespace SystemManage { + type CommonSearchParams = Pick; + + /** role */ + type Role = Common.CommonRecord<{ + /** role name */ + roleName: string; + /** role code */ + roleCode: string; + /** role description */ + roleDesc: string; + }>; + + /** role search params */ + type RoleSearchParams = CommonType.RecordNullable< + Pick & CommonSearchParams + >; + + /** role list */ + type RoleList = Common.PaginatingQueryRecord; + + /** all role */ + type AllRole = Pick; + + /** + * user gender + * + * - "1": "male" + * - "2": "female" + */ + type UserGender = '1' | '2'; + + /** user */ + type User = Common.CommonRecord<{ + /** user name */ + userName: string; + /** user gender */ + userGender: UserGender | null; + /** user nick name */ + nickName: string; + /** user phone */ + userPhone: string; + /** user email */ + userEmail: string; + /** user role code collection */ + userRoles: string[]; + }>; + + /** user search params */ + type UserSearchParams = CommonType.RecordNullable< + Pick & + CommonSearchParams + >; + + /** user list */ + type UserList = Common.PaginatingQueryRecord; + + /** + * menu type + * + * - "1": directory + * - "2": menu + */ + type MenuType = '1' | '2'; + + type MenuButton = { + /** + * button code + * + * it can be used to control the button permission + */ + code: string; + /** button description */ + desc: string; + }; + + /** + * icon type + * + * - "1": iconify icon + * - "2": local icon + */ + type IconType = '1' | '2'; + + type MenuPropsOfRoute = Pick< + import('vue-router').RouteMeta, + | 'i18nKey' + | 'keepAlive' + | 'constant' + | 'order' + | 'href' + | 'hideInMenu' + | 'activeMenu' + | 'multiTab' + | 'fixedIndexInTab' + | 'query' + >; + + type Menu = Common.CommonRecord<{ + /** parent menu id */ + parentId: number; + /** menu type */ + menuType: MenuType; + /** menu name */ + menuName: string; + /** route name */ + routeName: string; + /** route path */ + routePath: string; + /** component */ + component?: string; + /** iconify icon name or local icon name */ + icon: string; + /** icon type */ + iconType: IconType; + /** buttons */ + buttons?: MenuButton[] | null; + /** children menu */ + children?: Menu[] | null; + }> & + MenuPropsOfRoute; + + /** menu list */ + type MenuList = Common.PaginatingQueryRecord; + + type MenuTree = { + id: number; + label: string; + pId: number; + children?: MenuTree[]; + }; + } +}