@clownlee/rbac 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/README.md +17 -0
  2. package/dist/index.js +40756 -0
  3. package/dist/rbac/src/components/assign-menus-modal/index.vue.d.ts +29 -0
  4. package/dist/rbac/src/components/assign-roles-modal/index.vue.d.ts +29 -0
  5. package/dist/rbac/src/components/menu-detail-modal/index.vue.d.ts +48 -0
  6. package/dist/rbac/src/components/menu-form-modal/index.vue.d.ts +45 -0
  7. package/dist/rbac/src/components/role-detail-modal/index.vue.d.ts +40 -0
  8. package/dist/rbac/src/components/role-form-modal/index.vue.d.ts +42 -0
  9. package/dist/rbac/src/components/user-detail-modal/index.vue.d.ts +26 -0
  10. package/dist/rbac/src/components/user-form-modal/index.vue.d.ts +28 -0
  11. package/dist/rbac/src/index.d.ts +14 -0
  12. package/dist/rbac/src/utils/menu.d.ts +25 -0
  13. package/dist/rbac/src/utils/role.d.ts +33 -0
  14. package/dist/rbac/src/utils/user.d.ts +14 -0
  15. package/dist/rbac/src/views/menu-management/api/menu.api.d.ts +47 -0
  16. package/dist/rbac/src/views/menu-management/composables/use-list.d.ts +80 -0
  17. package/dist/rbac/src/views/menu-management/index.vue.d.ts +45 -0
  18. package/dist/rbac/src/views/menu-management/types/menu.types.d.ts +61 -0
  19. package/dist/rbac/src/views/role-management/api/role.api.d.ts +63 -0
  20. package/dist/rbac/src/views/role-management/composables/use-list.d.ts +93 -0
  21. package/dist/rbac/src/views/role-management/index.vue.d.ts +97 -0
  22. package/dist/rbac/src/views/role-management/types/role.types.d.ts +70 -0
  23. package/dist/rbac/src/views/user-management/api/user.api.d.ts +74 -0
  24. package/dist/rbac/src/views/user-management/composables/use-list.d.ts +96 -0
  25. package/dist/rbac/src/views/user-management/index.vue.d.ts +93 -0
  26. package/dist/rbac/src/views/user-management/types/user.types.d.ts +73 -0
  27. package/package.json +54 -0
