create-jnrs-template-vue 1.0.3

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 (209) hide show
  1. package/bin/create.js +148 -0
  2. package/bin/release.mjs +97 -0
  3. package/jnrs-template-vue/.env.development +13 -0
  4. package/jnrs-template-vue/.env.example +14 -0
  5. package/jnrs-template-vue/.env.production +4 -0
  6. package/jnrs-template-vue/README.md +40 -0
  7. package/jnrs-template-vue/auto-imports.d.ts +10 -0
  8. package/jnrs-template-vue/components.d.ts +38 -0
  9. package/jnrs-template-vue/dist/assets/403-55YASZLT.js +1 -0
  10. package/jnrs-template-vue/dist/assets/403-D-mG3HAD.css +1 -0
  11. package/jnrs-template-vue/dist/assets/404-BqrrbZGC.png +0 -0
  12. package/jnrs-template-vue/dist/assets/404-D4Vl2MWc.css +1 -0
  13. package/jnrs-template-vue/dist/assets/404-DVLSsp1-.js +1 -0
  14. package/jnrs-template-vue/dist/assets/@jnrs/core-BU1kTVoG.js +6 -0
  15. package/jnrs-template-vue/dist/assets/@jnrs/core-BU1kTVoG.js.gz +0 -0
  16. package/jnrs-template-vue/dist/assets/@jnrs/shared-l0sNRNKZ.js +1 -0
  17. package/jnrs-template-vue/dist/assets/@jnrs/vue-core-l0sNRNKZ.js +1 -0
  18. package/jnrs-template-vue/dist/assets/BlankLayout-B-kY6Y4b.css +1 -0
  19. package/jnrs-template-vue/dist/assets/BlankLayout-CkiI_Nhm.js +1 -0
  20. package/jnrs-template-vue/dist/assets/_plugin-vue_export-helper-DlAUqK2U.js +1 -0
  21. package/jnrs-template-vue/dist/assets/base-CiSqh4F9.css +1 -0
  22. package/jnrs-template-vue/dist/assets/base-CmE9WEcf.js +5 -0
  23. package/jnrs-template-vue/dist/assets/baseInfo-BiTxP_UO.css +1 -0
  24. package/jnrs-template-vue/dist/assets/baseInfo-BiTxP_UO.css.gz +0 -0
  25. package/jnrs-template-vue/dist/assets/baseInfo-CHuis_5y.js +6 -0
  26. package/jnrs-template-vue/dist/assets/baseInfo-CHuis_5y.js.gz +0 -0
  27. package/jnrs-template-vue/dist/assets/cloneDeep-BVBQ-W19.js +1 -0
  28. package/jnrs-template-vue/dist/assets/el-button-5iH8Z9fP.js +3 -0
  29. package/jnrs-template-vue/dist/assets/el-button-5iH8Z9fP.js.gz +0 -0
  30. package/jnrs-template-vue/dist/assets/el-button-BRDnKxwT.css +1 -0
  31. package/jnrs-template-vue/dist/assets/el-button-BRDnKxwT.css.gz +0 -0
  32. package/jnrs-template-vue/dist/assets/el-form-item-BWkJzdQ_.css +1 -0
  33. package/jnrs-template-vue/dist/assets/el-form-item-DylvNks9.js +12 -0
  34. package/jnrs-template-vue/dist/assets/el-form-item-DylvNks9.js.gz +0 -0
  35. package/jnrs-template-vue/dist/assets/el-input-D6B3r8CH.css +1 -0
  36. package/jnrs-template-vue/dist/assets/el-input-D6B3r8CH.css.gz +0 -0
  37. package/jnrs-template-vue/dist/assets/el-popper-4UYDmLWx.js +1 -0
  38. package/jnrs-template-vue/dist/assets/el-popper-4UYDmLWx.js.gz +0 -0
  39. package/jnrs-template-vue/dist/assets/el-popper-C41MzGWJ.css +1 -0
  40. package/jnrs-template-vue/dist/assets/el-tab-pane-BftfEp2_.js +1 -0
  41. package/jnrs-template-vue/dist/assets/el-tab-pane-BftfEp2_.js.gz +0 -0
  42. package/jnrs-template-vue/dist/assets/el-tab-pane-DqZ6zn_1.css +1 -0
  43. package/jnrs-template-vue/dist/assets/el-tab-pane-DqZ6zn_1.css.gz +0 -0
  44. package/jnrs-template-vue/dist/assets/index-B1cTZm95.js +1 -0
  45. package/jnrs-template-vue/dist/assets/index-B5XrJJDw.js +1 -0
  46. package/jnrs-template-vue/dist/assets/index-BGgB6KhI.js +1 -0
  47. package/jnrs-template-vue/dist/assets/index-BYils8Mj.css +1 -0
  48. package/jnrs-template-vue/dist/assets/index-BYils8Mj.css.gz +0 -0
  49. package/jnrs-template-vue/dist/assets/index-CC-eWpht.css +1 -0
  50. package/jnrs-template-vue/dist/assets/index-CRcN6Pzu.js +1 -0
  51. package/jnrs-template-vue/dist/assets/index-CRcN6Pzu.js.gz +0 -0
  52. package/jnrs-template-vue/dist/assets/index-CpWTb2J0.js +1 -0
  53. package/jnrs-template-vue/dist/assets/index-DN0EoMuW.js +1 -0
  54. package/jnrs-template-vue/dist/assets/index-DPbBrzRI.js +1 -0
  55. package/jnrs-template-vue/dist/assets/index-DebQgqfG.js +1 -0
  56. package/jnrs-template-vue/dist/assets/index-DebQgqfG.js.gz +0 -0
  57. package/jnrs-template-vue/dist/assets/index-DqtQTKtP.css +1 -0
  58. package/jnrs-template-vue/dist/assets/index-DqtQTKtP.css.gz +0 -0
  59. package/jnrs-template-vue/dist/assets/index-LwepFxV8.css +1 -0
  60. package/jnrs-template-vue/dist/assets/index-LwepFxV8.css.gz +0 -0
  61. package/jnrs-template-vue/dist/assets/index-XBhlrMBC.js +7 -0
  62. package/jnrs-template-vue/dist/assets/index-XBhlrMBC.js.gz +0 -0
  63. package/jnrs-template-vue/dist/assets/index-ZWYb22SS.js +7 -0
  64. package/jnrs-template-vue/dist/assets/index-ZWYb22SS.js.gz +0 -0
  65. package/jnrs-template-vue/dist/assets/omit-DbAcXfFA.js +1 -0
  66. package/jnrs-template-vue/dist/assets/securitySettings-BNnxaFkx.js +1 -0
  67. package/jnrs-template-vue/dist/assets/securitySettings-Nuun0dL6.css +1 -0
  68. package/jnrs-template-vue/dist/assets/useAvatar-DcJXzEPm.js +1 -0
  69. package/jnrs-template-vue/dist/favicon.ico +0 -0
  70. package/jnrs-template-vue/dist/index.html +15 -0
  71. package/jnrs-template-vue/dist/system/menu.json +61 -0
  72. package/jnrs-template-vue/index.html +13 -0
  73. package/jnrs-template-vue/node_modules/.bin/browserslist +21 -0
  74. package/jnrs-template-vue/node_modules/.bin/esbuild +21 -0
  75. package/jnrs-template-vue/node_modules/.bin/eslint +21 -0
  76. package/jnrs-template-vue/node_modules/.bin/jiti +21 -0
  77. package/jnrs-template-vue/node_modules/.bin/npm-run-all +21 -0
  78. package/jnrs-template-vue/node_modules/.bin/npm-run-all2 +21 -0
  79. package/jnrs-template-vue/node_modules/.bin/parser +21 -0
  80. package/jnrs-template-vue/node_modules/.bin/prettier +21 -0
  81. package/jnrs-template-vue/node_modules/.bin/random +21 -0
  82. package/jnrs-template-vue/node_modules/.bin/run-p +21 -0
  83. package/jnrs-template-vue/node_modules/.bin/run-s +21 -0
  84. package/jnrs-template-vue/node_modules/.bin/sass +21 -0
  85. package/jnrs-template-vue/node_modules/.bin/tsc +21 -0
  86. package/jnrs-template-vue/node_modules/.bin/tsserver +21 -0
  87. package/jnrs-template-vue/node_modules/.bin/tsx +21 -0
  88. package/jnrs-template-vue/node_modules/.bin/vite +21 -0
  89. package/jnrs-template-vue/node_modules/.bin/vue-tsc +21 -0
  90. package/jnrs-template-vue/node_modules/.vite/deps/@element-plus_icons-vue.js +592 -0
  91. package/jnrs-template-vue/node_modules/.vite/deps/@element-plus_icons-vue.js.map +7 -0
  92. package/jnrs-template-vue/node_modules/.vite/deps/_metadata.json +181 -0
  93. package/jnrs-template-vue/node_modules/.vite/deps/axios.js +2629 -0
  94. package/jnrs-template-vue/node_modules/.vite/deps/axios.js.map +7 -0
  95. package/jnrs-template-vue/node_modules/.vite/deps/chunk-4ANMNF4R.js +3 -0
  96. package/jnrs-template-vue/node_modules/.vite/deps/chunk-4ANMNF4R.js.map +7 -0
  97. package/jnrs-template-vue/node_modules/.vite/deps/chunk-DQS4ONBU.js +3 -0
  98. package/jnrs-template-vue/node_modules/.vite/deps/chunk-DQS4ONBU.js.map +7 -0
  99. package/jnrs-template-vue/node_modules/.vite/deps/chunk-G3PMV62Z.js +35 -0
  100. package/jnrs-template-vue/node_modules/.vite/deps/chunk-G3PMV62Z.js.map +7 -0
  101. package/jnrs-template-vue/node_modules/.vite/deps/chunk-MXDGN2HV.js +66567 -0
  102. package/jnrs-template-vue/node_modules/.vite/deps/chunk-MXDGN2HV.js.map +7 -0
  103. package/jnrs-template-vue/node_modules/.vite/deps/chunk-PQI3C63X.js +3 -0
  104. package/jnrs-template-vue/node_modules/.vite/deps/chunk-PQI3C63X.js.map +7 -0
  105. package/jnrs-template-vue/node_modules/.vite/deps/chunk-UFUR7V47.js +12728 -0
  106. package/jnrs-template-vue/node_modules/.vite/deps/chunk-UFUR7V47.js.map +7 -0
  107. package/jnrs-template-vue/node_modules/.vite/deps/chunk-ZPHMCC7P.js +5467 -0
  108. package/jnrs-template-vue/node_modules/.vite/deps/chunk-ZPHMCC7P.js.map +7 -0
  109. package/jnrs-template-vue/node_modules/.vite/deps/element-plus.js +1025 -0
  110. package/jnrs-template-vue/node_modules/.vite/deps/element-plus.js.map +7 -0
  111. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es.js +1025 -0
  112. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es.js.map +7 -0
  113. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_aside_style_css.js +5 -0
  114. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_aside_style_css.js.map +7 -0
  115. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_badge_style_css.js +5 -0
  116. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_badge_style_css.js.map +7 -0
  117. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_base_style_css.js +1 -0
  118. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_base_style_css.js.map +7 -0
  119. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_button-group_style_css.js +5 -0
  120. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_button-group_style_css.js.map +7 -0
  121. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_button_style_css.js +5 -0
  122. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_button_style_css.js.map +7 -0
  123. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_cascader_style_css.js +22 -0
  124. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_cascader_style_css.js.map +7 -0
  125. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_container_style_css.js +9 -0
  126. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_container_style_css.js.map +7 -0
  127. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_header_style_css.js +5 -0
  128. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_header_style_css.js.map +7 -0
  129. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_icon_style_css.js +1 -0
  130. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_icon_style_css.js.map +7 -0
  131. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_input_style_css.js +2 -0
  132. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_input_style_css.js.map +7 -0
  133. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_main_style_css.js +5 -0
  134. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_main_style_css.js.map +7 -0
  135. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_menu-item_style_css.js +5 -0
  136. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_menu-item_style_css.js.map +7 -0
  137. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_menu_style_css.js +9 -0
  138. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_menu_style_css.js.map +7 -0
  139. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_popover_style_css.js +6 -0
  140. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_popover_style_css.js.map +7 -0
  141. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_sub-menu_style_css.js +5 -0
  142. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_sub-menu_style_css.js.map +7 -0
  143. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_tab-pane_style_css.js +5 -0
  144. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_tab-pane_style_css.js.map +7 -0
  145. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_tabs_style_css.js +5 -0
  146. package/jnrs-template-vue/node_modules/.vite/deps/element-plus_es_components_tabs_style_css.js.map +7 -0
  147. package/jnrs-template-vue/node_modules/.vite/deps/package.json +3 -0
  148. package/jnrs-template-vue/node_modules/.vite/deps/pinia-plugin-persistedstate.js +122 -0
  149. package/jnrs-template-vue/node_modules/.vite/deps/pinia-plugin-persistedstate.js.map +7 -0
  150. package/jnrs-template-vue/node_modules/.vite/deps/pinia.js +5886 -0
  151. package/jnrs-template-vue/node_modules/.vite/deps/pinia.js.map +7 -0
  152. package/jnrs-template-vue/node_modules/.vite/deps/vue-router.js +2386 -0
  153. package/jnrs-template-vue/node_modules/.vite/deps/vue-router.js.map +7 -0
  154. package/jnrs-template-vue/node_modules/.vite/deps/vue.js +343 -0
  155. package/jnrs-template-vue/node_modules/.vite/deps/vue.js.map +7 -0
  156. package/jnrs-template-vue/node_modules/.vue-global-types/vue_3.5_0.d.ts +136 -0
  157. package/jnrs-template-vue/package.json +57 -0
  158. package/jnrs-template-vue/public/favicon.ico +0 -0
  159. package/jnrs-template-vue/public/system/menu.json +61 -0
  160. package/jnrs-template-vue/src/App.vue +14 -0
  161. package/jnrs-template-vue/src/api/base/index.ts +65 -0
  162. package/jnrs-template-vue/src/api/common/index.ts +9 -0
  163. package/jnrs-template-vue/src/api/mock/index.ts +23 -0
  164. package/jnrs-template-vue/src/api/request.ts +37 -0
  165. package/jnrs-template-vue/src/api/user/index.ts +12 -0
  166. package/jnrs-template-vue/src/assets/images/common/403.png +0 -0
  167. package/jnrs-template-vue/src/assets/images/common/404.png +0 -0
  168. package/jnrs-template-vue/src/assets/images/common/avatar.png +0 -0
  169. package/jnrs-template-vue/src/assets/styles/base.css +28 -0
  170. package/jnrs-template-vue/src/assets/styles/main.css +1 -0
  171. package/jnrs-template-vue/src/composables/common/useAvatar.ts +36 -0
  172. package/jnrs-template-vue/src/composables/index.ts +11 -0
  173. package/jnrs-template-vue/src/composables/useForm.ts +9 -0
  174. package/jnrs-template-vue/src/composables/useModal.ts +9 -0
  175. package/jnrs-template-vue/src/composables/useTable.ts +35 -0
  176. package/jnrs-template-vue/src/composables/useUser.ts +9 -0
  177. package/jnrs-template-vue/src/layout/BlankLayout.vue +14 -0
  178. package/jnrs-template-vue/src/layout/RouterTabs.vue +147 -0
  179. package/jnrs-template-vue/src/layout/SideMenu.vue +140 -0
  180. package/jnrs-template-vue/src/layout/SideMenuItem.vue +38 -0
  181. package/jnrs-template-vue/src/layout/TopHeader.vue +208 -0
  182. package/jnrs-template-vue/src/layout/index.vue +37 -0
  183. package/jnrs-template-vue/src/main.ts +24 -0
  184. package/jnrs-template-vue/src/router/index.ts +42 -0
  185. package/jnrs-template-vue/src/router/routes.ts +61 -0
  186. package/jnrs-template-vue/src/stores/index.ts +2 -0
  187. package/jnrs-template-vue/src/stores/mock.ts +19 -0
  188. package/jnrs-template-vue/src/types/env.d.ts +12 -0
  189. package/jnrs-template-vue/src/types/index.ts +1 -0
  190. package/jnrs-template-vue/src/utils/file.ts +7 -0
  191. package/jnrs-template-vue/src/utils/storage.ts +7 -0
  192. package/jnrs-template-vue/src/utils/validate.ts +321 -0
  193. package/jnrs-template-vue/src/utils/validator.ts +153 -0
  194. package/jnrs-template-vue/src/views/common/403.vue +56 -0
  195. package/jnrs-template-vue/src/views/common/404.vue +56 -0
  196. package/jnrs-template-vue/src/views/crud/index.vue +6 -0
  197. package/jnrs-template-vue/src/views/home/index.vue +115 -0
  198. package/jnrs-template-vue/src/views/login/index.vue +61 -0
  199. package/jnrs-template-vue/src/views/system/mine/baseInfo.vue +137 -0
  200. package/jnrs-template-vue/src/views/system/mine/index.vue +83 -0
  201. package/jnrs-template-vue/src/views/system/mine/securitySettings.vue +114 -0
  202. package/jnrs-template-vue/src/views/system/role/index.vue +9 -0
  203. package/jnrs-template-vue/src/views/system/user/index.vue +9 -0
  204. package/jnrs-template-vue/src/views/visual/index.vue +23 -0
  205. package/jnrs-template-vue/tsconfig.json +24 -0
  206. package/jnrs-template-vue/vite.config.ts +72 -0
  207. package/jnrs-template-vue/viteMockServe/index.ts +53 -0
  208. package/jnrs-template-vue/viteMockServe/login.json +712 -0
  209. package/package.json +38 -0
