xto-fronted 0.4.68 → 0.4.69

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 (86) hide show
  1. package/dist/App.vue.d.ts +2 -0
  2. package/dist/api/auth.d.ts +8 -0
  3. package/dist/api/system.d.ts +16 -0
  4. package/dist/api/user.d.ts +13 -0
  5. package/dist/components/Layout/Footer.vue.d.ts +2 -0
  6. package/dist/components/Layout/Header.vue.d.ts +5 -0
  7. package/dist/components/Layout/MixTopMenu.vue.d.ts +5 -0
  8. package/dist/components/Layout/Sidebar.vue.d.ts +11 -0
  9. package/dist/components/Layout/SidebarMenuItem.vue.d.ts +5 -0
  10. package/dist/components/Layout/Tabs.vue.d.ts +2 -0
  11. package/dist/components/Layout/TopMenu.vue.d.ts +5 -0
  12. package/dist/components/Layout/index.vue.d.ts +2 -0
  13. package/dist/composables/useApp.d.ts +29 -0
  14. package/dist/composables/useAuth.d.ts +6 -0
  15. package/dist/composables/useForm.d.ts +20 -0
  16. package/dist/composables/useTable.d.ts +29 -0
  17. package/dist/directives/permission.d.ts +4 -0
  18. package/dist/enums/index.d.ts +32 -0
  19. package/dist/index-BvMcnGze.js +142 -0
  20. package/dist/index-D0JXJmlJ.js +372 -0
  21. package/dist/index-DZEVfuKk.js +475 -0
  22. package/dist/index-Df8leAO9.js +345 -0
  23. package/dist/index-XgM0GMu2.js +3163 -0
  24. package/dist/index.d.ts +54 -0
  25. package/dist/index.es.js +91 -0
  26. package/dist/index.umd.js +1 -0
  27. package/dist/main.d.ts +0 -0
  28. package/dist/router/dynamicRoutes.d.ts +30 -0
  29. package/dist/router/guards.d.ts +17 -0
  30. package/dist/router/index.d.ts +6 -0
  31. package/dist/router/layoutRoute.d.ts +18 -0
  32. package/dist/router/staticRoutes.d.ts +2 -0
  33. package/dist/stores/app.d.ts +93 -0
  34. package/dist/stores/auth.d.ts +41 -0
  35. package/dist/stores/index.d.ts +9 -0
  36. package/dist/stores/menu.d.ts +77 -0
  37. package/dist/stores/user.d.ts +92 -0
  38. package/dist/style.css +1 -0
  39. package/dist/utils/auth.d.ts +27 -0
  40. package/dist/utils/config.d.ts +30 -0
  41. package/dist/utils/permission.d.ts +18 -0
  42. package/dist/utils/request.d.ts +24 -0
  43. package/dist/utils/storage.d.ts +24 -0
  44. package/dist/views/dashboard/index.vue.d.ts +2 -0
  45. package/dist/views/error/403.vue.d.ts +2 -0
  46. package/dist/views/error/404.vue.d.ts +2 -0
  47. package/dist/views/login/index.vue.d.ts +4 -0
  48. package/dist/views/system/menu/index.vue.d.ts +4 -0
  49. package/dist/views/system/role/index.vue.d.ts +4 -0
  50. package/dist/views/system/user/index.vue.d.ts +4 -0
  51. package/package.json +1 -1
  52. package/dist/assets/404-BS12ujqV.js +0 -1
  53. package/dist/assets/404-CH5_LdtS.css +0 -1
  54. package/dist/assets/_plugin-vue_export-helper-DlAUqK2U.js +0 -1
  55. package/dist/assets/index-BCVrIpUE.css +0 -1
  56. package/dist/assets/index-BOEFG4lP.css +0 -1
  57. package/dist/assets/index-BRR97dc6.js +0 -1
  58. package/dist/assets/index-CUh_s55Z.css +0 -1
  59. package/dist/assets/index-CW3T5R7h.js +0 -1
  60. package/dist/assets/index-CivgOS-Y.js +0 -2
  61. package/dist/assets/index-Cxf-jRPo.js +0 -1
  62. package/dist/assets/index-D4u7Gmf9.js +0 -1
  63. package/dist/assets/index-D9wlAuR_.js +0 -1
  64. package/dist/assets/index-DB6TpRDX.js +0 -1
  65. package/dist/assets/index-DFi-u9k3.js +0 -1
  66. package/dist/assets/index-DawJb02s.css +0 -1
  67. package/dist/assets/index-GDP-IkXE.css +0 -1
  68. package/dist/assets/index-PfV8pzQz.css +0 -1
  69. package/dist/assets/index-Swfu6yvD.css +0 -1
  70. package/dist/assets/vendor-42ANG6Sg.js +0 -6
  71. package/dist/assets/vite-Dw-pgLOX.js +0 -1
  72. package/dist/assets/vue-vendor-Br-l7wbK.js +0 -29
  73. package/dist/assets/xto-base-CojW9IFO.css +0 -1
  74. package/dist/assets/xto-base-_Rb31vAT.js +0 -1
  75. package/dist/assets/xto-business--V1F5Gwb.css +0 -1
  76. package/dist/assets/xto-core-DZK7Cyg0.js +0 -1
  77. package/dist/assets/xto-data-BFpiDgJi.js +0 -1
  78. package/dist/assets/xto-data-CnAQAQH2.css +0 -1
  79. package/dist/assets/xto-feedback-C-ESp-Y1.css +0 -1
  80. package/dist/assets/xto-feedback-xD2AV0I4.js +0 -1
  81. package/dist/assets/xto-form-CGbFA4jG.js +0 -1
  82. package/dist/assets/xto-form-CrsyAjyr.css +0 -1
  83. package/dist/assets/xto-layout-D1stVnJI.css +0 -1
  84. package/dist/assets/xto-navigation-BRzSCpAw.css +0 -1
  85. package/dist/assets/xto-navigation-CvGQ2s27.js +0 -1
  86. package/dist/index.html +0 -28
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
2
+ export default _default;
@@ -0,0 +1,8 @@
1
+ import { LoginParams, LoginResult, UserInfo } from '../types/api';
2
+ export declare function login(data: LoginParams): Promise<LoginResult>;
3
+ export declare function logout(): Promise<unknown>;
4
+ export declare function getUserInfo(): Promise<UserInfo>;
5
+ export declare function refreshToken(refreshToken: string): Promise<{
6
+ token: string;
7
+ expireTime: number;
8
+ }>;
@@ -0,0 +1,16 @@
1
+ import { PageParams, PageResponse } from '../utils/request';
2
+ import { RoleInfo, MenuItem } from '../types/api';
3
+ export declare function getRoleList(params: PageParams & {
4
+ status?: number;
5
+ keyword?: string;
6
+ }): Promise<PageResponse<RoleInfo>>;
7
+ export declare function getRoleDetail(id: string | number): Promise<RoleInfo>;
8
+ export declare function createRole(data: Partial<RoleInfo>): Promise<RoleInfo>;
9
+ export declare function updateRole(id: string | number, data: Partial<RoleInfo>): Promise<RoleInfo>;
10
+ export declare function deleteRole(id: string | number): Promise<unknown>;
11
+ export declare function updateRoleStatus(id: string | number, status: number): Promise<unknown>;
12
+ export declare function getMenuList(): Promise<MenuItem[]>;
13
+ export declare function getMenuTree(appId?: string): Promise<MenuItem[]>;
14
+ export declare function createMenu(data: Partial<MenuItem>): Promise<MenuItem>;
15
+ export declare function updateMenu(id: string | number, data: Partial<MenuItem>): Promise<MenuItem>;
16
+ export declare function deleteMenu(id: string | number): Promise<unknown>;
@@ -0,0 +1,13 @@
1
+ import { PageParams, PageResponse } from '../utils/request';
2
+ import { UserInfo } from '../types/api';
3
+ export declare function getUserList(params: PageParams & {
4
+ status?: number;
5
+ keyword?: string;
6
+ }): Promise<PageResponse<UserInfo>>;
7
+ export declare function getUserDetail(id: string | number): Promise<UserInfo>;
8
+ export declare function createUser(data: Partial<UserInfo>): Promise<UserInfo>;
9
+ export declare function updateUser(id: string | number, data: Partial<UserInfo>): Promise<UserInfo>;
10
+ export declare function deleteUser(id: string | number): Promise<unknown>;
11
+ export declare function batchDeleteUsers(ids: (string | number)[]): Promise<unknown>;
12
+ export declare function updateUserStatus(id: string | number, status: number): Promise<unknown>;
13
+ export declare function resetPassword(id: string | number): Promise<unknown>;
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
2
+ export default _default;
@@ -0,0 +1,5 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
2
+ searchRef: HTMLDivElement;
3
+ dropdownRef: HTMLDivElement;
4
+ }, HTMLDivElement>;
5
+ export default _default;
@@ -0,0 +1,5 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
2
+ searchRef: HTMLDivElement;
3
+ dropdownRef: HTMLDivElement;
4
+ }, HTMLDivElement>;
5
+ export default _default;
@@ -0,0 +1,11 @@
1
+ type __VLS_Props = {
2
+ menuList?: any[];
3
+ showLogo?: boolean;
4
+ showUser?: boolean;
5
+ };
6
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
7
+ menuList: any[];
8
+ showLogo: boolean;
9
+ showUser: boolean;
10
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
11
+ export default _default;
@@ -0,0 +1,5 @@
1
+ type __VLS_Props = {
2
+ menu: any;
3
+ };
4
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
5
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
2
+ export default _default;
@@ -0,0 +1,5 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
2
+ searchRef: HTMLDivElement;
3
+ dropdownRef: HTMLDivElement;
4
+ }, HTMLDivElement>;
5
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,29 @@
1
+ /**
2
+ * 应用组合函数
3
+ * 提供应用级别的状态和方法
4
+ */
5
+ /**
6
+ * 应用级别组合函数
7
+ * @returns 应用状态和方法
8
+ */
9
+ export declare function useApp(): {
10
+ userName: import('vue').ComputedRef<string>;
11
+ userInfo: import('vue').ComputedRef<{
12
+ appId: string;
13
+ userId: string;
14
+ userName: string;
15
+ departmentName?: string | undefined;
16
+ email?: string | undefined;
17
+ mobilePhone?: string | undefined;
18
+ positionName?: string | undefined;
19
+ avatar?: string | undefined;
20
+ } | null>;
21
+ appName: import('vue').ComputedRef<string>;
22
+ isLoggedIn: import('vue').ComputedRef<boolean>;
23
+ isDark: import('vue').ComputedRef<boolean>;
24
+ theme: import('vue').ComputedRef<import('../stores/app').ThemeMode>;
25
+ isCollapsed: import('vue').ComputedRef<boolean>;
26
+ layout: import('vue').ComputedRef<import('../stores/app').LayoutMode>;
27
+ toggleTheme: () => void;
28
+ toggleCollapse: () => void;
29
+ };
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 权限组合函数
3
+ */
4
+ export declare function useAuth(): {
5
+ isLoggedIn: import('vue').ComputedRef<boolean>;
6
+ };
@@ -0,0 +1,20 @@
1
+ /**
2
+ * 表单组合函数
3
+ */
4
+ export interface FormOptions<T = any> {
5
+ rules?: Record<string, any[]>;
6
+ onSubmit?: (data: T) => Promise<void> | void;
7
+ }
8
+ export declare function useForm<T extends Record<string, any> = Record<string, any>>(initialValues: T, options?: FormOptions<T>): {
9
+ formRef: import('vue').Ref<any, any>;
10
+ formData: import('vue').Reactive<T>;
11
+ rules: Record<string, any[]> | undefined;
12
+ loading: import('vue').Ref<boolean, boolean>;
13
+ visible: import('vue').Ref<boolean, boolean>;
14
+ isEdit: import('vue').Ref<boolean, boolean>;
15
+ openAdd: () => void;
16
+ openEdit: (data: Partial<T>) => void;
17
+ close: () => void;
18
+ resetForm: () => void;
19
+ handleSubmit: () => Promise<void>;
20
+ };
@@ -0,0 +1,29 @@
1
+ /**
2
+ * 表格组合函数
3
+ */
4
+ export interface TableOptions<T = any> {
5
+ fetchData: (params: any) => Promise<{
6
+ list: T[];
7
+ total: number;
8
+ }>;
9
+ defaultPageSize?: number;
10
+ }
11
+ export declare function useTable<T = any>(options: TableOptions<T>): {
12
+ loading: import('vue').Ref<boolean, boolean>;
13
+ data: any;
14
+ total: import('vue').Ref<number, number>;
15
+ currentPage: import('vue').Ref<number, number>;
16
+ pageSize: import('vue').Ref<number, number>;
17
+ searchParams: Record<string, any>;
18
+ pagination: import('vue').ComputedRef<{
19
+ current: number;
20
+ pageSize: number;
21
+ total: number;
22
+ }>;
23
+ getData: () => Promise<void>;
24
+ handleSearch: () => void;
25
+ handleReset: () => void;
26
+ handlePageChange: (page: number) => void;
27
+ handleSizeChange: (size: number) => void;
28
+ refresh: () => void;
29
+ };
@@ -0,0 +1,4 @@
1
+ import { Directive } from 'vue';
2
+ declare const permission: Directive;
3
+ export default permission;
4
+ export declare function setupPermissionDirective(app: any): void;
@@ -0,0 +1,32 @@
1
+ /**
2
+ * 枚举常量
3
+ */
4
+ export declare enum Status {
5
+ ENABLED = 1,
6
+ DISABLED = 0
7
+ }
8
+ export declare enum Gender {
9
+ UNKNOWN = 0,
10
+ MALE = 1,
11
+ FEMALE = 2
12
+ }
13
+ export declare enum MenuType {
14
+ DIRECTORY = 0,
15
+ MENU = 1,
16
+ BUTTON = 2
17
+ }
18
+ export declare const StatusText: Record<Status, string>;
19
+ export declare const GenderText: Record<Gender, string>;
20
+ export declare const MenuTypeText: Record<MenuType, string>;
21
+ export declare const StatusOptions: {
22
+ label: string;
23
+ value: Status;
24
+ }[];
25
+ export declare const GenderOptions: {
26
+ label: string;
27
+ value: Gender;
28
+ }[];
29
+ export declare const MenuTypeOptions: {
30
+ label: string;
31
+ value: MenuType;
32
+ }[];
@@ -0,0 +1,142 @@
1
+ import { defineComponent as g, ref as r, resolveComponent as x, openBlock as o, createElementBlock as c, createElementVNode as s, Fragment as d, renderList as m, createBlock as u, unref as l, withCtx as i, normalizeStyle as p, toDisplayString as a, createVNode as n, createTextVNode as q } from "vue";
2
+ import { Card as _, Tag as C, Progress as y } from "@xto/data";
3
+ import { _ as V } from "./index-XgM0GMu2.js";
4
+ const B = { class: "dashboard" }, L = { class: "dashboard__stats" }, N = { class: "stat-card__content" }, S = { class: "stat-card__info" }, w = { class: "stat-card__title" }, z = { class: "dashboard__main" }, E = { class: "quick-links" }, I = { class: "quick-link__icon" }, T = { class: "quick-link__title" }, D = { class: "activity-list" }, F = { class: "activity-item__action" }, P = { class: "activity-item__time" }, U = { class: "system-info" }, j = { class: "system-info__item" }, A = { class: "system-info__item" }, G = /* @__PURE__ */ g({
5
+ __name: "index",
6
+ setup(H) {
7
+ const f = r([
8
+ { title: "用户总数", value: 1234, icon: "👥", color: "#409eff" },
9
+ { title: "今日访问", value: 567, icon: "👀", color: "#67c23a" },
10
+ { title: "订单数量", value: 890, icon: "📦", color: "#e6a23c" },
11
+ { title: "销售金额", value: 123456, icon: "💰", color: "#f56c6c" }
12
+ ]), v = r([
13
+ { user: "张三", action: "登录系统", time: "2分钟前", type: "success" },
14
+ { user: "李四", action: "修改了用户信息", time: "5分钟前", type: "warning" },
15
+ { user: "王五", action: "创建了新订单", time: "10分钟前", type: "info" },
16
+ { user: "赵六", action: "删除了测试数据", time: "30分钟前", type: "danger" },
17
+ { user: "钱七", action: "更新了系统配置", time: "1小时前", type: "primary" }
18
+ ]), k = r([
19
+ { title: "用户管理", path: "/system/user", icon: "👤" },
20
+ { title: "角色管理", path: "/system/role", icon: "👥" },
21
+ { title: "菜单管理", path: "/system/menu", icon: "📋" },
22
+ { title: "系统设置", path: "/system", icon: "⚙️" }
23
+ ]);
24
+ return (J, t) => {
25
+ const b = x("router-link");
26
+ return o(), c("div", B, [
27
+ s("div", L, [
28
+ (o(!0), c(d, null, m(f.value, (e) => (o(), u(l(_), {
29
+ key: e.title,
30
+ class: "stat-card"
31
+ }, {
32
+ default: i(() => [
33
+ s("div", N, [
34
+ s("div", {
35
+ class: "stat-card__icon",
36
+ style: p({ backgroundColor: e.color + "20" })
37
+ }, a(e.icon), 5),
38
+ s("div", S, [
39
+ s("div", w, a(e.title), 1),
40
+ s("div", {
41
+ class: "stat-card__value",
42
+ style: p({ color: e.color })
43
+ }, a(e.value.toLocaleString()), 5)
44
+ ])
45
+ ])
46
+ ]),
47
+ _: 2
48
+ }, 1024))), 128))
49
+ ]),
50
+ s("div", z, [
51
+ n(l(_), { class: "dashboard__quick" }, {
52
+ header: i(() => [...t[0] || (t[0] = [
53
+ s("span", { class: "card-title" }, "快捷入口", -1)
54
+ ])]),
55
+ default: i(() => [
56
+ s("div", E, [
57
+ (o(!0), c(d, null, m(k.value, (e) => (o(), u(b, {
58
+ key: e.path,
59
+ to: e.path,
60
+ class: "quick-link"
61
+ }, {
62
+ default: i(() => [
63
+ s("span", I, a(e.icon), 1),
64
+ s("span", T, a(e.title), 1)
65
+ ]),
66
+ _: 2
67
+ }, 1032, ["to"]))), 128))
68
+ ])
69
+ ]),
70
+ _: 1
71
+ }),
72
+ n(l(_), { class: "dashboard__activity" }, {
73
+ header: i(() => [...t[1] || (t[1] = [
74
+ s("span", { class: "card-title" }, "最近活动", -1)
75
+ ])]),
76
+ default: i(() => [
77
+ s("div", D, [
78
+ (o(!0), c(d, null, m(v.value, (e, h) => (o(), c("div", {
79
+ key: h,
80
+ class: "activity-item"
81
+ }, [
82
+ n(l(C), {
83
+ type: e.type,
84
+ size: "small"
85
+ }, {
86
+ default: i(() => [
87
+ q(a(e.user), 1)
88
+ ]),
89
+ _: 2
90
+ }, 1032, ["type"]),
91
+ s("span", F, a(e.action), 1),
92
+ s("span", P, a(e.time), 1)
93
+ ]))), 128))
94
+ ])
95
+ ]),
96
+ _: 1
97
+ })
98
+ ]),
99
+ n(l(_), { class: "dashboard__system" }, {
100
+ header: i(() => [...t[2] || (t[2] = [
101
+ s("span", { class: "card-title" }, "系统信息", -1)
102
+ ])]),
103
+ default: i(() => [
104
+ s("div", U, [
105
+ t[5] || (t[5] = s("div", { class: "system-info__item" }, [
106
+ s("span", { class: "system-info__label" }, "系统版本"),
107
+ s("span", { class: "system-info__value" }, "v1.0.0")
108
+ ], -1)),
109
+ t[6] || (t[6] = s("div", { class: "system-info__item" }, [
110
+ s("span", { class: "system-info__label" }, "Vue 版本"),
111
+ s("span", { class: "system-info__value" }, "3.4.21")
112
+ ], -1)),
113
+ t[7] || (t[7] = s("div", { class: "system-info__item" }, [
114
+ s("span", { class: "system-info__label" }, "构建工具"),
115
+ s("span", { class: "system-info__value" }, "Vite 5")
116
+ ], -1)),
117
+ t[8] || (t[8] = s("div", { class: "system-info__item" }, [
118
+ s("span", { class: "system-info__label" }, "UI 组件库"),
119
+ s("span", { class: "system-info__value" }, "xto")
120
+ ], -1)),
121
+ s("div", j, [
122
+ t[3] || (t[3] = s("span", { class: "system-info__label" }, "服务器状态", -1)),
123
+ n(l(y), {
124
+ percentage: 75,
125
+ status: "success"
126
+ })
127
+ ]),
128
+ s("div", A, [
129
+ t[4] || (t[4] = s("span", { class: "system-info__label" }, "内存使用", -1)),
130
+ n(l(y), { percentage: 45 })
131
+ ])
132
+ ])
133
+ ]),
134
+ _: 1
135
+ })
136
+ ]);
137
+ };
138
+ }
139
+ }), Q = /* @__PURE__ */ V(G, [["__scopeId", "data-v-44648cb1"]]);
140
+ export {
141
+ Q as default
142
+ };