@@ -0,0 +1,29 @@
1
+ import { RoleStore, RoleConfig } from '../../views/role-management/composables/use-list';
2
+ import { MenuStore, MenuConfig } from '../../views/menu-management/composables/use-list';
3
+
4
+ interface Props {
5
+ visible: boolean;
6
+ roleId: string | number;
7
+ store?: RoleStore | MenuStore | any;
8
+ http?: any;
9
+ config?: RoleConfig | MenuConfig;
10
+ }
11
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
12
+ "update:visible": (visible: boolean) => void;
13
+ submit: () => void;
14
+ cancel: () => void;
15
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>> & Readonly<{
16
+ onCancel?: (() => any) | undefined;
17
+ "onUpdate:visible"?: ((visible: boolean) => any) | undefined;
18
+ onSubmit?: (() => any) | undefined;
19
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
20
+ export default _default;
21
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
22
+ type __VLS_TypePropsToRuntimeProps<T> = {
23
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
24
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
25
+ } : {
26
+ type: import('vue').PropType<T[K]>;
27
+ required: true;
28
+ };
29
+ };
@@ -0,0 +1,29 @@
1
+ import { UserStore, UserConfig } from '../../views/user-management/composables/use-list';
2
+ import { RoleStore, RoleConfig } from '../../views/role-management/composables/use-list';
3
+
4
+ interface Props {
5
+ visible: boolean;
6
+ userId: string | number;
7
+ store?: UserStore | RoleStore | any;
8
+ http?: any;
9
+ config?: UserConfig | RoleConfig;
10
+ }
11
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
12
+ "update:visible": (visible: boolean) => void;
13
+ submit: () => void;
14
+ cancel: () => void;
15
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>> & Readonly<{
16
+ onCancel?: (() => any) | undefined;
17
+ "onUpdate:visible"?: ((visible: boolean) => any) | undefined;
18
+ onSubmit?: (() => any) | undefined;
19
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
20
+ export default _default;
21
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
22
+ type __VLS_TypePropsToRuntimeProps<T> = {
23
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
24
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
25
+ } : {
26
+ type: import('vue').PropType<T[K]>;
27
+ required: true;
28
+ };
29
+ };
@@ -0,0 +1,48 @@
1
+ import { MenuStore, MenuHttp, MenuConfig } from '../../views/menu-management/composables/use-list';
2
+ import { MenuRowModel } from '../../views/menu-management/types/menu.types';
3
+
4
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
5
+ visible: boolean;
6
+ menuId: string | number;
7
+ menuTree?: MenuRowModel[];
8
+ store?: MenuStore | any;
9
+ http?: MenuHttp | any;
10
+ config?: MenuConfig;
11
+ }>, {
12
+ config: () => {};
13
+ }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
14
+ "update:visible": (visible: boolean) => void;
15
+ close: () => void;
16
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
17
+ visible: boolean;
18
+ menuId: string | number;
19
+ menuTree?: MenuRowModel[];
20
+ store?: MenuStore | any;
21
+ http?: MenuHttp | any;
22
+ config?: MenuConfig;
23
+ }>, {
24
+ config: () => {};
25
+ }>>> & Readonly<{
26
+ onClose?: (() => any) | undefined;
27
+ "onUpdate:visible"?: ((visible: boolean) => any) | undefined;
28
+ }>, {
29
+ config: MenuConfig;
30
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
31
+ export default _default;
32
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
33
+ type __VLS_TypePropsToRuntimeProps<T> = {
34
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
35
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
36
+ } : {
37
+ type: import('vue').PropType<T[K]>;
38
+ required: true;
39
+ };
40
+ };
41
+ type __VLS_WithDefaults<P, D> = {
42
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
43
+ default: D[K];
44
+ }> : P[K];
45
+ };
46
+ type __VLS_Prettify<T> = {
47
+ [K in keyof T]: T[K];
48
+ } & {};
@@ -0,0 +1,45 @@
1
+ import { MenuStore, MenuHttp, MenuConfig } from '../../views/menu-management/composables/use-list';
2
+ import { MenuRowModel } from '../../views/menu-management/types/menu.types';
3
+
4
+ interface Props {
5
+ visible: boolean;
6
+ menuId?: string | number;
7
+ parentId?: string | number;
8
+ menuTree?: MenuRowModel[];
9
+ store?: MenuStore | any;
10
+ http?: MenuHttp | any;
11
+ config?: MenuConfig;
12
+ }
13
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
14
+ config: () => {};
15
+ }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
16
+ "update:visible": (visible: boolean) => void;
17
+ submit: () => void;
18
+ cancel: () => void;
19
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
20
+ config: () => {};
21
+ }>>> & Readonly<{
22
+ onCancel?: (() => any) | undefined;
23
+ "onUpdate:visible"?: ((visible: boolean) => any) | undefined;
24
+ onSubmit?: (() => any) | undefined;
25
+ }>, {
26
+ config: MenuConfig;
27
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
28
+ export default _default;
29
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
30
+ type __VLS_TypePropsToRuntimeProps<T> = {
31
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
32
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
33
+ } : {
34
+ type: import('vue').PropType<T[K]>;
35
+ required: true;
36
+ };
37
+ };
38
+ type __VLS_WithDefaults<P, D> = {
39
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
40
+ default: D[K];
41
+ }> : P[K];
42
+ };
43
+ type __VLS_Prettify<T> = {
44
+ [K in keyof T]: T[K];
45
+ } & {};
@@ -0,0 +1,40 @@
1
+ import { RoleStore, RoleHttp, RoleConfig } from '../../views/role-management/composables/use-list';
2
+
3
+ interface Props {
4
+ visible: boolean;
5
+ roleId: string | number;
6
+ store?: RoleStore | any;
7
+ http?: RoleHttp | any;
8
+ config?: RoleConfig;
9
+ }
10
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
11
+ config: () => {};
12
+ }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
13
+ "update:visible": (visible: boolean) => void;
14
+ close: () => void;
15
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
16
+ config: () => {};
17
+ }>>> & Readonly<{
18
+ onClose?: (() => any) | undefined;
19
+ "onUpdate:visible"?: ((visible: boolean) => any) | undefined;
20
+ }>, {
21
+ config: RoleConfig;
22
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
23
+ export default _default;
24
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
25
+ type __VLS_TypePropsToRuntimeProps<T> = {
26
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
27
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
28
+ } : {
29
+ type: import('vue').PropType<T[K]>;
30
+ required: true;
31
+ };
32
+ };
33
+ type __VLS_WithDefaults<P, D> = {
34
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
35
+ default: D[K];
36
+ }> : P[K];
37
+ };
38
+ type __VLS_Prettify<T> = {
39
+ [K in keyof T]: T[K];
40
+ } & {};
@@ -0,0 +1,42 @@
1
+ import { RoleStore, RoleHttp, RoleConfig } from '../../views/role-management/composables/use-list';
2
+
3
+ interface Props {
4
+ visible: boolean;
5
+ roleId?: string | number;
6
+ store?: RoleStore | any;
7
+ http?: RoleHttp | any;
8
+ config?: RoleConfig;
9
+ }
10
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
11
+ config: () => {};
12
+ }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
13
+ "update:visible": (visible: boolean) => void;
14
+ submit: () => void;
15
+ cancel: () => void;
16
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
17
+ config: () => {};
18
+ }>>> & Readonly<{
19
+ onCancel?: (() => any) | undefined;
20
+ "onUpdate:visible"?: ((visible: boolean) => any) | undefined;
21
+ onSubmit?: (() => any) | undefined;
22
+ }>, {
23
+ config: RoleConfig;
24
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
25
+ export default _default;
26
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
27
+ type __VLS_TypePropsToRuntimeProps<T> = {
28
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
29
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
30
+ } : {
31
+ type: import('vue').PropType<T[K]>;
32
+ required: true;
33
+ };
34
+ };
35
+ type __VLS_WithDefaults<P, D> = {
36
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
37
+ default: D[K];
38
+ }> : P[K];
39
+ };
40
+ type __VLS_Prettify<T> = {
41
+ [K in keyof T]: T[K];
42
+ } & {};
@@ -0,0 +1,26 @@
1
+ import { UserStore, UserHttp, UserConfig } from '../../views/user-management/composables/use-list';
2
+
3
+ interface Props {
4
+ visible: boolean;
5
+ userId: string | number;
6
+ store?: UserStore | any;
7
+ http?: UserHttp | any;
8
+ config?: UserConfig;
9
+ }
10
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
11
+ "update:visible": (visible: boolean) => void;
12
+ close: () => void;
13
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>> & Readonly<{
14
+ onClose?: (() => any) | undefined;
15
+ "onUpdate:visible"?: ((visible: boolean) => any) | undefined;
16
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
17
+ export default _default;
18
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
19
+ type __VLS_TypePropsToRuntimeProps<T> = {
20
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
21
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
22
+ } : {
23
+ type: import('vue').PropType<T[K]>;
24
+ required: true;
25
+ };
26
+ };
@@ -0,0 +1,28 @@
1
+ import { UserStore, UserHttp, UserConfig } from '../../views/user-management/composables/use-list';
2
+
3
+ interface Props {
4
+ visible: boolean;
5
+ userId?: string | number;
6
+ store?: UserStore | any;
7
+ http?: UserHttp | any;
8
+ config?: UserConfig;
9
+ }
10
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
11
+ "update:visible": (visible: boolean) => void;
12
+ submit: () => void;
13
+ cancel: () => void;
14
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>> & Readonly<{
15
+ onCancel?: (() => any) | undefined;
16
+ "onUpdate:visible"?: ((visible: boolean) => any) | undefined;
17
+ onSubmit?: (() => any) | undefined;
18
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
19
+ export default _default;
20
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
21
+ type __VLS_TypePropsToRuntimeProps<T> = {
22
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
23
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
24
+ } : {
25
+ type: import('vue').PropType<T[K]>;
26
+ required: true;
27
+ };
28
+ };
@@ -0,0 +1,14 @@
1
+ import { default as MenuManagement } from './views/menu-management/index.vue';
2
+ import { default as RoleManagement } from './views/role-management/index.vue';
3
+ import { default as UserManagement } from './views/user-management/index.vue';
4
+
5
+ export type { RoleStore, RoleHttp, RoleConfig } from './views/role-management/composables/use-list';
6
+ export type { RoleQueryModel, RoleRowModel, RoleFormModel, PaginationModel as RolePaginationModel, RoleListResponse, ApiResponse as RoleApiResponse, } from './views/role-management/types/role.types';
7
+ export type { RoleHttpInstance } from './views/role-management/api/role.api';
8
+ export type { UserStore, UserHttp, UserConfig } from './views/user-management/composables/use-list';
9
+ export type { UserQueryModel, UserRowModel, UserFormModel, PaginationModel as UserPaginationModel, UserListResponse, ApiResponse as UserApiResponse, } from './views/user-management/types/user.types';
10
+ export type { UserHttpInstance } from './views/user-management/api/user.api';
11
+ export type { MenuStore, MenuHttp, MenuConfig } from './views/menu-management/composables/use-list';
12
+ export type { MenuQueryModel, MenuRowModel, MenuFormModel, ApiResponse as MenuApiResponse, } from './views/menu-management/types/menu.types';
13
+ export type { MenuHttpInstance } from './views/menu-management/api/menu.api';
14
+ export { MenuManagement, RoleManagement, UserManagement };
@@ -0,0 +1,25 @@
1
+ /**
2
+ * 菜单相关工具函数
3
+ */
4
+ /**
5
+ * 格式化菜单类型
6
+ */
7
+ export declare function formatMenuType(menuType: string): {
8
+ text: string;
9
+ type: "primary" | "success" | "warning" | "info";
10
+ };
11
+ /**
12
+ * 格式化菜单状态
13
+ */
14
+ export declare function formatMenuStatus(status: number): {
15
+ text: string;
16
+ type: "success" | "danger" | "info" | "warning";
17
+ };
18
+ /**
19
+ * 格式化日期时间
20
+ */
21
+ export declare function formatDateTime(dateTime: string | number | null | undefined): string;
22
+ /**
23
+ * 将数组转换为树形结构
24
+ */
25
+ export declare function arrayToTree(arr: any[], parentId?: string | number | null): any[];
@@ -0,0 +1,33 @@
1
+ /**
2
+ * 角色相关工具函数
3
+ */
4
+ /**
5
+ * 格式化角色状态
6
+ */
7
+ export declare function formatRoleStatus(status: number): {
8
+ text: string;
9
+ type: "success" | "danger" | "info" | "warning";
10
+ };
11
+ /**
12
+ * 格式化日期时间
13
+ */
14
+ export declare function formatDateTime(dateTime: string | number | null | undefined): string;
15
+ /**
16
+ * 将平铺数组构建成树形结构
17
+ * @param flatArray 平铺数组
18
+ * @param options 配置选项
19
+ * @returns 树形结构数组
20
+ */
21
+ export declare function buildTreeFromFlatArray(flatArray: any[], options?: {
22
+ idKey?: string;
23
+ parentIdKey?: string;
24
+ childrenKey?: string;
25
+ rootParentId?: string | number | null;
26
+ }): any[];
27
+ /**
28
+ * 转换菜单树为 Element Plus Tree 组件格式
29
+ * @param menuTree 菜单树(可以是平铺数组或树形结构)
30
+ * @param isFlatArray 是否为平铺数组,默认 false(树形结构)
31
+ * @returns Element Plus Tree 格式的树形结构
32
+ */
33
+ export declare function transformMenuTreeForElTree(menuTree: any[], isFlatArray?: boolean): any[];
@@ -0,0 +1,14 @@
1
+ /**
2
+ * 用户相关工具函数
3
+ */
4
+ /**
5
+ * 格式化用户状态
6
+ */
7
+ export declare function formatUserStatus(status: number): {
8
+ text: string;
9
+ type: "success" | "danger" | "info" | "warning";
10
+ };
11
+ /**
12
+ * 格式化日期时间
13
+ */
14
+ export declare function formatDateTime(dateTime: string | number | null | undefined): string;
@@ -0,0 +1,47 @@
1
+ import { MenuQueryModel, MenuFormModel, ApiResponse } from '../types/menu.types';
2
+
3
+ /**
4
+ * Http 请求实例接口
5
+ */
6
+ export interface MenuHttpInstance {
7
+ queryMenuList: (params: MenuQueryModel) => Promise<ApiResponse<any>>;
8
+ getMenuDetail: (id: string | number) => Promise<ApiResponse<any>>;
9
+ createMenu: (data: MenuFormModel) => Promise<ApiResponse<any>>;
10
+ updateMenu: (data: MenuFormModel) => Promise<ApiResponse<any>>;
11
+ deleteMenu: (id: string | number) => Promise<ApiResponse<any>>;
12
+ }
13
+ /**
14
+ * 查询菜单列表
15
+ * @param http Http 请求实例
16
+ * @param params 查询参数
17
+ * @returns 菜单列表响应
18
+ */
19
+ export declare function queryMenuList(http: Record<string, any>, params: MenuQueryModel): Promise<ApiResponse<any>>;
20
+ /**
21
+ * 获取菜单详情
22
+ * @param http Http 请求实例
23
+ * @param id 菜单ID
24
+ * @returns 菜单详情响应
25
+ */
26
+ export declare function getMenuDetail(http: Record<string, any>, id: string | number): Promise<ApiResponse<any>>;
27
+ /**
28
+ * 创建菜单
29
+ * @param http Http 请求实例
30
+ * @param data 菜单表单数据
31
+ * @returns 创建响应
32
+ */
33
+ export declare function createMenu(http: Record<string, any>, data: MenuFormModel): Promise<ApiResponse<any>>;
34
+ /**
35
+ * 更新菜单
36
+ * @param http Http 请求实例
37
+ * @param data 菜单表单数据
38
+ * @returns 更新响应
39
+ */
40
+ export declare function updateMenu(http: Record<string, any>, data: MenuFormModel): Promise<ApiResponse<any>>;
41
+ /**
42
+ * 删除菜单
43
+ * @param http Http 请求实例
44
+ * @param id 菜单ID
45
+ * @returns 删除响应
46
+ */
47
+ export declare function deleteMenu(http: Record<string, any>, id: string | number): Promise<ApiResponse<any>>;
@@ -0,0 +1,80 @@
1
+ import { MenuQueryModel, MenuRowModel, MenuFormModel } from '../types/menu.types';
2
+
3
+ /**
4
+ * Store 接口(localStorage 操作)
5
+ */
6
+ export interface MenuStore {
7
+ getItem: (key: string) => string | null;
8
+ setItem: (key: string, value: string) => void;
9
+ removeItem: (key: string) => void;
10
+ clear: () => void;
11
+ }
12
+ /**
13
+ * Http 请求实例接口
14
+ */
15
+ export interface MenuHttp {
16
+ [key: string]: any;
17
+ }
18
+ /**
19
+ * 配置项接口
20
+ */
21
+ export interface MenuConfig {
22
+ queryParamsKey?: string;
23
+ [key: string]: any;
24
+ }
25
+ /**
26
+ * 菜单列表 composable
27
+ */
28
+ export declare function useMenuList(store: MenuStore, http: MenuHttp, config?: MenuConfig): {
29
+ loading: import('vue').Ref<boolean, boolean>;
30
+ menuList: import('vue').Ref<{
31
+ [x: string]: any;
32
+ id: string | number;
33
+ menuName: string;
34
+ menuPath?: string | undefined;
35
+ menuType: string;
36
+ status: number;
37
+ sortOrder?: number | undefined;
38
+ parentId?: string | number | undefined;
39
+ menuIcon?: string | undefined;
40
+ menuLevel?: number | undefined;
41
+ menuCode?: string | undefined;
42
+ description?: string | undefined;
43
+ children?: /*elided*/ any[] | undefined;
44
+ }[], MenuRowModel[] | {
45
+ [x: string]: any;
46
+ id: string | number;
47
+ menuName: string;
48
+ menuPath?: string | undefined;
49
+ menuType: string;
50
+ status: number;
51
+ sortOrder?: number | undefined;
52
+ parentId?: string | number | undefined;
53
+ menuIcon?: string | undefined;
54
+ menuLevel?: number | undefined;
55
+ menuCode?: string | undefined;
56
+ description?: string | undefined;
57
+ children?: /*elided*/ any[] | undefined;
58
+ }[]>;
59
+ menuTreeData: import('vue').ComputedRef<MenuRowModel[]>;
60
+ queryParams: import('vue').Ref<{
61
+ [x: string]: any;
62
+ name?: string | undefined;
63
+ path?: string | undefined;
64
+ type?: string | undefined;
65
+ includeFunc?: boolean | undefined;
66
+ }, MenuQueryModel | {
67
+ [x: string]: any;
68
+ name?: string | undefined;
69
+ path?: string | undefined;
70
+ type?: string | undefined;
71
+ includeFunc?: boolean | undefined;
72
+ }>;
73
+ loadMenuList: (includeFunc?: boolean) => Promise<void>;
74
+ handleSearch: (params: MenuQueryModel) => Promise<void>;
75
+ handleReset: () => Promise<void>;
76
+ handleCreate: (data: MenuFormModel) => Promise<boolean>;
77
+ handleUpdate: (data: MenuFormModel) => Promise<boolean>;
78
+ handleDelete: (menuId: string | number) => Promise<boolean>;
79
+ loadSavedQueryParams: () => void;
80
+ };
@@ -0,0 +1,45 @@
1
+ import { MenuStore, MenuHttp, MenuConfig } from './composables/use-list';
2
+
3
+ interface Props {
4
+ store: MenuStore | any;
5
+ http?: MenuHttp;
6
+ config?: MenuConfig;
7
+ data: {
8
+ permissions: {
9
+ search: string;
10
+ reset: string;
11
+ createRoot: string;
12
+ tableList: string;
13
+ detail: string;
14
+ createChild: string;
15
+ edit: string;
16
+ delete: string;
17
+ };
18
+ [key: string]: any;
19
+ };
20
+ }
21
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
22
+ config: () => {};
23
+ }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
24
+ config: () => {};
25
+ }>>> & Readonly<{}>, {
26
+ config: MenuConfig;
27
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
28
+ export default _default;
29
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
30
+ type __VLS_TypePropsToRuntimeProps<T> = {
31
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
32
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
33
+ } : {
34
+ type: import('vue').PropType<T[K]>;
35
+ required: true;
36
+ };
37
+ };
38
+ type __VLS_WithDefaults<P, D> = {
39
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
40
+ default: D[K];
41
+ }> : P[K];
42
+ };
43
+ type __VLS_Prettify<T> = {
44
+ [K in keyof T]: T[K];
45
+ } & {};
@@ -0,0 +1,61 @@
1
+ /**
2
+ * 菜单相关类型定义
3
+ */
4
+ /**
5
+ * 查询条件模型
6
+ */
7
+ export interface MenuQueryModel {
8
+ name?: string;
9
+ path?: string;
10
+ type?: string;
11
+ includeFunc?: boolean;
12
+ [key: string]: any;
13
+ }
14
+ /**
15
+ * 列表行数据模型
16
+ */
17
+ export interface MenuRowModel {
18
+ id: string | number;
19
+ menuName: string;
20
+ menuPath?: string;
21
+ menuType: string;
22
+ status: number;
23
+ sortOrder?: number;
24
+ parentId?: string | number;
25
+ menuIcon?: string;
26
+ menuLevel?: number;
27
+ menuCode?: string;
28
+ description?: string;
29
+ children?: MenuRowModel[];
30
+ [key: string]: any;
31
+ }
32
+ /**
33
+ * 表单数据模型
34
+ */
35
+ export interface MenuFormModel {
36
+ id?: string | number;
37
+ menuName: string;
38
+ menuPath?: string;
39
+ menuType: string;
40
+ status?: number;
41
+ sortOrder?: number;
42
+ parentId?: string | number;
43
+ menuIcon?: string;
44
+ menuLevel?: number;
45
+ menuCode?: string;
46
+ description?: string;
47
+ visible?: number;
48
+ [key: string]: any;
49
+ }
50
+ /**
51
+ * API 通用响应模型
52
+ */
53
+ export interface ApiResponse<T = any> {
54
+ code: number;
55
+ message: string;
56
+ data: T;
57
+ traceId?: string | null;
58
+ timestamp?: string;
59
+ success?: boolean;
60
+ failure?: boolean;
61
+ }