xto-fronted 0.4.7 → 0.4.8

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 (75) hide show
  1. package/.env.development +7 -7
  2. package/.env.production +7 -7
  3. package/dist/assets/403-AFBQifUI.js +1 -0
  4. package/dist/assets/403-BHEXXbt2.css +1 -0
  5. package/dist/assets/404-Ct_A1n7S.css +1 -0
  6. package/dist/assets/404-WFvpcD2_.js +1 -0
  7. package/dist/assets/_plugin-vue_export-helper-DlAUqK2U.js +1 -0
  8. package/dist/assets/index-1juADvYN.js +2 -0
  9. package/dist/assets/index-B-sX4Ru0.js +1 -0
  10. package/dist/assets/index-BMcziU5a.css +1 -0
  11. package/dist/assets/index-BRR97dc6.js +1 -0
  12. package/dist/assets/index-BZA0ksjx.css +1 -0
  13. package/dist/assets/index-BpV_8nl0.js +1 -0
  14. package/dist/assets/index-BvzhR4zp.js +1 -0
  15. package/dist/assets/index-CUh_s55Z.css +1 -0
  16. package/dist/assets/index-CVjdnIgR.css +1 -0
  17. package/dist/assets/index-CYq57-zj.js +1 -0
  18. package/dist/assets/index-CkL3sVAQ.js +2 -0
  19. package/dist/assets/index-CtrKVYJb.css +1 -0
  20. package/dist/assets/index-Cz2P_bsS.js +1 -0
  21. package/dist/assets/index-D9wlAuR_.js +1 -0
  22. package/dist/assets/index-DawJb02s.css +1 -0
  23. package/dist/assets/index-DfFR6NLf.js +1 -0
  24. package/dist/assets/index-DwVgMO8e.js +1 -0
  25. package/dist/assets/index-GDP-IkXE.css +1 -0
  26. package/dist/assets/index-Iaz1ZzPC.js +2 -0
  27. package/dist/assets/index-PfV8pzQz.css +1 -0
  28. package/dist/assets/index-Swfu6yvD.css +1 -0
  29. package/dist/assets/index-Te8_PRgJ.js +1 -0
  30. package/dist/assets/index-WyZ91RLx.css +1 -0
  31. package/dist/assets/index-tFYRoFdE.js +1 -0
  32. package/dist/assets/vendor-42ANG6Sg.js +6 -0
  33. package/dist/assets/vite-Dw-pgLOX.js +1 -0
  34. package/dist/assets/vue-vendor-Br-l7wbK.js +29 -0
  35. package/dist/assets/xto-base-C-IBqjVs.js +1 -0
  36. package/dist/assets/xto-base-C6eqMPdO.css +1 -0
  37. package/dist/assets/xto-business--V1F5Gwb.css +1 -0
  38. package/dist/assets/xto-core-DZK7Cyg0.js +1 -0
  39. package/dist/assets/xto-data-BFpiDgJi.js +1 -0
  40. package/dist/assets/xto-data-CnAQAQH2.css +1 -0
  41. package/dist/assets/xto-feedback-B7ipsTfz.js +1 -0
  42. package/dist/assets/xto-feedback-DBwJzoTj.css +1 -0
  43. package/dist/assets/xto-form-CrsyAjyr.css +1 -0
  44. package/dist/assets/xto-form-NRjKKNcY.js +1 -0
  45. package/dist/assets/xto-layout-BqU8RuWL.css +1 -0
  46. package/dist/assets/xto-navigation-BiSaXPfr.js +1 -0
  47. package/dist/assets/xto-navigation-C1cnSL2E.css +1 -0
  48. package/dist/assets/xto-navigation-CBPg4dCc.css +1 -0
  49. package/dist/assets/xto-navigation-CKabFu9d.js +1 -0
  50. package/dist/index.html +28 -0
  51. package/package.json +85 -85
  52. package/src/api/auth.ts +25 -25
  53. package/src/api/system.ts +66 -66
  54. package/src/assets/styles/_dark.scss +406 -406
  55. package/src/components/Layout/Header.vue +973 -973
  56. package/src/components/Layout/Sidebar.vue +273 -273
  57. package/src/components/Layout/index.vue +443 -63
  58. package/src/composables/useApp.ts +61 -61
  59. package/src/composables/useAuth.ts +16 -16
  60. package/src/directives/permission.ts +27 -27
  61. package/src/env.d.ts +18 -18
  62. package/src/index.ts +47 -47
  63. package/src/router/dynamicRoutes.ts +162 -162
  64. package/src/router/guards.ts +128 -128
  65. package/src/router/index.ts +79 -79
  66. package/src/stores/auth.ts +65 -65
  67. package/src/stores/menu.ts +48 -48
  68. package/src/stores/user.ts +50 -50
  69. package/src/types/api.d.ts +80 -80
  70. package/src/utils/auth.ts +99 -99
  71. package/src/utils/config.ts +80 -80
  72. package/src/utils/permission.ts +32 -32
  73. package/src/utils/request.ts +124 -124
  74. package/src/views/login/index.vue +194 -194
  75. package/vite.config.ts +135 -135