package/bin/create.js ADDED
@@ -0,0 +1,148 @@
1
+ import { fileURLToPath } from 'url'
2
+ import { dirname, join, relative } from 'path'
3
+ import { promises as fs } from 'fs'
4
+ import { execSync, spawnSync } from 'child_process'
5
+ import minimist from 'minimist'
6
+ import prompts from 'prompts'
7
+
8
+ const __filename = fileURLToPath(import.meta.url)
9
+ const __dirname = dirname(__filename)
10
+
11
+ // 检测系统中可用的包管理器
12
+ function detectPackageManager() {
13
+ // 按优先级:pnpm > yarn > npm
14
+ try {
15
+ const pnpmVersion = spawnSync('pnpm', ['--version'], { stdio: 'ignore' })
16
+ if (pnpmVersion.status === 0) return 'pnpm'
17
+ } catch {}
18
+
19
+ try {
20
+ const yarnVersion = spawnSync('yarn', ['--version'], { stdio: 'ignore' })
21
+ if (yarnVersion.status === 0) return 'yarn'
22
+ } catch {}
23
+
24
+ return 'npm'
25
+ }
26
+
27
+ // 获取安装命令
28
+ function getInstallCommand(packageManager) {
29
+ switch (packageManager) {
30
+ case 'pnpm':
31
+ return ['pnpm', 'install']
32
+ case 'yarn':
33
+ return ['yarn']
34
+ default:
35
+ return ['npm', 'install']
36
+ }
37
+ }
38
+
39
+ // 获取运行命令(用于提示)
40
+ function getRunCommand(packageManager, script) {
41
+ switch (packageManager) {
42
+ case 'pnpm':
43
+ case 'npm':
44
+ return `${packageManager} run ${script}`
45
+ case 'yarn':
46
+ return `yarn ${script}`
47
+ default:
48
+ return `npm run ${script}`
49
+ }
50
+ }
51
+
52
+ function isValidPackageName(projectName) {
53
+ return /^(?:@[a-z0-9-*~][a-z0-9-*._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/.test(projectName)
54
+ }
55
+
56
+ function toValidPackageName(projectName) {
57
+ return projectName
58
+ .trim()
59
+ .toLowerCase()
60
+ .replace(/\s+/g, '-')
61
+ .replace(/^[._]/, '')
62
+ .replace(/[^a-z0-9-~@/._]/g, '-')
63
+ }
64
+
65
+ async function main() {
66
+ const argv = minimist(process.argv.slice(2), { string: ['_'] })
67
+ let targetDir = argv._[0]
68
+
69
+ if (!targetDir) {
70
+ const { name } = await prompts({
71
+ type: 'text',
72
+ name: 'name',
73
+ message: 'Project name:',
74
+ initial: 'my-vue-app',
75
+ validate: (input) => {
76
+ if (!input) return 'Project name is required.'
77
+ if (fs.existsSync(input)) return 'Directory already exists.'
78
+ if (!isValidPackageName(input)) {
79
+ return 'Invalid package name. Use lowercase, hyphens, and no special characters.'
80
+ }
81
+ return true
82
+ }
83
+ })
84
+ if (!name) process.exit(1)
85
+ targetDir = name
86
+ } else {
87
+ if (!isValidPackageName(targetDir)) {
88
+ console.error('❌ Invalid project name:', targetDir)
89
+ console.error(' Package name must be valid (lowercase, no spaces, etc.)')
90
+ process.exit(1)
91
+ }
92
+ }
93
+
94
+ const root = join(process.cwd(), targetDir.trim())
95
+
96
+ try {
97
+ await fs.access(root)
98
+ console.error(`❌ Directory "${targetDir}" already exists.`)
99
+ process.exit(1)
100
+ } catch {}
101
+
102
+ // 复制模板
103
+ const templateDir = join(__dirname, '..', 'jnrs-template-vue')
104
+ await fs.cp(templateDir, root, { recursive: true })
105
+
106
+ // 更新 package.json name
107
+ const pkgPath = join(root, 'package.json')
108
+ const pkg = JSON.parse(await fs.readFile(pkgPath, 'utf8'))
109
+ pkg.name = toValidPackageName(targetDir)
110
+ await fs.writeFile(pkgPath, JSON.stringify(pkg, null, 2))
111
+
112
+ // 自动写入 .npmrc(推荐 pnpm 用户启用 symlinked node linker)
113
+ const npmrcPath = join(root, '.npmrc')
114
+ await fs.writeFile(npmrcPath, `# Config for pnpm\nshamefully-hoist=true\n`)
115
+
116
+ // 检测包管理器
117
+ const packageManager = detectPackageManager()
118
+ console.log(`\n📦 Detected package manager: ${packageManager}`)
119
+ console.log(`Installing dependencies with ${packageManager}...\n`)
120
+
121
+ const [cmd, ...args] = getInstallCommand(packageManager)
122
+
123
+ try {
124
+ execSync(`${cmd} ${args.join(' ')}`, {
125
+ cwd: root,
126
+ stdio: 'inherit',
127
+ env: { ...process.env, FORCE_COLOR: '1' }
128
+ })
129
+ } catch (e) {
130
+ console.error(
131
+ `\n⚠️ Failed to install dependencies. Run manually:\n ${cmd} ${args.join(' ')}`
132
+ )
133
+ process.exit(1)
134
+ }
135
+
136
+ // 输出成功信息
137
+ const relativePath = relative(process.cwd(), root)
138
+ const devCmd = getRunCommand(packageManager, 'dev')
139
+
140
+ console.log(`\n✅ Done!`)
141
+ console.log(`\n👉 cd ${relativePath}`)
142
+ console.log(` ${devCmd}\n`)
143
+ }
144
+
145
+ main().catch((err) => {
146
+ console.error(`\n🚨 Error: ${err.message}`)
147
+ process.exit(1)
148
+ })
@@ -0,0 +1,97 @@
1
+ /**
2
+ * @Author : TanRui
3
+ * @WeChat : Tan578853789
4
+ * @File : release.mjs
5
+ * @Date : 2025/10/12
6
+ * @Desc. : 发布脚本:自动化版本更新、发布及提交
7
+ */
8
+
9
+ import { execSync } from 'node:child_process'
10
+ import fs from 'node:fs/promises'
11
+ import path from 'node:path'
12
+ import { fileURLToPath } from 'node:url'
13
+
14
+ function run(cmd, options = {}) {
15
+ console.log(`> ${cmd}`)
16
+ try {
17
+ const result = execSync(cmd, {
18
+ stdio: ['pipe', 'pipe', 'pipe'], // 关键:捕获 stderr
19
+ ...options
20
+ })
21
+ return result.toString().trim()
22
+ } catch (e) {
23
+ // 提取 stderr 和 stdout
24
+ const stderr = e.stderr?.toString().trim() || ''
25
+ const stdout = e.stdout?.toString().trim() || ''
26
+ const fullError = [stderr, stdout].filter(Boolean).join('\n') || e.message
27
+ throw new Error(fullError)
28
+ }
29
+ }
30
+
31
+ function hasUncommittedChanges() {
32
+ const status = run('git status --porcelain --ignore-submodules=all .')
33
+ return status.length > 0
34
+ }
35
+
36
+ function incrementPatchVersion(version) {
37
+ const [major, minor, patch] = version.split('.').map(Number)
38
+ return `${major}.${minor}.${patch + 1}`
39
+ }
40
+
41
+ const __dirname = path.dirname(fileURLToPath(import.meta.url))
42
+ const pkgPath = path.resolve(__dirname, '..', 'package.json')
43
+
44
+ try {
45
+ // 读取原始 package.json
46
+ const pkgContent = await fs.readFile(pkgPath, 'utf8')
47
+ const pkg = JSON.parse(pkgContent)
48
+ const originalVersion = pkg.version
49
+
50
+ console.log(`📦 当前包: ${pkg.name}@${originalVersion}`)
51
+
52
+ if (hasUncommittedChanges()) {
53
+ console.error('❌ 有未提交的更改,请先提交或暂存更改!')
54
+ process.exit(1)
55
+ }
56
+
57
+ // 手动计算新版本
58
+ const newVersion = incrementPatchVersion(originalVersion)
59
+ console.log(`🆕 新版本: ${newVersion}`)
60
+
61
+ // 写入新版本
62
+ pkg.version = newVersion
63
+ await fs.writeFile(pkgPath, JSON.stringify(pkg, null, 2) + '\n')
64
+
65
+ // 尝试发布
66
+ let published = false
67
+ try {
68
+ console.log('🚀 正在发布到 npm...')
69
+ run('pnpm publish --no-git-checks')
70
+ published = true
71
+ } catch (err) {
72
+ console.error('❌ npm 发布失败:', err.message)
73
+ }
74
+
75
+ if (published) {
76
+ try {
77
+ console.log('💾 正在提交版本变更...')
78
+ run('git add package.json')
79
+ const commitMsg = `🅒🅘🅒🅓 ${pkg.name}@${newVersion} 发布成功!👌`
80
+ run(`git commit -m "${commitMsg}"`)
81
+ console.log(`\n✅ 包 ${pkg.name} 发布流程已完成!🎉🎉🎉`)
82
+ } catch (err) {
83
+ console.error('⚠️ 提交失败,但发布已成功。请手动提交 package.json:', err.message)
84
+ console.log(`\n✅ 包 ${pkg.name} 发布流程已完成!🎉🎉🎉`)
85
+ }
86
+ } else {
87
+ // 回滚
88
+ console.log('↩️ 正在回滚 version 修改...')
89
+ pkg.version = originalVersion
90
+ await fs.writeFile(pkgPath, JSON.stringify(pkg, null, 2) + '\n')
91
+ console.log('✅ 已还原 package.json 到原始版本')
92
+ process.exit(1)
93
+ }
94
+ } catch (err) {
95
+ console.error('💥 脚本执行出错:', err.message)
96
+ process.exit(1)
97
+ }
@@ -0,0 +1,13 @@
1
+ ENV = 'development'
2
+
3
+ # 是否是 mock 模式
4
+ VITE_USE_MOCK = true
5
+
6
+ # 开发环境后端接口基地址
7
+ # VITE_BASE_URL = '192.168.10.245:6001'
8
+ VITE_BASE_URL = '192.168.1.120:5001'
9
+
10
+ # 应用运行主机
11
+ VITE_APP_HOST = ''
12
+ # 应用运行端口
13
+ VITE_APP_PORT = 5888
@@ -0,0 +1,14 @@
1
+ # 应用运行端口
2
+ VITE_APP_PORT = 3000
3
+
4
+ # 应用标题
5
+ VITE_APP_TITLE = system-general-framework-ts
6
+
7
+ # 是否开启调试模式
8
+ VITE_APP_DEBUG = true
9
+
10
+ # 开发环境主 API 地址
11
+ VITE_API_BASE_URL = https://api.dev.example.com
12
+
13
+ # Mock 开关
14
+ VITE_USE_MOCK = false
@@ -0,0 +1,4 @@
1
+ ENV = 'production'
2
+
3
+ # 生产环境后端接口基地址
4
+ VITE_BASE_URL = '192.168.1.134:7078'
@@ -0,0 +1,40 @@
1
+ # JNRS 框架通用包
2
+
3
+ #### 介绍
4
+
5
+ 适配 system-general-framework-ts 系列所有项目
6
+
7
+ #### 软件架构
8
+
9
+ Vue3、TypeScript、Vite、Pinia、Element Plus
10
+
11
+ #### 安装教程
12
+
13
+ ```shell
14
+ pnpm add @jnrs/vue-core
15
+ ```
16
+
17
+ #### 项目结构
18
+
19
+ ```md
20
+ src/
21
+ ├── assets/ # 静态资源(图片、字体)
22
+ ├── components/ # 通用组件(可复用)
23
+ ├── composables/ # 自定义 Hook(useFetch, useModal)
24
+ ├── layouts/ # 布局组件(如 Header、Sidebar)
25
+ ├── pages/ # 页面级组件(对应路由)
26
+ ├── router/ # 路由配置
27
+ ├── stores/ # Pinia 状态管理
28
+ ├── utils/ # 工具函数(request, date, etc)
29
+ ├── views/ # 视图层(可选,与 pages 类似)
30
+ ├── App.vue # 根组件
31
+ └── main.ts # 应用入口(createApp、use(router))
32
+ ```
33
+
34
+ #### 使用说明
35
+
36
+ my-project 是你的新项目名称
37
+
38
+ ```shell
39
+ pnpm create jnrs-template@latest my-project
40
+ ```
@@ -0,0 +1,10 @@
1
+ /* eslint-disable */
2
+ /* prettier-ignore */
3
+ // @ts-nocheck
4
+ // noinspection JSUnusedGlobalSymbols
5
+ // Generated by unplugin-auto-import
6
+ // biome-ignore lint: disable
7
+ export {}
8
+ declare global {
9
+ const ElMessageBox: typeof import('element-plus/es').ElMessageBox
10
+ }
@@ -0,0 +1,38 @@
1
+ /* eslint-disable */
2
+ // @ts-nocheck
3
+ // biome-ignore lint: disable
4
+ // oxlint-disable
5
+ // ------
6
+ // Generated by unplugin-vue-components
7
+ // Read more: https://github.com/vuejs/core/pull/3399
8
+
9
+ export {}
10
+
11
+ /* prettier-ignore */
12
+ declare module 'vue' {
13
+ export interface GlobalComponents {
14
+ ElAside: typeof import('element-plus/es')['ElAside']
15
+ ElBadge: typeof import('element-plus/es')['ElBadge']
16
+ ElButton: typeof import('element-plus/es')['ElButton']
17
+ ElButtonGroup: typeof import('element-plus/es')['ElButtonGroup']
18
+ ElCard: typeof import('element-plus/es')['ElCard']
19
+ ElCascader: typeof import('element-plus/es')['ElCascader']
20
+ ElContainer: typeof import('element-plus/es')['ElContainer']
21
+ ElForm: typeof import('element-plus/es')['ElForm']
22
+ ElFormItem: typeof import('element-plus/es')['ElFormItem']
23
+ ElHeader: typeof import('element-plus/es')['ElHeader']
24
+ ElIcon: typeof import('element-plus/es')['ElIcon']
25
+ ElInput: typeof import('element-plus/es')['ElInput']
26
+ ElMain: typeof import('element-plus/es')['ElMain']
27
+ ElMenu: typeof import('element-plus/es')['ElMenu']
28
+ ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
29
+ ElPopover: typeof import('element-plus/es')['ElPopover']
30
+ ElSubMenu: typeof import('element-plus/es')['ElSubMenu']
31
+ ElTabPane: typeof import('element-plus/es')['ElTabPane']
32
+ ElTabs: typeof import('element-plus/es')['ElTabs']
33
+ ElUpload: typeof import('element-plus/es')['ElUpload']
34
+ }
35
+ export interface GlobalDirectives {
36
+ vLoading: typeof import('element-plus/es')['ElLoadingDirective']
37
+ }
38
+ }
@@ -0,0 +1 @@
1
+ import"./base-CmE9WEcf.js";import{E as r}from"./el-button-5iH8Z9fP.js";import{d as s,c as x,o as c,a as z,b as t,w as e,e as m,u as l,O as A,r as v}from"./index-ZWYb22SS.js";import{_ as f}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./@jnrs/core-BU1kTVoG.js";const j="data:image/png;base64,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",d={class:"main"},y={class:"main_mid"},N={class:"main_mid_btn"},P=s({__name:"403",setup(Y){const i=l(),Z=()=>{A({name:"Login",query:{redirect:i.fullPath}},"replace")},M=()=>{A({path:"/"},"replace")},a=()=>{v.back()};return(O,n)=>{const o=r;return c(),x("div",d,[z("div",y,[n[3]||(n[3]=z("img",{alt:"404",src:j},null,-1)),n[4]||(n[4]=z("h3",null,"抱歉,您访问的资源权限受限",-1)),z("div",N,[t(o,{onClick:Z,style:{"margin-right":"20px"}},{default:e(()=>[...n[0]||(n[0]=[m("重新登录",-1)])]),_:1}),t(o,{type:"primary",plain:"",onClick:M,style:{"margin-right":"20px"}},{default:e(()=>[...n[1]||(n[1]=[m(" 返回首页 ",-1)])]),_:1}),t(o,{type:"primary",onClick:a},{default:e(()=>[...n[2]||(n[2]=[m("返回上一页",-1)])]),_:1})])])])}}}),D=f(P,[["__scopeId","data-v-aef8e9f5"]]);export{D as default};
@@ -0,0 +1 @@
1
+ .main[data-v-aef8e9f5]{display:flex;align-items:center;justify-content:center;width:100%;height:100vh;background:#f9fafe;overflow:hidden}.main .main_mid[data-v-aef8e9f5]{text-align:center}.main .main_mid img[data-v-aef8e9f5]{width:300px}.main .main_mid h3[data-v-aef8e9f5]{color:#2a63a4}.main .main_mid .main_mid_btn[data-v-aef8e9f5]{margin-top:30px}
@@ -0,0 +1 @@
1
+ .main[data-v-44041873]{display:flex;align-items:center;justify-content:center;width:100%;height:100vh;background:#f9fafe;overflow:hidden}.main .main_mid[data-v-44041873]{text-align:center}.main .main_mid img[data-v-44041873]{width:300px}.main .main_mid h3[data-v-44041873]{color:#2a63a4}.main .main_mid .main_mid_btn[data-v-44041873]{margin-top:30px}
@@ -0,0 +1 @@
1
+ import"./base-CmE9WEcf.js";import{E as _}from"./el-button-5iH8Z9fP.js";import{d,c as u,o as c,a as o,b as e,w as n,e as r,u as f,O as a,r as g}from"./index-ZWYb22SS.js";import{_ as k}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./@jnrs/core-BU1kTVoG.js";const x="/assets/404-BqrrbZGC.png",y={class:"main"},B={class:"main_mid"},C={class:"main_mid_btn"},b=d({__name:"404",setup(v){const i=f(),l=()=>{a({name:"Login",query:{redirect:i.fullPath}},"replace")},m=()=>{a({path:"/"},"replace")},p=()=>{g.back()};return(E,t)=>{const s=_;return c(),u("div",y,[o("div",B,[t[3]||(t[3]=o("img",{alt:"404",src:x},null,-1)),t[4]||(t[4]=o("h3",null,"抱歉,您访问的页面不存在",-1)),o("div",C,[e(s,{onClick:l,style:{"margin-right":"20px"}},{default:n(()=>[...t[0]||(t[0]=[r("重新登录",-1)])]),_:1}),e(s,{type:"primary",plain:"",onClick:m,style:{"margin-right":"20px"}},{default:n(()=>[...t[1]||(t[1]=[r(" 返回首页 ",-1)])]),_:1}),e(s,{type:"primary",onClick:p},{default:n(()=>[...t[2]||(t[2]=[r("返回上一页",-1)])]),_:1})])])])}}}),G=k(b,[["__scopeId","data-v-44041873"]]);export{G as default};
@@ -0,0 +1,6 @@
1
+ function Ve(e,t){return function(){return e.apply(t,arguments)}}const{toString:yt}=Object.prototype,{getPrototypeOf:we}=Object,{iterator:re,toStringTag:We}=Symbol,se=(e=>t=>{const n=yt.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),N=e=>(e=e.toLowerCase(),t=>se(t)===e),oe=e=>t=>typeof t===e,{isArray:M}=Array,I=oe("undefined");function V(e){return e!==null&&!I(e)&&e.constructor!==null&&!I(e.constructor)&&T(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const Ke=N("ArrayBuffer");function wt(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Ke(e.buffer),t}const bt=oe("string"),T=oe("function"),ve=oe("number"),W=e=>e!==null&&typeof e=="object",Et=e=>e===!0||e===!1,Y=e=>{if(se(e)!=="object")return!1;const t=we(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(We in e)&&!(re in e)},gt=e=>{if(!W(e)||V(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},St=N("Date"),Rt=N("File"),Ot=N("Blob"),Tt=N("FileList"),At=e=>W(e)&&T(e.pipe),Ct=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||T(e.append)&&((t=se(e))==="formdata"||t==="object"&&T(e.toString)&&e.toString()==="[object FormData]"))},xt=N("URLSearchParams"),[Pt,Nt,_t,Ut]=["ReadableStream","Request","Response","Headers"].map(N),Ft=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function K(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,s;if(typeof e!="object"&&(e=[e]),M(e))for(r=0,s=e.length;r<s;r++)t.call(null,e[r],r,e);else{if(V(e))return;const i=n?Object.getOwnPropertyNames(e):Object.keys(e),o=i.length;let c;for(r=0;r<o;r++)c=i[r],t.call(null,e[c],c,e)}}function Xe(e,t){if(V(e))return null;t=t.toLowerCase();const n=Object.keys(e);let r=n.length,s;for(;r-- >0;)if(s=n[r],t===s.toLowerCase())return s;return null}const k=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Ge=e=>!I(e)&&e!==k;function pe(){const{caseless:e,skipUndefined:t}=Ge(this)&&this||{},n={},r=(s,i)=>{const o=e&&Xe(n,i)||i;Y(n[o])&&Y(s)?n[o]=pe(n[o],s):Y(s)?n[o]=pe({},s):M(s)?n[o]=s.slice():(!t||!I(s))&&(n[o]=s)};for(let s=0,i=arguments.length;s<i;s++)arguments[s]&&K(arguments[s],r);return n}const Lt=(e,t,n,{allOwnKeys:r}={})=>(K(t,(s,i)=>{n&&T(s)?e[i]=Ve(s,n):e[i]=s},{allOwnKeys:r}),e),Dt=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),Bt=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},kt=(e,t,n,r)=>{let s,i,o;const c={};if(t=t||{},e==null)return t;do{for(s=Object.getOwnPropertyNames(e),i=s.length;i-- >0;)o=s[i],(!r||r(o,e,t))&&!c[o]&&(t[o]=e[o],c[o]=!0);e=n!==!1&&we(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},jt=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},qt=e=>{if(!e)return null;if(M(e))return e;let t=e.length;if(!ve(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},Ht=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&we(Uint8Array)),It=(e,t)=>{const r=(e&&e[re]).call(e);let s;for(;(s=r.next())&&!s.done;){const i=s.value;t.call(e,i[0],i[1])}},Mt=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},$t=N("HTMLFormElement"),zt=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,s){return r.toUpperCase()+s}),xe=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),Jt=N("RegExp"),Qe=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};K(n,(s,i)=>{let o;(o=t(s,i,e))!==!1&&(r[i]=o||s)}),Object.defineProperties(e,r)},Vt=e=>{Qe(e,(t,n)=>{if(T(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=e[n];if(T(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},Wt=(e,t)=>{const n={},r=s=>{s.forEach(i=>{n[i]=!0})};return M(e)?r(e):r(String(e).split(t)),n},Kt=()=>{},vt=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Xt(e){return!!(e&&T(e.append)&&e[We]==="FormData"&&e[re])}const Gt=e=>{const t=new Array(10),n=(r,s)=>{if(W(r)){if(t.indexOf(r)>=0)return;if(V(r))return r;if(!("toJSON"in r)){t[s]=r;const i=M(r)?[]:{};return K(r,(o,c)=>{const u=n(o,s+1);!I(u)&&(i[c]=u)}),t[s]=void 0,i}}return r};return n(e,0)},Qt=N("AsyncFunction"),Zt=e=>e&&(W(e)||T(e))&&T(e.then)&&T(e.catch),Ze=((e,t)=>e?setImmediate:t?((n,r)=>(k.addEventListener("message",({source:s,data:i})=>{s===k&&i===n&&r.length&&r.shift()()},!1),s=>{r.push(s),k.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",T(k.postMessage)),Yt=typeof queueMicrotask<"u"?queueMicrotask.bind(k):typeof process<"u"&&process.nextTick||Ze,en=e=>e!=null&&T(e[re]),a={isArray:M,isArrayBuffer:Ke,isBuffer:V,isFormData:Ct,isArrayBufferView:wt,isString:bt,isNumber:ve,isBoolean:Et,isObject:W,isPlainObject:Y,isEmptyObject:gt,isReadableStream:Pt,isRequest:Nt,isResponse:_t,isHeaders:Ut,isUndefined:I,isDate:St,isFile:Rt,isBlob:Ot,isRegExp:Jt,isFunction:T,isStream:At,isURLSearchParams:xt,isTypedArray:Ht,isFileList:Tt,forEach:K,merge:pe,extend:Lt,trim:Ft,stripBOM:Dt,inherits:Bt,toFlatObject:kt,kindOf:se,kindOfTest:N,endsWith:jt,toArray:qt,forEachEntry:It,matchAll:Mt,isHTMLForm:$t,hasOwnProperty:xe,hasOwnProp:xe,reduceDescriptors:Qe,freezeMethods:Vt,toObjectSet:Wt,toCamelCase:zt,noop:Kt,toFiniteNumber:vt,findKey:Xe,global:k,isContextDefined:Ge,isSpecCompliantForm:Xt,toJSONObject:Gt,isAsyncFn:Qt,isThenable:Zt,setImmediate:Ze,asap:Yt,isIterable:en};function y(e,t,n,r,s){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),s&&(this.response=s,this.status=s.status?s.status:null)}a.inherits(y,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:a.toJSONObject(this.config),code:this.code,status:this.status}}});const Ye=y.prototype,et={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{et[e]={value:e}});Object.defineProperties(y,et);Object.defineProperty(Ye,"isAxiosError",{value:!0});y.from=(e,t,n,r,s,i)=>{const o=Object.create(Ye);a.toFlatObject(e,o,function(f){return f!==Error.prototype},l=>l!=="isAxiosError");const c=e&&e.message?e.message:"Error",u=t==null&&e?e.code:t;return y.call(o,c,u,n,r,s),e&&o.cause==null&&Object.defineProperty(o,"cause",{value:e,configurable:!0}),o.name=e&&e.name||"Error",i&&Object.assign(o,i),o};const tn=null;function he(e){return a.isPlainObject(e)||a.isArray(e)}function tt(e){return a.endsWith(e,"[]")?e.slice(0,-2):e}function Pe(e,t,n){return e?e.concat(t).map(function(s,i){return s=tt(s),!n&&i?"["+s+"]":s}).join(n?".":""):t}function nn(e){return a.isArray(e)&&!e.some(he)}const rn=a.toFlatObject(a,{},null,function(t){return/^is[A-Z]/.test(t)});function ie(e,t,n){if(!a.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=a.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(m,p){return!a.isUndefined(p[m])});const r=n.metaTokens,s=n.visitor||f,i=n.dots,o=n.indexes,u=(n.Blob||typeof Blob<"u"&&Blob)&&a.isSpecCompliantForm(t);if(!a.isFunction(s))throw new TypeError("visitor must be a function");function l(d){if(d===null)return"";if(a.isDate(d))return d.toISOString();if(a.isBoolean(d))return d.toString();if(!u&&a.isBlob(d))throw new y("Blob is not supported. Use a Buffer instead.");return a.isArrayBuffer(d)||a.isTypedArray(d)?u&&typeof Blob=="function"?new Blob([d]):Buffer.from(d):d}function f(d,m,p){let g=d;if(d&&!p&&typeof d=="object"){if(a.endsWith(m,"{}"))m=r?m:m.slice(0,-2),d=JSON.stringify(d);else if(a.isArray(d)&&nn(d)||(a.isFileList(d)||a.endsWith(m,"[]"))&&(g=a.toArray(d)))return m=tt(m),g.forEach(function(S,O){!(a.isUndefined(S)||S===null)&&t.append(o===!0?Pe([m],O,i):o===null?m:m+"[]",l(S))}),!1}return he(d)?!0:(t.append(Pe(p,m,i),l(d)),!1)}const h=[],w=Object.assign(rn,{defaultVisitor:f,convertValue:l,isVisitable:he});function E(d,m){if(!a.isUndefined(d)){if(h.indexOf(d)!==-1)throw Error("Circular reference detected in "+m.join("."));h.push(d),a.forEach(d,function(g,C){(!(a.isUndefined(g)||g===null)&&s.call(t,g,a.isString(C)?C.trim():C,m,w))===!0&&E(g,m?m.concat(C):[C])}),h.pop()}}if(!a.isObject(e))throw new TypeError("data must be an object");return E(e),t}function Ne(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function be(e,t){this._pairs=[],e&&ie(e,this,t)}const nt=be.prototype;nt.append=function(t,n){this._pairs.push([t,n])};nt.toString=function(t){const n=t?function(r){return t.call(this,r,Ne)}:Ne;return this._pairs.map(function(s){return n(s[0])+"="+n(s[1])},"").join("&")};function sn(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function rt(e,t,n){if(!t)return e;const r=n&&n.encode||sn;a.isFunction(n)&&(n={serialize:n});const s=n&&n.serialize;let i;if(s?i=s(t,n):i=a.isURLSearchParams(t)?t.toString():new be(t,n).toString(r),i){const o=e.indexOf("#");o!==-1&&(e=e.slice(0,o)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}class _e{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){a.forEach(this.handlers,function(r){r!==null&&t(r)})}}const st={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},on=typeof URLSearchParams<"u"?URLSearchParams:be,an=typeof FormData<"u"?FormData:null,cn=typeof Blob<"u"?Blob:null,un={isBrowser:!0,classes:{URLSearchParams:on,FormData:an,Blob:cn},protocols:["http","https","file","blob","url","data"]},Ee=typeof window<"u"&&typeof document<"u",me=typeof navigator=="object"&&navigator||void 0,ln=Ee&&(!me||["ReactNative","NativeScript","NS"].indexOf(me.product)<0),fn=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",dn=Ee&&window.location.href||"http://localhost",pn=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Ee,hasStandardBrowserEnv:ln,hasStandardBrowserWebWorkerEnv:fn,navigator:me,origin:dn},Symbol.toStringTag,{value:"Module"})),R={...pn,...un};function hn(e,t){return ie(e,new R.classes.URLSearchParams,{visitor:function(n,r,s,i){return R.isNode&&a.isBuffer(n)?(this.append(r,n.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)},...t})}function mn(e){return a.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function yn(e){const t={},n=Object.keys(e);let r;const s=n.length;let i;for(r=0;r<s;r++)i=n[r],t[i]=e[i];return t}function ot(e){function t(n,r,s,i){let o=n[i++];if(o==="__proto__")return!0;const c=Number.isFinite(+o),u=i>=n.length;return o=!o&&a.isArray(s)?s.length:o,u?(a.hasOwnProp(s,o)?s[o]=[s[o],r]:s[o]=r,!c):((!s[o]||!a.isObject(s[o]))&&(s[o]=[]),t(n,r,s[o],i)&&a.isArray(s[o])&&(s[o]=yn(s[o])),!c)}if(a.isFormData(e)&&a.isFunction(e.entries)){const n={};return a.forEachEntry(e,(r,s)=>{t(mn(r),s,n,0)}),n}return null}function wn(e,t,n){if(a.isString(e))try{return(t||JSON.parse)(e),a.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const v={transitional:st,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const r=n.getContentType()||"",s=r.indexOf("application/json")>-1,i=a.isObject(t);if(i&&a.isHTMLForm(t)&&(t=new FormData(t)),a.isFormData(t))return s?JSON.stringify(ot(t)):t;if(a.isArrayBuffer(t)||a.isBuffer(t)||a.isStream(t)||a.isFile(t)||a.isBlob(t)||a.isReadableStream(t))return t;if(a.isArrayBufferView(t))return t.buffer;if(a.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let c;if(i){if(r.indexOf("application/x-www-form-urlencoded")>-1)return hn(t,this.formSerializer).toString();if((c=a.isFileList(t))||r.indexOf("multipart/form-data")>-1){const u=this.env&&this.env.FormData;return ie(c?{"files[]":t}:t,u&&new u,this.formSerializer)}}return i||s?(n.setContentType("application/json",!1),wn(t)):t}],transformResponse:[function(t){const n=this.transitional||v.transitional,r=n&&n.forcedJSONParsing,s=this.responseType==="json";if(a.isResponse(t)||a.isReadableStream(t))return t;if(t&&a.isString(t)&&(r&&!this.responseType||s)){const o=!(n&&n.silentJSONParsing)&&s;try{return JSON.parse(t,this.parseReviver)}catch(c){if(o)throw c.name==="SyntaxError"?y.from(c,y.ERR_BAD_RESPONSE,this,null,this.response):c}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:R.classes.FormData,Blob:R.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};a.forEach(["delete","get","head","post","put","patch"],e=>{v.headers[e]={}});const bn=a.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),En=e=>{const t={};let n,r,s;return e&&e.split(`
2
+ `).forEach(function(o){s=o.indexOf(":"),n=o.substring(0,s).trim().toLowerCase(),r=o.substring(s+1).trim(),!(!n||t[n]&&bn[n])&&(n==="set-cookie"?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t},Ue=Symbol("internals");function J(e){return e&&String(e).trim().toLowerCase()}function ee(e){return e===!1||e==null?e:a.isArray(e)?e.map(ee):String(e)}function gn(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}const Sn=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function le(e,t,n,r,s){if(a.isFunction(r))return r.call(this,t,n);if(s&&(t=n),!!a.isString(t)){if(a.isString(r))return t.indexOf(r)!==-1;if(a.isRegExp(r))return r.test(t)}}function Rn(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function On(e,t){const n=a.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{value:function(s,i,o){return this[r].call(this,t,s,i,o)},configurable:!0})})}let A=class{constructor(t){t&&this.set(t)}set(t,n,r){const s=this;function i(c,u,l){const f=J(u);if(!f)throw new Error("header name must be a non-empty string");const h=a.findKey(s,f);(!h||s[h]===void 0||l===!0||l===void 0&&s[h]!==!1)&&(s[h||u]=ee(c))}const o=(c,u)=>a.forEach(c,(l,f)=>i(l,f,u));if(a.isPlainObject(t)||t instanceof this.constructor)o(t,n);else if(a.isString(t)&&(t=t.trim())&&!Sn(t))o(En(t),n);else if(a.isObject(t)&&a.isIterable(t)){let c={},u,l;for(const f of t){if(!a.isArray(f))throw TypeError("Object iterator must return a key-value pair");c[l=f[0]]=(u=c[l])?a.isArray(u)?[...u,f[1]]:[u,f[1]]:f[1]}o(c,n)}else t!=null&&i(n,t,r);return this}get(t,n){if(t=J(t),t){const r=a.findKey(this,t);if(r){const s=this[r];if(!n)return s;if(n===!0)return gn(s);if(a.isFunction(n))return n.call(this,s,r);if(a.isRegExp(n))return n.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=J(t),t){const r=a.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||le(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let s=!1;function i(o){if(o=J(o),o){const c=a.findKey(r,o);c&&(!n||le(r,r[c],c,n))&&(delete r[c],s=!0)}}return a.isArray(t)?t.forEach(i):i(t),s}clear(t){const n=Object.keys(this);let r=n.length,s=!1;for(;r--;){const i=n[r];(!t||le(this,this[i],i,t,!0))&&(delete this[i],s=!0)}return s}normalize(t){const n=this,r={};return a.forEach(this,(s,i)=>{const o=a.findKey(r,i);if(o){n[o]=ee(s),delete n[i];return}const c=t?Rn(i):String(i).trim();c!==i&&delete n[i],n[c]=ee(s),r[c]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return a.forEach(this,(r,s)=>{r!=null&&r!==!1&&(n[s]=t&&a.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(`
3
+ `)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const r=new this(t);return n.forEach(s=>r.set(s)),r}static accessor(t){const r=(this[Ue]=this[Ue]={accessors:{}}).accessors,s=this.prototype;function i(o){const c=J(o);r[c]||(On(s,o),r[c]=!0)}return a.isArray(t)?t.forEach(i):i(t),this}};A.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);a.reduceDescriptors(A.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});a.freezeMethods(A);function fe(e,t){const n=this||v,r=t||n,s=A.from(r.headers);let i=r.data;return a.forEach(e,function(c){i=c.call(n,i,s.normalize(),t?t.status:void 0)}),s.normalize(),i}function it(e){return!!(e&&e.__CANCEL__)}function $(e,t,n){y.call(this,e??"canceled",y.ERR_CANCELED,t,n),this.name="CanceledError"}a.inherits($,y,{__CANCEL__:!0});function at(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new y("Request failed with status code "+n.status,[y.ERR_BAD_REQUEST,y.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function Tn(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function An(e,t){e=e||10;const n=new Array(e),r=new Array(e);let s=0,i=0,o;return t=t!==void 0?t:1e3,function(u){const l=Date.now(),f=r[i];o||(o=l),n[s]=u,r[s]=l;let h=i,w=0;for(;h!==s;)w+=n[h++],h=h%e;if(s=(s+1)%e,s===i&&(i=(i+1)%e),l-o<t)return;const E=f&&l-f;return E?Math.round(w*1e3/E):void 0}}function Cn(e,t){let n=0,r=1e3/t,s,i;const o=(l,f=Date.now())=>{n=f,s=null,i&&(clearTimeout(i),i=null),e(...l)};return[(...l)=>{const f=Date.now(),h=f-n;h>=r?o(l,f):(s=l,i||(i=setTimeout(()=>{i=null,o(s)},r-h)))},()=>s&&o(s)]}const ne=(e,t,n=3)=>{let r=0;const s=An(50,250);return Cn(i=>{const o=i.loaded,c=i.lengthComputable?i.total:void 0,u=o-r,l=s(u),f=o<=c;r=o;const h={loaded:o,total:c,progress:c?o/c:void 0,bytes:u,rate:l||void 0,estimated:l&&c&&f?(c-o)/l:void 0,event:i,lengthComputable:c!=null,[t?"download":"upload"]:!0};e(h)},n)},Fe=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},Le=e=>(...t)=>a.asap(()=>e(...t)),xn=R.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,R.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(R.origin),R.navigator&&/(msie|trident)/i.test(R.navigator.userAgent)):()=>!0,Pn=R.hasStandardBrowserEnv?{write(e,t,n,r,s,i,o){if(typeof document>"u")return;const c=[`${e}=${encodeURIComponent(t)}`];a.isNumber(n)&&c.push(`expires=${new Date(n).toUTCString()}`),a.isString(r)&&c.push(`path=${r}`),a.isString(s)&&c.push(`domain=${s}`),i===!0&&c.push("secure"),a.isString(o)&&c.push(`SameSite=${o}`),document.cookie=c.join("; ")},read(e){if(typeof document>"u")return null;const t=document.cookie.match(new RegExp("(?:^|; )"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function Nn(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function _n(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function ct(e,t,n){let r=!Nn(t);return e&&(r||n==!1)?_n(e,t):t}const De=e=>e instanceof A?{...e}:e;function q(e,t){t=t||{};const n={};function r(l,f,h,w){return a.isPlainObject(l)&&a.isPlainObject(f)?a.merge.call({caseless:w},l,f):a.isPlainObject(f)?a.merge({},f):a.isArray(f)?f.slice():f}function s(l,f,h,w){if(a.isUndefined(f)){if(!a.isUndefined(l))return r(void 0,l,h,w)}else return r(l,f,h,w)}function i(l,f){if(!a.isUndefined(f))return r(void 0,f)}function o(l,f){if(a.isUndefined(f)){if(!a.isUndefined(l))return r(void 0,l)}else return r(void 0,f)}function c(l,f,h){if(h in t)return r(l,f);if(h in e)return r(void 0,l)}const u={url:i,method:i,data:i,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,withXSRFToken:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:c,headers:(l,f,h)=>s(De(l),De(f),h,!0)};return a.forEach(Object.keys({...e,...t}),function(f){const h=u[f]||s,w=h(e[f],t[f],f);a.isUndefined(w)&&h!==c||(n[f]=w)}),n}const ut=e=>{const t=q({},e);let{data:n,withXSRFToken:r,xsrfHeaderName:s,xsrfCookieName:i,headers:o,auth:c}=t;if(t.headers=o=A.from(o),t.url=rt(ct(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),c&&o.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),a.isFormData(n)){if(R.hasStandardBrowserEnv||R.hasStandardBrowserWebWorkerEnv)o.setContentType(void 0);else if(a.isFunction(n.getHeaders)){const u=n.getHeaders(),l=["content-type","content-length"];Object.entries(u).forEach(([f,h])=>{l.includes(f.toLowerCase())&&o.set(f,h)})}}if(R.hasStandardBrowserEnv&&(r&&a.isFunction(r)&&(r=r(t)),r||r!==!1&&xn(t.url))){const u=s&&i&&Pn.read(i);u&&o.set(s,u)}return t},Un=typeof XMLHttpRequest<"u",Fn=Un&&function(e){return new Promise(function(n,r){const s=ut(e);let i=s.data;const o=A.from(s.headers).normalize();let{responseType:c,onUploadProgress:u,onDownloadProgress:l}=s,f,h,w,E,d;function m(){E&&E(),d&&d(),s.cancelToken&&s.cancelToken.unsubscribe(f),s.signal&&s.signal.removeEventListener("abort",f)}let p=new XMLHttpRequest;p.open(s.method.toUpperCase(),s.url,!0),p.timeout=s.timeout;function g(){if(!p)return;const S=A.from("getAllResponseHeaders"in p&&p.getAllResponseHeaders()),P={data:!c||c==="text"||c==="json"?p.responseText:p.response,status:p.status,statusText:p.statusText,headers:S,config:e,request:p};at(function(x){n(x),m()},function(x){r(x),m()},P),p=null}"onloadend"in p?p.onloadend=g:p.onreadystatechange=function(){!p||p.readyState!==4||p.status===0&&!(p.responseURL&&p.responseURL.indexOf("file:")===0)||setTimeout(g)},p.onabort=function(){p&&(r(new y("Request aborted",y.ECONNABORTED,e,p)),p=null)},p.onerror=function(O){const P=O&&O.message?O.message:"Network Error",D=new y(P,y.ERR_NETWORK,e,p);D.event=O||null,r(D),p=null},p.ontimeout=function(){let O=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded";const P=s.transitional||st;s.timeoutErrorMessage&&(O=s.timeoutErrorMessage),r(new y(O,P.clarifyTimeoutError?y.ETIMEDOUT:y.ECONNABORTED,e,p)),p=null},i===void 0&&o.setContentType(null),"setRequestHeader"in p&&a.forEach(o.toJSON(),function(O,P){p.setRequestHeader(P,O)}),a.isUndefined(s.withCredentials)||(p.withCredentials=!!s.withCredentials),c&&c!=="json"&&(p.responseType=s.responseType),l&&([w,d]=ne(l,!0),p.addEventListener("progress",w)),u&&p.upload&&([h,E]=ne(u),p.upload.addEventListener("progress",h),p.upload.addEventListener("loadend",E)),(s.cancelToken||s.signal)&&(f=S=>{p&&(r(!S||S.type?new $(null,e,p):S),p.abort(),p=null)},s.cancelToken&&s.cancelToken.subscribe(f),s.signal&&(s.signal.aborted?f():s.signal.addEventListener("abort",f)));const C=Tn(s.url);if(C&&R.protocols.indexOf(C)===-1){r(new y("Unsupported protocol "+C+":",y.ERR_BAD_REQUEST,e));return}p.send(i||null)})},Ln=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let r=new AbortController,s;const i=function(l){if(!s){s=!0,c();const f=l instanceof Error?l:this.reason;r.abort(f instanceof y?f:new $(f instanceof Error?f.message:f))}};let o=t&&setTimeout(()=>{o=null,i(new y(`timeout ${t} of ms exceeded`,y.ETIMEDOUT))},t);const c=()=>{e&&(o&&clearTimeout(o),o=null,e.forEach(l=>{l.unsubscribe?l.unsubscribe(i):l.removeEventListener("abort",i)}),e=null)};e.forEach(l=>l.addEventListener("abort",i));const{signal:u}=r;return u.unsubscribe=()=>a.asap(c),u}},Dn=function*(e,t){let n=e.byteLength;if(n<t){yield e;return}let r=0,s;for(;r<n;)s=r+t,yield e.slice(r,s),r=s},Bn=async function*(e,t){for await(const n of kn(e))yield*Dn(n,t)},kn=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}const t=e.getReader();try{for(;;){const{done:n,value:r}=await t.read();if(n)break;yield r}}finally{await t.cancel()}},Be=(e,t,n,r)=>{const s=Bn(e,t);let i=0,o,c=u=>{o||(o=!0,r&&r(u))};return new ReadableStream({async pull(u){try{const{done:l,value:f}=await s.next();if(l){c(),u.close();return}let h=f.byteLength;if(n){let w=i+=h;n(w)}u.enqueue(new Uint8Array(f))}catch(l){throw c(l),l}},cancel(u){return c(u),s.return()}},{highWaterMark:2})},ke=64*1024,{isFunction:Z}=a,jn=(({Request:e,Response:t})=>({Request:e,Response:t}))(a.global),{ReadableStream:je,TextEncoder:qe}=a.global,He=(e,...t)=>{try{return!!e(...t)}catch{return!1}},qn=e=>{e=a.merge.call({skipUndefined:!0},jn,e);const{fetch:t,Request:n,Response:r}=e,s=t?Z(t):typeof fetch=="function",i=Z(n),o=Z(r);if(!s)return!1;const c=s&&Z(je),u=s&&(typeof qe=="function"?(d=>m=>d.encode(m))(new qe):async d=>new Uint8Array(await new n(d).arrayBuffer())),l=i&&c&&He(()=>{let d=!1;const m=new n(R.origin,{body:new je,method:"POST",get duplex(){return d=!0,"half"}}).headers.has("Content-Type");return d&&!m}),f=o&&c&&He(()=>a.isReadableStream(new r("").body)),h={stream:f&&(d=>d.body)};s&&["text","arrayBuffer","blob","formData","stream"].forEach(d=>{!h[d]&&(h[d]=(m,p)=>{let g=m&&m[d];if(g)return g.call(m);throw new y(`Response type '${d}' is not supported`,y.ERR_NOT_SUPPORT,p)})});const w=async d=>{if(d==null)return 0;if(a.isBlob(d))return d.size;if(a.isSpecCompliantForm(d))return(await new n(R.origin,{method:"POST",body:d}).arrayBuffer()).byteLength;if(a.isArrayBufferView(d)||a.isArrayBuffer(d))return d.byteLength;if(a.isURLSearchParams(d)&&(d=d+""),a.isString(d))return(await u(d)).byteLength},E=async(d,m)=>{const p=a.toFiniteNumber(d.getContentLength());return p??w(m)};return async d=>{let{url:m,method:p,data:g,signal:C,cancelToken:S,timeout:O,onDownloadProgress:P,onUploadProgress:D,responseType:x,headers:ce,withCredentials:X="same-origin",fetchOptions:Se}=ut(d),Re=t||fetch;x=x?(x+"").toLowerCase():"text";let G=Ln([C,S&&S.toAbortSignal()],O),z=null;const B=G&&G.unsubscribe&&(()=>{G.unsubscribe()});let Oe;try{if(D&&l&&p!=="get"&&p!=="head"&&(Oe=await E(ce,g))!==0){let L=new n(m,{method:"POST",body:g,duplex:"half"}),H;if(a.isFormData(g)&&(H=L.headers.get("content-type"))&&ce.setContentType(H),L.body){const[ue,Q]=Fe(Oe,ne(Le(D)));g=Be(L.body,ke,ue,Q)}}a.isString(X)||(X=X?"include":"omit");const _=i&&"credentials"in n.prototype,Te={...Se,signal:G,method:p.toUpperCase(),headers:ce.normalize().toJSON(),body:g,duplex:"half",credentials:_?X:void 0};z=i&&new n(m,Te);let F=await(i?Re(z,Se):Re(m,Te));const Ae=f&&(x==="stream"||x==="response");if(f&&(P||Ae&&B)){const L={};["status","statusText","headers"].forEach(Ce=>{L[Ce]=F[Ce]});const H=a.toFiniteNumber(F.headers.get("content-length")),[ue,Q]=P&&Fe(H,ne(Le(P),!0))||[];F=new r(Be(F.body,ke,ue,()=>{Q&&Q(),B&&B()}),L)}x=x||"text";let mt=await h[a.findKey(h,x)||"text"](F,d);return!Ae&&B&&B(),await new Promise((L,H)=>{at(L,H,{data:mt,headers:A.from(F.headers),status:F.status,statusText:F.statusText,config:d,request:z})})}catch(_){throw B&&B(),_&&_.name==="TypeError"&&/Load failed|fetch/i.test(_.message)?Object.assign(new y("Network Error",y.ERR_NETWORK,d,z),{cause:_.cause||_}):y.from(_,_&&_.code,d,z)}}},Hn=new Map,lt=e=>{let t=e&&e.env||{};const{fetch:n,Request:r,Response:s}=t,i=[r,s,n];let o=i.length,c=o,u,l,f=Hn;for(;c--;)u=i[c],l=f.get(u),l===void 0&&f.set(u,l=c?new Map:qn(t)),f=l;return l};lt();const ge={http:tn,xhr:Fn,fetch:{get:lt}};a.forEach(ge,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const Ie=e=>`- ${e}`,In=e=>a.isFunction(e)||e===null||e===!1;function Mn(e,t){e=a.isArray(e)?e:[e];const{length:n}=e;let r,s;const i={};for(let o=0;o<n;o++){r=e[o];let c;if(s=r,!In(r)&&(s=ge[(c=String(r)).toLowerCase()],s===void 0))throw new y(`Unknown adapter '${c}'`);if(s&&(a.isFunction(s)||(s=s.get(t))))break;i[c||"#"+o]=s}if(!s){const o=Object.entries(i).map(([u,l])=>`adapter ${u} `+(l===!1?"is not supported by the environment":"is not available in the build"));let c=n?o.length>1?`since :
4
+ `+o.map(Ie).join(`
5
+ `):" "+Ie(o[0]):"as no adapter specified";throw new y("There is no suitable adapter to dispatch the request "+c,"ERR_NOT_SUPPORT")}return s}const ft={getAdapter:Mn,adapters:ge};function de(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new $(null,e)}function Me(e){return de(e),e.headers=A.from(e.headers),e.data=fe.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),ft.getAdapter(e.adapter||v.adapter,e)(e).then(function(r){return de(e),r.data=fe.call(e,e.transformResponse,r),r.headers=A.from(r.headers),r},function(r){return it(r)||(de(e),r&&r.response&&(r.response.data=fe.call(e,e.transformResponse,r.response),r.response.headers=A.from(r.response.headers))),Promise.reject(r)})}const dt="1.13.2",ae={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{ae[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const $e={};ae.transitional=function(t,n,r){function s(i,o){return"[Axios v"+dt+"] Transitional option '"+i+"'"+o+(r?". "+r:"")}return(i,o,c)=>{if(t===!1)throw new y(s(o," has been removed"+(n?" in "+n:"")),y.ERR_DEPRECATED);return n&&!$e[o]&&($e[o]=!0,console.warn(s(o," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(i,o,c):!0}};ae.spelling=function(t){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${t}`),!0)};function $n(e,t,n){if(typeof e!="object")throw new y("options must be an object",y.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let s=r.length;for(;s-- >0;){const i=r[s],o=t[i];if(o){const c=e[i],u=c===void 0||o(c,i,e);if(u!==!0)throw new y("option "+i+" must be "+u,y.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new y("Unknown option "+i,y.ERR_BAD_OPTION)}}const te={assertOptions:$n,validators:ae},U=te.validators;let j=class{constructor(t){this.defaults=t||{},this.interceptors={request:new _e,response:new _e}}async request(t,n){try{return await this._request(t,n)}catch(r){if(r instanceof Error){let s={};Error.captureStackTrace?Error.captureStackTrace(s):s=new Error;const i=s.stack?s.stack.replace(/^.+\n/,""):"";try{r.stack?i&&!String(r.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(r.stack+=`
6
+ `+i):r.stack=i}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=q(this.defaults,n);const{transitional:r,paramsSerializer:s,headers:i}=n;r!==void 0&&te.assertOptions(r,{silentJSONParsing:U.transitional(U.boolean),forcedJSONParsing:U.transitional(U.boolean),clarifyTimeoutError:U.transitional(U.boolean)},!1),s!=null&&(a.isFunction(s)?n.paramsSerializer={serialize:s}:te.assertOptions(s,{encode:U.function,serialize:U.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),te.assertOptions(n,{baseUrl:U.spelling("baseURL"),withXsrfToken:U.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let o=i&&a.merge(i.common,i[n.method]);i&&a.forEach(["delete","get","head","post","put","patch","common"],d=>{delete i[d]}),n.headers=A.concat(o,i);const c=[];let u=!0;this.interceptors.request.forEach(function(m){typeof m.runWhen=="function"&&m.runWhen(n)===!1||(u=u&&m.synchronous,c.unshift(m.fulfilled,m.rejected))});const l=[];this.interceptors.response.forEach(function(m){l.push(m.fulfilled,m.rejected)});let f,h=0,w;if(!u){const d=[Me.bind(this),void 0];for(d.unshift(...c),d.push(...l),w=d.length,f=Promise.resolve(n);h<w;)f=f.then(d[h++],d[h++]);return f}w=c.length;let E=n;for(;h<w;){const d=c[h++],m=c[h++];try{E=d(E)}catch(p){m.call(this,p);break}}try{f=Me.call(this,E)}catch(d){return Promise.reject(d)}for(h=0,w=l.length;h<w;)f=f.then(l[h++],l[h++]);return f}getUri(t){t=q(this.defaults,t);const n=ct(t.baseURL,t.url,t.allowAbsoluteUrls);return rt(n,t.params,t.paramsSerializer)}};a.forEach(["delete","get","head","options"],function(t){j.prototype[t]=function(n,r){return this.request(q(r||{},{method:t,url:n,data:(r||{}).data}))}});a.forEach(["post","put","patch"],function(t){function n(r){return function(i,o,c){return this.request(q(c||{},{method:t,headers:r?{"Content-Type":"multipart/form-data"}:{},url:i,data:o}))}}j.prototype[t]=n(),j.prototype[t+"Form"]=n(!0)});let zn=class pt{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(i){n=i});const r=this;this.promise.then(s=>{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](s);r._listeners=null}),this.promise.then=s=>{let i;const o=new Promise(c=>{r.subscribe(c),i=c}).then(s);return o.cancel=function(){r.unsubscribe(i)},o},t(function(i,o,c){r.reason||(r.reason=new $(i,o,c),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new pt(function(s){t=s}),cancel:t}}};function Jn(e){return function(n){return e.apply(null,n)}}function Vn(e){return a.isObject(e)&&e.isAxiosError===!0}const ye={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(ye).forEach(([e,t])=>{ye[t]=e});function ht(e){const t=new j(e),n=Ve(j.prototype.request,t);return a.extend(n,j.prototype,t,{allOwnKeys:!0}),a.extend(n,t,null,{allOwnKeys:!0}),n.create=function(s){return ht(q(e,s))},n}const b=ht(v);b.Axios=j;b.CanceledError=$;b.CancelToken=zn;b.isCancel=it;b.VERSION=dt;b.toFormData=ie;b.AxiosError=y;b.Cancel=b.CanceledError;b.all=function(t){return Promise.all(t)};b.spread=Jn;b.isAxiosError=Vn;b.mergeConfig=q;b.AxiosHeaders=A;b.formToJSON=e=>ot(a.isHTMLForm(e)?new FormData(e):e);b.getAdapter=ft.getAdapter;b.HttpStatusCode=ye;b.default=b;const{Axios:Yn,AxiosError:er,CanceledError:tr,isCancel:nr,CancelToken:rr,VERSION:sr,all:or,Cancel:ir,isAxiosError:ar,spread:cr,toFormData:ur,AxiosHeaders:lr,HttpStatusCode:fr,formToJSON:dr,getAdapter:pr,mergeConfig:hr}=b,Wn={0:"SUCCESS",3:"NO_AUTH"},ze={400:"客户端请求有误,请检查请求格式、参数、路径等配置",401:"登录状态失效,请重新登录",403:"无权限访问该资源,请检查权限配置",404:"请求的资源在服务器上不存在",500:"服务器内部错误,请联系管理员",501:"服务器不支持请求的功能",502:"网关错误,请检查代理服务器",503:"服务器暂时过载或维护,请稍后重试",504:"网关超时,请稍后重试",505:"服务器不支持请求的 HTTP 版本",506:"服务器不支持请求的 HTTP 升级版本",507:"服务器无法处理请求,请稍后重试"},Kn={baseURL:"",timeout:6e4,showErrorMsg:!0,headers:{"Content-Type":"application/x-www-form-urlencoded"}},vn=()=>null,Je=()=>{},mr=({options:e,responseMap:t,handleMessageFn:n=Je,handleGetTokenFn:r=vn,handleNoAuthFn:s=Je})=>{const i={...Kn,...e},o={...Wn,...t},c=b.create(i);return c.interceptors.request.use(u=>{if(["get","delete","head"].includes(u.method?.toLowerCase()||"")&&(u.params={...u.data,...u.params},delete u.data),u.noAuth===!0)return u;const l=r();return l?(u.headers.Authorization=`Bearer ${l}`,u):(s(),u.showErrorMsg&&n({message:"无可用 token,或将请求头中添加 noAuth=true 参数可忽略此错误",type:"error",grouping:!0,duration:5e3,showClose:!0}),Promise.reject({message:"无可用 token,或将请求头中添加 noAuth=true 参数可忽略此错误"}))},u=>(n({message:"请求错误",type:"warning",grouping:!0,duration:5e3,showClose:!0}),Promise.reject(u))),c.interceptors.response.use(u=>{if(!Xn(u.data)&&!Gn(u.data))return u.data;const{code:l,data:f,msg:h}=u.data;return o[l]==="SUCCESS"?f:(o[l]==="NO_AUTH"&&s(),u.config.showErrorMsg&&n({message:h||"业务异常,请稍后重试",type:"warning",grouping:!0,duration:5e3,showClose:!0}),Promise.reject(u.data))},u=>{let l="",f="",h="";if(!u.response)u.code==="ECONNABORTED"?l=`请求超时(${i.timeout}ms),请重试`:u.code==="ERR_INVALID_URL"?l="请求地址错误,请检查后重试":l=`网络异常:${u.message||u.code||"未知错误"}`;else{const{status:w,statusText:E}=u.response;if(f=String(w),h=E,w in ze?l=ze[w]:l=`${w} ${E}`,w===401&&s(),u.config?.responseType==="blob")return u.response}return u.config?.showErrorMsg&&n({message:l,type:"error",grouping:!0,duration:5e3,showClose:!0}),Promise.reject({fillUrl:u.config?.baseURL+u.config?.url,message:l,code:u.code,status:f,statusText:h,response:u.response})}),c};function Xn(e){return e&&typeof e=="object"&&"code"in e&&"msg"in e}function Gn(e){const t=["<html>","<!DOCTYPE","<!doctype"];if(typeof e!="string")return!1;const n=e;return t.some(r=>n.includes(r))}export{mr as c};
@@ -0,0 +1 @@
1
+ .blank-layout[data-v-0123fb47]{position:relative;width:100vw;height:100vh;background:#000}
@@ -0,0 +1 @@
1
+ import{_ as e}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{c as t,b as r,aD as a,o as c}from"./index-ZWYb22SS.js";import"./@jnrs/core-BU1kTVoG.js";const n={},s={class:"blank-layout"};function _(i,l){const o=a("router-view");return c(),t("div",s,[r(o)])}const f=e(n,[["render",_],["__scopeId","data-v-0123fb47"]]);export{f as default};
@@ -0,0 +1 @@
1
+ const s=(t,r)=>{const o=t.__vccOpts||t;for(const[c,e]of r)o[c]=e;return o};export{s as _};
@@ -0,0 +1 @@
1
+ @charset "UTF-8";:root{--el-color-white:#ffffff;--el-color-black:#000000;--el-color-primary-rgb:64,158,255;--el-color-success-rgb:103,194,58;--el-color-warning-rgb:230,162,60;--el-color-danger-rgb:245,108,108;--el-color-error-rgb:245,108,108;--el-color-info-rgb:144,147,153;--el-font-size-extra-large:20px;--el-font-size-large:18px;--el-font-size-medium:16px;--el-font-size-base:14px;--el-font-size-small:13px;--el-font-size-extra-small:12px;--el-font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;--el-font-weight-primary:500;--el-font-line-height-primary:24px;--el-index-normal:1;--el-index-top:1000;--el-index-popper:2000;--el-border-radius-base:4px;--el-border-radius-small:2px;--el-border-radius-round:20px;--el-border-radius-circle:100%;--el-transition-duration:.3s;--el-transition-duration-fast:.2s;--el-transition-function-ease-in-out-bezier:cubic-bezier(.645,.045,.355,1);--el-transition-function-fast-bezier:cubic-bezier(.23,1,.32,1);--el-transition-all:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);--el-transition-fade:opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-md-fade:transform var(--el-transition-duration) var(--el-transition-function-fast-bezier),opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-fade-linear:opacity var(--el-transition-duration-fast) linear;--el-transition-border:border-color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-box-shadow:box-shadow var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-color:color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-component-size-large:40px;--el-component-size:32px;--el-component-size-small:24px}:root{color-scheme:light;--el-color-primary:#409eff;--el-color-primary-light-3:rgb(121,187,255);--el-color-primary-light-5:rgb(160,207,255);--el-color-primary-light-7:rgb(198,226,255);--el-color-primary-light-8:rgb(217,236,255);--el-color-primary-light-9:rgb(236,245,255);--el-color-primary-dark-2:rgb(51,126,204);--el-color-success:#67c23a;--el-color-success-light-3:rgb(149,212,117);--el-color-success-light-5:rgb(179,225,157);--el-color-success-light-7:rgb(209,237,196);--el-color-success-light-8:rgb(225,243,216);--el-color-success-light-9:rgb(240,249,235);--el-color-success-dark-2:rgb(82,155,46);--el-color-warning:#e6a23c;--el-color-warning-light-3:rgb(238,190,119);--el-color-warning-light-5:rgb(243,209,158);--el-color-warning-light-7:rgb(248,227,197);--el-color-warning-light-8:rgb(250,236,216);--el-color-warning-light-9:rgb(253,246,236);--el-color-warning-dark-2:rgb(184,130,48);--el-color-danger:#f56c6c;--el-color-danger-light-3:rgb(248,152,152);--el-color-danger-light-5:rgb(250,182,182);--el-color-danger-light-7:rgb(252,211,211);--el-color-danger-light-8:rgb(253,226,226);--el-color-danger-light-9:rgb(254,240,240);--el-color-danger-dark-2:rgb(196,86,86);--el-color-error:#f56c6c;--el-color-error-light-3:rgb(248,152,152);--el-color-error-light-5:rgb(250,182,182);--el-color-error-light-7:rgb(252,211,211);--el-color-error-light-8:rgb(253,226,226);--el-color-error-light-9:rgb(254,240,240);--el-color-error-dark-2:rgb(196,86,86);--el-color-info:#909399;--el-color-info-light-3:rgb(177,179,184);--el-color-info-light-5:rgb(200,201,204);--el-color-info-light-7:rgb(222,223,224);--el-color-info-light-8:rgb(233,233,235);--el-color-info-light-9:rgb(244,244,245);--el-color-info-dark-2:rgb(115,118,122);--el-bg-color:#ffffff;--el-bg-color-page:#f2f3f5;--el-bg-color-overlay:#ffffff;--el-text-color-primary:#303133;--el-text-color-regular:#606266;--el-text-color-secondary:#909399;--el-text-color-placeholder:#a8abb2;--el-text-color-disabled:#c0c4cc;--el-border-color:#dcdfe6;--el-border-color-light:#e4e7ed;--el-border-color-lighter:#ebeef5;--el-border-color-extra-light:#f2f6fc;--el-border-color-dark:#d4d7de;--el-border-color-darker:#cdd0d6;--el-fill-color:#f0f2f5;--el-fill-color-light:#f5f7fa;--el-fill-color-lighter:#fafafa;--el-fill-color-extra-light:#fafcff;--el-fill-color-dark:#ebedf0;--el-fill-color-darker:#e6e8eb;--el-fill-color-blank:#ffffff;--el-box-shadow:0px 12px 32px 4px rgba(0,0,0,.04),0px 8px 20px rgba(0,0,0,.08);--el-box-shadow-light:0px 0px 12px rgba(0,0,0,.12);--el-box-shadow-lighter:0px 0px 6px rgba(0,0,0,.12);--el-box-shadow-dark:0px 16px 48px 16px rgba(0,0,0,.08),0px 12px 32px rgba(0,0,0,.12),0px 8px 16px -8px rgba(0,0,0,.16);--el-disabled-bg-color:var(--el-fill-color-light);--el-disabled-text-color:var(--el-text-color-placeholder);--el-disabled-border-color:var(--el-border-color-light);--el-overlay-color:rgba(0,0,0,.8);--el-overlay-color-light:rgba(0,0,0,.7);--el-overlay-color-lighter:rgba(0,0,0,.5);--el-mask-color:rgba(255,255,255,.9);--el-mask-color-extra-light:rgba(255,255,255,.3);--el-border-width:1px;--el-border-style:solid;--el-border-color-hover:var(--el-text-color-disabled);--el-border:var(--el-border-width) var(--el-border-style) var(--el-border-color);--el-svg-monochrome-grey:var(--el-border-color)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transform-origin:center top;transition:var(--el-transition-md-fade)}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:center bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transform-origin:center bottom;transition:var(--el-transition-md-fade)}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transform-origin:top left;transition:var(--el-transition-md-fade)}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-enter-active,.el-collapse-transition-leave-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.el-icon{--color:inherit;align-items:center;display:inline-flex;height:1em;justify-content:center;line-height:1em;position:relative;width:1em;fill:currentColor;color:var(--color);font-size:inherit}.el-icon.is-loading{animation:rotating 2s linear infinite}.el-icon svg{height:1em;width:1em}
@@ -0,0 +1,5 @@
1
+ import{z as j,Q as E,bz as _,bA as F,v as f,i as r,Y as m,h as d,j as c,I as K,D as g,m as D,ck as L,cl as N}from"./index-ZWYb22SS.js";const p={prefix:Math.floor(Math.random()*1e4),current:0},S=Symbol("elIdInjection"),w=()=>m()?r(S,p):p,R=n=>{const e=w();!j&&e===p&&E("IdInjection",`Looks like you are using server rendering, you must provide a id provider to ensure the hydration process to be succeed
2
+ usage: app.provide(ID_INJECTION_KEY, {
3
+ prefix: number,
4
+ current: number,
5
+ })`);const o=_();return F(()=>f(n)||`${o.value}-id-${e.prefix}-${e.current++}`)},I=Symbol("formContextKey"),y=Symbol("formItemContextKey"),k=()=>{const n=r(I,void 0),e=r(y,void 0);return{form:n,formItem:e}},Y=(n,{formItemContext:e,disableIdGeneration:o,disableIdManagement:t})=>{o||(o=d(!1)),t||(t=d(!1));const a=m(),i=()=>{let s=a?.parent;for(;s;){if(s.type.name==="ElFormItem")return!1;if(s.type.name==="ElLabelWrap")return!0;s=s.parent}return!1},u=d();let v;const h=c(()=>{var s;return!!(!(n.label||n.ariaLabel)&&e&&e.inputIds&&((s=e.inputIds)==null?void 0:s.length)<=1)});return K(()=>{v=g([D(n,"id"),o],([s,b])=>{const l=s??(b?void 0:R().value);l!==u.value&&(e?.removeInputId&&!i()&&(u.value&&e.removeInputId(u.value),!t?.value&&!b&&l&&e.addInputId(l)),u.value=l)},{immediate:!0})}),L(()=>{v&&v(),e?.removeInputId&&u.value&&e.removeInputId(u.value)}),{isLabeledByFormItem:h,inputId:u}},z=n=>{const e=m();return c(()=>{var o,t;return(t=(o=e?.proxy)==null?void 0:o.$props)==null?void 0:t[n]})},J=(n,e={})=>{const o=d(void 0),t=e.prop?o:z("size"),a=e.global?o:N(),i=e.form?{size:void 0}:r(I,void 0),u=e.formItem?{size:void 0}:r(y,void 0);return c(()=>t.value||f(n)||u?.size||i?.size||a.value||"")},O=n=>{const e=z("disabled"),o=r(I,void 0);return c(()=>e.value||f(n)||o?.disabled||!1)};export{k as a,J as b,Y as c,R as d,y as e,I as f,w as g,O as u};
@@ -0,0 +1 @@
1
+ .el-upload{--el-upload-dragger-padding-horizontal:40px;--el-upload-dragger-padding-vertical:10px;--el-upload-list-picture-card-size:var(--el-upload-picture-card-size);--el-upload-picture-card-size:148px;align-items:center;cursor:pointer;display:inline-flex;justify-content:center;outline:none}.el-upload.is-disabled{cursor:not-allowed}.el-upload.is-disabled:focus{border-color:var(--el-border-color-darker);color:inherit}.el-upload.is-disabled:focus .el-upload-dragger{border-color:var(--el-border-color-darker)}.el-upload.is-disabled .el-upload-dragger{background-color:var(--el-disabled-bg-color);cursor:not-allowed}.el-upload.is-disabled .el-upload-dragger .el-upload__text{color:var(--el-text-color-placeholder)}.el-upload.is-disabled .el-upload-dragger .el-upload__text em{color:var(--el-disabled-text-color)}.el-upload.is-disabled .el-upload-dragger:hover{border-color:var(--el-border-color-darker)}.el-upload__input{display:none}.el-upload__tip{color:var(--el-text-color-regular);font-size:12px;margin-top:7px}.el-upload iframe{filter:alpha(opacity=0);left:0;opacity:0;position:absolute;top:0;z-index:-1}.el-upload--picture-card{align-items:center;background-color:var(--el-fill-color-lighter);border:1px dashed var(--el-border-color-darker);border-radius:6px;box-sizing:border-box;cursor:pointer;display:inline-flex;height:var(--el-upload-picture-card-size);justify-content:center;vertical-align:top;width:var(--el-upload-picture-card-size)}.el-upload--picture-card>i{color:var(--el-text-color-secondary);font-size:28px}.el-upload--picture-card:hover{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload.is-drag{display:block}.el-upload:focus{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload:focus .el-upload-dragger{border-color:var(--el-color-primary)}.el-upload-dragger{background-color:var(--el-fill-color-blank);border:1px dashed var(--el-border-color);border-radius:6px;box-sizing:border-box;cursor:pointer;overflow:hidden;padding:var(--el-upload-dragger-padding-horizontal) var(--el-upload-dragger-padding-vertical);position:relative;text-align:center}.el-upload-dragger .el-icon--upload{color:var(--el-text-color-placeholder);font-size:67px;line-height:50px;margin-bottom:16px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:var(--el-border);margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:var(--el-text-color-regular);font-size:14px;text-align:center}.el-upload-dragger .el-upload__text em{color:var(--el-color-primary);font-style:normal}.el-upload-dragger:hover{border-color:var(--el-color-primary)}.el-upload-dragger.is-dragover{background-color:var(--el-color-primary-light-9);border:2px dashed var(--el-color-primary);padding:calc(var(--el-upload-dragger-padding-horizontal) - 1px) calc(var(--el-upload-dragger-padding-vertical) - 1px)}.el-upload-list{--el-upload-dragger-padding-horizontal:40px;--el-upload-dragger-padding-vertical:10px;--el-upload-list-picture-card-size:var(--el-upload-picture-card-size);--el-upload-picture-card-size:148px;list-style:none;margin:10px 0 0;padding:0;position:relative}.el-upload-list__item{border-radius:4px;box-sizing:border-box;color:var(--el-text-color-regular);font-size:14px;margin-bottom:5px;position:relative;transition:all .5s cubic-bezier(.55,0,.1,1);width:100%}.el-upload-list__item .el-progress{position:absolute;top:20px;width:100%}.el-upload-list__item .el-progress__text{position:absolute;right:0;top:-13px}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item .el-icon--upload-success{color:var(--el-color-success)}.el-upload-list__item .el-icon--close{color:var(--el-text-color-regular);cursor:pointer;display:none;opacity:.75;position:absolute;right:5px;top:50%;transform:translateY(-50%);transition:opacity var(--el-transition-duration)}.el-upload-list__item .el-icon--close:hover{color:var(--el-color-primary);opacity:1}.el-upload-list__item .el-icon--close-tip{color:var(--el-color-primary);cursor:pointer;display:none;font-size:12px;font-style:normal;opacity:1;position:absolute;right:5px;top:1px}.el-upload-list__item:hover{background-color:var(--el-fill-color-light)}.el-upload-list__item:hover .el-icon--close{display:inline-flex}.el-upload-list__item:hover .el-progress__text{display:none}.el-upload-list__item .el-upload-list__item-info{display:inline-flex;flex-direction:column;justify-content:center;margin-left:4px;width:calc(100% - 30px)}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:inline-flex}.el-upload-list__item.is-success .el-upload-list__item-name:focus,.el-upload-list__item.is-success .el-upload-list__item-name:hover{color:var(--el-color-primary);cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon--close-tip{display:inline-block}.el-upload-list__item.is-success:active,.el-upload-list__item.is-success:not(.focusing):focus{outline-width:0}.el-upload-list__item.is-success:active .el-icon--close-tip,.el-upload-list__item.is-success:not(.focusing):focus .el-icon--close-tip{display:none}.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:hover .el-upload-list__item-status-label{display:none;opacity:0}.el-upload-list__item-name{align-items:center;color:var(--el-text-color-regular);display:inline-flex;font-size:var(--el-font-size-base);padding:0 4px;text-align:center;transition:color var(--el-transition-duration)}.el-upload-list__item-name .el-icon{color:var(--el-text-color-secondary);margin-right:6px}.el-upload-list__item-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-upload-list__item-status-label{align-items:center;display:none;height:100%;justify-content:center;line-height:inherit;position:absolute;right:5px;top:0;transition:opacity var(--el-transition-duration)}.el-upload-list__item-delete{color:var(--el-text-color-regular);display:none;font-size:12px;position:absolute;right:10px;top:0}.el-upload-list__item-delete:hover{color:var(--el-color-primary)}.el-upload-list--picture-card{display:inline-flex;flex-wrap:wrap;margin:0}.el-upload-list--picture-card .el-upload-list__item{background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);border-radius:6px;box-sizing:border-box;display:inline-flex;height:var(--el-upload-list-picture-card-size);margin:0 8px 8px 0;overflow:hidden;padding:0;width:var(--el-upload-list-picture-card-size)}.el-upload-list--picture-card .el-upload-list__item .el-icon--check,.el-upload-list--picture-card .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture-card .el-upload-list__item .el-icon--close{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{display:block;opacity:0}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.el-upload-list--picture-card .el-upload-list__item-status-label{background:var(--el-color-success);height:24px;right:-15px;text-align:center;top:-6px;transform:rotate(45deg);width:40px}.el-upload-list--picture-card .el-upload-list__item-status-label i{font-size:12px;margin-top:11px;transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{align-items:center;background-color:var(--el-overlay-color-lighter);color:#fff;cursor:default;display:inline-flex;font-size:20px;height:100%;justify-content:center;left:0;opacity:0;position:absolute;top:0;transition:opacity var(--el-transition-duration);width:100%}.el-upload-list--picture-card .el-upload-list__item-actions span{cursor:pointer;display:none}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:16px}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{color:inherit;font-size:inherit;position:static}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-flex}.el-upload-list--picture-card .el-progress{bottom:auto;left:50%;top:50%;transform:translate(-50%,-50%);width:126px}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{align-items:center;background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);border-radius:6px;box-sizing:border-box;display:flex;margin-top:10px;overflow:hidden;padding:10px;z-index:0}.el-upload-list--picture .el-upload-list__item .el-icon--check,.el-upload-list--picture .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{display:inline-flex;opacity:0}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item .el-icon--close{top:5px;transform:translateY(0)}.el-upload-list--picture .el-upload-list__item-thumbnail{align-items:center;background-color:var(--el-color-white);display:inline-flex;height:70px;justify-content:center;-o-object-fit:contain;object-fit:contain;position:relative;width:70px;z-index:1}.el-upload-list--picture .el-upload-list__item-status-label{background:var(--el-color-success);height:26px;position:absolute;right:-17px;text-align:center;top:-7px;transform:rotate(45deg);width:46px}.el-upload-list--picture .el-upload-list__item-status-label i{font-size:12px;margin-top:12px;transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{cursor:default;height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%;z-index:10}.el-upload-cover:after{content:"";display:inline-block;height:100%;vertical-align:middle}.el-upload-cover img{display:block;height:100%;width:100%}.el-upload-cover__label{background:var(--el-color-success);height:24px;right:-15px;text-align:center;top:-6px;transform:rotate(45deg);width:40px}.el-upload-cover__label i{color:#fff;font-size:12px;margin-top:11px;transform:rotate(-45deg)}.el-upload-cover__progress{display:inline-block;position:static;vertical-align:middle;width:243px}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{height:100%;left:0;position:absolute;top:0;width:100%}.el-upload-cover__interact{background-color:var(--el-overlay-color-light);bottom:0;height:100%;left:0;position:absolute;text-align:center;width:100%}.el-upload-cover__interact .btn{color:#fff;cursor:pointer;display:inline-block;font-size:14px;margin-top:60px;transition:var(--el-transition-md-fade);vertical-align:middle}.el-upload-cover__interact .btn i{margin-top:0}.el-upload-cover__interact .btn span{opacity:0;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#fff;display:block;font-size:24px;line-height:inherit;margin:0 auto 5px}.el-upload-cover__title{background-color:#fff;bottom:0;color:var(--el-text-color-primary);font-size:14px;font-weight:400;height:36px;left:0;line-height:36px;margin:0;overflow:hidden;padding:0 10px;position:absolute;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:100%}.el-upload-cover+.el-upload__inner{opacity:0;position:relative;z-index:1}.el-progress{align-items:center;display:flex;line-height:1;position:relative}.el-progress__text{color:var(--el-text-color-regular);font-size:14px;line-height:1;margin-left:5px;min-width:50px}.el-progress__text i{display:block;vertical-align:middle}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{left:0;margin:0;position:absolute;text-align:center;top:50%;transform:translateY(-50%);width:100%}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{display:inline-block;vertical-align:middle}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{display:block;margin-right:0;padding-right:0}.el-progress--text-inside .el-progress-bar{margin-right:0;padding-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:var(--el-color-success)}.el-progress.is-success .el-progress__text{color:var(--el-color-success)}.el-progress.is-warning .el-progress-bar__inner{background-color:var(--el-color-warning)}.el-progress.is-warning .el-progress__text{color:var(--el-color-warning)}.el-progress.is-exception .el-progress-bar__inner{background-color:var(--el-color-danger)}.el-progress.is-exception .el-progress__text{color:var(--el-color-danger)}.el-progress-bar{box-sizing:border-box;flex-grow:1}.el-progress-bar__outer{background-color:var(--el-border-color-lighter);border-radius:100px;height:6px;overflow:hidden;position:relative;vertical-align:middle}.el-progress-bar__inner{background-color:var(--el-color-primary);border-radius:100px;height:100%;left:0;line-height:1;position:absolute;text-align:right;top:0;transition:width .6s ease;white-space:nowrap}.el-progress-bar__inner:after{content:"";display:inline-block;height:100%;vertical-align:middle}.el-progress-bar__inner--indeterminate{animation:indeterminate 3s infinite;transform:translateZ(0)}.el-progress-bar__inner--striped{background-image:linear-gradient(45deg,rgba(0,0,0,.1) 25%,transparent 0,transparent 50%,rgba(0,0,0,.1) 0,rgba(0,0,0,.1) 75%,transparent 0,transparent);background-size:1.25em 1.25em}.el-progress-bar__inner--striped.el-progress-bar__inner--striped-flow{animation:striped-flow 3s linear infinite}.el-progress-bar__innerText{color:#fff;display:inline-block;font-size:12px;margin:0 5px;vertical-align:middle}@keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}@keyframes indeterminate{0%{left:-100%}to{left:100%}}@keyframes striped-flow{0%{background-position:-100%}to{background-position:100%}}.uploader_item .uploader_avatar[data-v-a0250524]{width:100px;height:100px;border:1px solid #ccc;border-radius:50%}.uploader_item .uploader_icon[data-v-a0250524]{width:100px;height:100px;border:1px solid #ccc;border-radius:50%;font-size:20px;color:#bbb}.form_submit[data-v-a0250524]{margin-top:30px}