package/vite.config.ts CHANGED
@@ -1,136 +1,136 @@
1
- import { defineConfig, loadEnv } from 'vite'
2
- import vue from '@vitejs/plugin-vue'
3
- import dts from 'vite-plugin-dts'
4
- import { resolve } from 'path'
5
-
6
- export default defineConfig(({ mode }) => {
7
- const env = loadEnv(mode, process.cwd())
8
- const isLib = mode === 'lib'
9
-
10
- return {
11
- plugins: [
12
- vue(),
13
- ...(isLib ? [dts({ insertTypesEntry: true, outDir: 'dist' })] : [])
14
- ],
15
- resolve: {
16
- alias: {
17
- '@': resolve(__dirname, 'src'),
18
- '@xto/base/es/style.css': resolve(__dirname, 'node_modules/@xto/base/es/style.css'),
19
- '@xto/form/es/style.css': resolve(__dirname, 'node_modules/@xto/form/es/style.css'),
20
- '@xto/data/es/style.css': resolve(__dirname, 'node_modules/@xto/data/es/style.css'),
21
- '@xto/feedback/es/style.css': resolve(__dirname, 'node_modules/@xto/feedback/es/style.css'),
22
- '@xto/navigation/es/style.css': resolve(__dirname, 'node_modules/@xto/navigation/es/style.css'),
23
- '@xto/layout/es/style.css': resolve(__dirname, 'node_modules/@xto/layout/es/style.css'),
24
- '@xto/business/es/style.css': resolve(__dirname, 'node_modules/@xto/business/es/style.css'),
25
- }
26
- },
27
- // 开发模式优化
28
- optimizeDeps: {
29
- include: [
30
- 'vue',
31
- 'vue-router',
32
- 'pinia',
33
- 'axios'
34
- ],
35
- exclude: [
36
- '@xto/core',
37
- '@xto/base',
38
- '@xto/form',
39
- '@xto/data',
40
- '@xto/feedback',
41
- '@xto/navigation',
42
- '@xto/layout',
43
- '@xto/business'
44
- ]
45
- },
46
- server: {
47
- host: '0.0.0.0',
48
- port: 3000,
49
- open: true,
50
- proxy: {
51
- '/api': {
52
- target: env.VITE_API_BASE_URL || 'http://localhost:8080',
53
- changeOrigin: true,
54
- rewrite: (path) => path.replace(/^\/api/, '')
55
- }
56
- }
57
- },
58
- build: {
59
- outDir: 'dist',
60
- sourcemap: false,
61
- chunkSizeWarningLimit: 1500,
62
- // 库模式配置
63
- lib: isLib ? {
64
- entry: resolve(__dirname, 'src/index.ts'),
65
- name: 'XtoFronted',
66
- fileName: (format: string) => `index.${format === 'es' ? 'es.js' : 'umd.js'}`,
67
- formats: ['es', 'umd']
68
- } : undefined,
69
- rollupOptions: {
70
- // 库模式下排除外部依赖
71
- external: isLib ? [
72
- 'vue',
73
- 'vue-router',
74
- 'pinia',
75
- 'axios',
76
- /^@xto\//
77
- ] : undefined,
78
- output: isLib ? {
79
- globals: {
80
- vue: 'Vue',
81
- 'vue-router': 'VueRouter',
82
- pinia: 'Pinia',
83
- axios: 'axios'
84
- },
85
- exports: 'named'
86
- } : {
87
- manualChunks(id) {
88
- // Vue 全家桶单独打包
89
- if (id.includes('node_modules/vue/') ||
90
- id.includes('node_modules/@vue/') ||
91
- id.includes('node_modules/vue-router/') ||
92
- id.includes('node_modules/pinia/')) {
93
- return 'vue-vendor'
94
- }
95
- // 组件库按包分割,实现按需加载
96
- if (id.includes('@xto/core')) {
97
- return 'xto-core'
98
- }
99
- if (id.includes('@xto/base')) {
100
- return 'xto-base'
101
- }
102
- if (id.includes('@xto/form')) {
103
- return 'xto-form'
104
- }
105
- if (id.includes('@xto/data')) {
106
- return 'xto-data'
107
- }
108
- if (id.includes('@xto/feedback')) {
109
- return 'xto-feedback'
110
- }
111
- if (id.includes('@xto/navigation')) {
112
- return 'xto-navigation'
113
- }
114
- if (id.includes('@xto/layout')) {
115
- return 'xto-layout'
116
- }
117
- if (id.includes('@xto/business')) {
118
- return 'xto-business'
119
- }
120
- // 其他第三方库
121
- if (id.includes('node_modules/')) {
122
- return 'vendor'
123
- }
124
- }
125
- }
126
- }
127
- },
128
- css: {
129
- preprocessorOptions: {
130
- scss: {
131
- api: 'modern-compiler'
132
- }
133
- }
134
- }
135
- }
1
+ import { defineConfig, loadEnv } from 'vite'
2
+ import vue from '@vitejs/plugin-vue'
3
+ import dts from 'vite-plugin-dts'
4
+ import { resolve } from 'path'
5
+
6
+ export default defineConfig(({ mode }) => {
7
+ const env = loadEnv(mode, process.cwd())
8
+ const isLib = mode === 'lib'
9
+
10
+ return {
11
+ plugins: [
12
+ vue(),
13
+ ...(isLib ? [dts({ insertTypesEntry: true, outDir: 'dist' })] : [])
14
+ ],
15
+ resolve: {
16
+ alias: {
17
+ '@': resolve(__dirname, 'src'),
18
+ '@xto/base/es/style.css': resolve(__dirname, 'node_modules/@xto/base/es/style.css'),
19
+ '@xto/form/es/style.css': resolve(__dirname, 'node_modules/@xto/form/es/style.css'),
20
+ '@xto/data/es/style.css': resolve(__dirname, 'node_modules/@xto/data/es/style.css'),
21
+ '@xto/feedback/es/style.css': resolve(__dirname, 'node_modules/@xto/feedback/es/style.css'),
22
+ '@xto/navigation/es/style.css': resolve(__dirname, 'node_modules/@xto/navigation/es/style.css'),
23
+ '@xto/layout/es/style.css': resolve(__dirname, 'node_modules/@xto/layout/es/style.css'),
24
+ '@xto/business/es/style.css': resolve(__dirname, 'node_modules/@xto/business/es/style.css'),
25
+ }
26
+ },
27
+ // 开发模式优化
28
+ optimizeDeps: {
29
+ include: [
30
+ 'vue',
31
+ 'vue-router',
32
+ 'pinia',
33
+ 'axios'
34
+ ],
35
+ exclude: [
36
+ '@xto/core',
37
+ '@xto/base',
38
+ '@xto/form',
39
+ '@xto/data',
40
+ '@xto/feedback',
41
+ '@xto/navigation',
42
+ '@xto/layout',
43
+ '@xto/business'
44
+ ]
45
+ },
46
+ server: {
47
+ host: '0.0.0.0',
48
+ port: 3000,
49
+ open: true,
50
+ proxy: {
51
+ '/api': {
52
+ target: 'http://localhost:8888',
53
+ changeOrigin: true,
54
+ rewrite: (path) => path.replace(/^\/api/, '')
55
+ }
56
+ }
57
+ },
58
+ build: {
59
+ outDir: 'dist',
60
+ sourcemap: false,
61
+ chunkSizeWarningLimit: 1500,
62
+ // 库模式配置
63
+ lib: isLib ? {
64
+ entry: resolve(__dirname, 'src/index.ts'),
65
+ name: 'XtoFronted',
66
+ fileName: (format: string) => `index.${format === 'es' ? 'es.js' : 'umd.js'}`,
67
+ formats: ['es', 'umd']
68
+ } : undefined,
69
+ rollupOptions: {
70
+ // 库模式下排除外部依赖
71
+ external: isLib ? [
72
+ 'vue',
73
+ 'vue-router',
74
+ 'pinia',
75
+ 'axios',
76
+ /^@xto\//
77
+ ] : undefined,
78
+ output: isLib ? {
79
+ globals: {
80
+ vue: 'Vue',
81
+ 'vue-router': 'VueRouter',
82
+ pinia: 'Pinia',
83
+ axios: 'axios'
84
+ },
85
+ exports: 'named'
86
+ } : {
87
+ manualChunks(id) {
88
+ // Vue 全家桶单独打包
89
+ if (id.includes('node_modules/vue/') ||
90
+ id.includes('node_modules/@vue/') ||
91
+ id.includes('node_modules/vue-router/') ||
92
+ id.includes('node_modules/pinia/')) {
93
+ return 'vue-vendor'
94
+ }
95
+ // 组件库按包分割,实现按需加载
96
+ if (id.includes('@xto/core')) {
97
+ return 'xto-core'
98
+ }
99
+ if (id.includes('@xto/base')) {
100
+ return 'xto-base'
101
+ }
102
+ if (id.includes('@xto/form')) {
103
+ return 'xto-form'
104
+ }
105
+ if (id.includes('@xto/data')) {
106
+ return 'xto-data'
107
+ }
108
+ if (id.includes('@xto/feedback')) {
109
+ return 'xto-feedback'
110
+ }
111
+ if (id.includes('@xto/navigation')) {
112
+ return 'xto-navigation'
113
+ }
114
+ if (id.includes('@xto/layout')) {
115
+ return 'xto-layout'
116
+ }
117
+ if (id.includes('@xto/business')) {
118
+ return 'xto-business'
119
+ }
120
+ // 其他第三方库
121
+ if (id.includes('node_modules/')) {
122
+ return 'vendor'
123
+ }
124
+ }
125
+ }
126
+ }
127
+ },
128
+ css: {
129
+ preprocessorOptions: {
130
+ scss: {
131
+ api: 'modern-compiler'
132
+ }
133
+ }
134
+ }
135
+ }
136
136
  })