@gx-design-vue/create-gx-cli 0.1.12 → 0.1.14

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 (184) hide show
  1. package/bin/create-gx-cli +3 -2
  2. package/package.json +4 -4
  3. package/src/cli.js +9 -7
  4. package/src/git.js +8 -5
  5. package/src/main.js +29 -16
  6. package/template-mobile-vant-cli/package.json +5 -5
  7. package/template-gx-design-thin/.editorconfig +0 -19
  8. package/template-gx-design-thin/.env +0 -4
  9. package/template-gx-design-thin/.env.development +0 -15
  10. package/template-gx-design-thin/.env.production +0 -28
  11. package/template-gx-design-thin/.eslintignore +0 -16
  12. package/template-gx-design-thin/.prettierignore +0 -9
  13. package/template-gx-design-thin/LICENSE +0 -21
  14. package/template-gx-design-thin/README.md +0 -112
  15. package/template-gx-design-thin/build/constant.ts +0 -1
  16. package/template-gx-design-thin/build/generate/generateModifyVars.ts +0 -14
  17. package/template-gx-design-thin/build/rollupOptions/index.ts +0 -22
  18. package/template-gx-design-thin/build/util/hash.ts +0 -17
  19. package/template-gx-design-thin/build/util/index.ts +0 -131
  20. package/template-gx-design-thin/build/vite/cdn.ts +0 -63
  21. package/template-gx-design-thin/build/vite/optimizer.ts +0 -26
  22. package/template-gx-design-thin/build/vite/plugin/appConfig.ts +0 -91
  23. package/template-gx-design-thin/build/vite/plugin/autoImport.ts +0 -26
  24. package/template-gx-design-thin/build/vite/plugin/compress.ts +0 -31
  25. package/template-gx-design-thin/build/vite/plugin/html.ts +0 -39
  26. package/template-gx-design-thin/build/vite/plugin/index.ts +0 -75
  27. package/template-gx-design-thin/build/vite/plugin/mock.ts +0 -14
  28. package/template-gx-design-thin/build/vite/plugin/pwa.ts +0 -31
  29. package/template-gx-design-thin/build/vite/plugin/visualizer.ts +0 -14
  30. package/template-gx-design-thin/build/vite/plugin/viteMock/client.ts +0 -88
  31. package/template-gx-design-thin/build/vite/plugin/viteMock/createMockServer.ts +0 -271
  32. package/template-gx-design-thin/build/vite/plugin/viteMock/index.ts +0 -69
  33. package/template-gx-design-thin/build/vite/plugin/viteMock/types.ts +0 -48
  34. package/template-gx-design-thin/build/vite/plugin/viteMock/utils.ts +0 -48
  35. package/template-gx-design-thin/build/vite/plugin/viteNotice.ts +0 -40
  36. package/template-gx-design-thin/commitlint.config.cjs +0 -32
  37. package/template-gx-design-thin/config/default/defaultSettings.ts +0 -78
  38. package/template-gx-design-thin/config/default/network.ts +0 -10
  39. package/template-gx-design-thin/config/default/proxy.ts +0 -47
  40. package/template-gx-design-thin/config/default/theme.ts +0 -3
  41. package/template-gx-design-thin/config/index.ts +0 -11
  42. package/template-gx-design-thin/eslint.config.js +0 -51
  43. package/template-gx-design-thin/index.html +0 -42
  44. package/template-gx-design-thin/mock/_createProductionServer.ts +0 -19
  45. package/template-gx-design-thin/mock/_util.ts +0 -33
  46. package/template-gx-design-thin/mock/config/menu.ts +0 -21
  47. package/template-gx-design-thin/mock/config/user.ts +0 -123
  48. package/template-gx-design-thin/mock/datasSource/system/menu.ts +0 -10
  49. package/template-gx-design-thin/mock/datasSource/user/account.ts +0 -30
  50. package/template-gx-design-thin/mock/datasSource/user/index.ts +0 -47
  51. package/template-gx-design-thin/mock/util/crypto.ts +0 -23
  52. package/template-gx-design-thin/mock/util/table.ts +0 -92
  53. package/template-gx-design-thin/mock/util/utils.ts +0 -73
  54. package/template-gx-design-thin/package.json +0 -129
  55. package/template-gx-design-thin/pnpm-lock.yaml +0 -12575
  56. package/template-gx-design-thin/prettier.config.cjs +0 -18
  57. package/template-gx-design-thin/public/resource/css/index.css +0 -119
  58. package/template-gx-design-thin/public/resource/css/normalize.css +0 -396
  59. package/template-gx-design-thin/public/resource/img/favicon.ico +0 -0
  60. package/template-gx-design-thin/public/resource/img/logo.png +0 -0
  61. package/template-gx-design-thin/public/resource/img/pro_icon.svg +0 -1
  62. package/template-gx-design-thin/public/resource/img/pwa-192x192.png +0 -0
  63. package/template-gx-design-thin/public/resource/img/pwa-512x512.png +0 -0
  64. package/template-gx-design-thin/src/App.vue +0 -42
  65. package/template-gx-design-thin/src/assets/error_images/403.png +0 -0
  66. package/template-gx-design-thin/src/assets/error_images/404.png +0 -0
  67. package/template-gx-design-thin/src/assets/error_images/cloud.png +0 -0
  68. package/template-gx-design-thin/src/assets/login_images/login_background.svg +0 -1
  69. package/template-gx-design-thin/src/assets/logo.png +0 -0
  70. package/template-gx-design-thin/src/assets/menu_font/iconfont.css +0 -94
  71. package/template-gx-design-thin/src/assets/menu_font/iconfont.eot +0 -0
  72. package/template-gx-design-thin/src/assets/menu_font/iconfont.js +0 -1
  73. package/template-gx-design-thin/src/assets/menu_font/iconfont.json +0 -142
  74. package/template-gx-design-thin/src/assets/menu_font/iconfont.svg +0 -1
  75. package/template-gx-design-thin/src/assets/menu_font/iconfont.ttf +0 -0
  76. package/template-gx-design-thin/src/assets/menu_font/iconfont.woff +0 -0
  77. package/template-gx-design-thin/src/assets/menu_font/iconfont.woff2 +0 -0
  78. package/template-gx-design-thin/src/assets/menu_font/index.less +0 -94
  79. package/template-gx-design-thin/src/assets/public_icon/iconfont.css +0 -42
  80. package/template-gx-design-thin/src/assets/public_icon/iconfont.eot +0 -0
  81. package/template-gx-design-thin/src/assets/public_icon/iconfont.js +0 -1
  82. package/template-gx-design-thin/src/assets/public_icon/iconfont.json +0 -51
  83. package/template-gx-design-thin/src/assets/public_icon/iconfont.svg +0 -1
  84. package/template-gx-design-thin/src/assets/public_icon/iconfont.ttf +0 -0
  85. package/template-gx-design-thin/src/assets/public_icon/iconfont.woff +0 -0
  86. package/template-gx-design-thin/src/assets/public_icon/iconfont.woff2 +0 -0
  87. package/template-gx-design-thin/src/assets/public_icon/index.less +0 -42
  88. package/template-gx-design-thin/src/assets/public_images/nodata.svg +0 -1
  89. package/template-gx-design-thin/src/common/global.ts +0 -4
  90. package/template-gx-design-thin/src/components/GDesign/Result/index.tsx +0 -144
  91. package/template-gx-design-thin/src/components/GDesign/Result/style.less +0 -140
  92. package/template-gx-design-thin/src/components/GDesign/utils/index.ts +0 -7
  93. package/template-gx-design-thin/src/components/GlobalLayout/Confirm/index.ts +0 -21
  94. package/template-gx-design-thin/src/components/GlobalLayout/Empty/index.vue +0 -18
  95. package/template-gx-design-thin/src/components/GlobalLayout/RightContent/index.tsx +0 -126
  96. package/template-gx-design-thin/src/components/GlobalLayout/RightContent/style.ts +0 -77
  97. package/template-gx-design-thin/src/components/GlobalLayout/Spin/index.tsx +0 -30
  98. package/template-gx-design-thin/src/components/PageLoading/index.tsx +0 -51
  99. package/template-gx-design-thin/src/components/index.ts +0 -6
  100. package/template-gx-design-thin/src/core/ant-design/index.ts +0 -10
  101. package/template-gx-design-thin/src/core/gx-admin-design/index.ts +0 -6
  102. package/template-gx-design-thin/src/core/gx-design/index.ts +0 -6
  103. package/template-gx-design-thin/src/core/gx-pro-design/index.ts +0 -8
  104. package/template-gx-design-thin/src/core/index.ts +0 -84
  105. package/template-gx-design-thin/src/design/ant-design/index.less +0 -4
  106. package/template-gx-design-thin/src/design/ant-design/layout.less +0 -22
  107. package/template-gx-design-thin/src/design/ant-design/menu.less +0 -48
  108. package/template-gx-design-thin/src/design/ant-design/spin.less +0 -23
  109. package/template-gx-design-thin/src/design/ant-design/tooltip.less +0 -7
  110. package/template-gx-design-thin/src/design/color.less +0 -1
  111. package/template-gx-design-thin/src/design/config.less +0 -5
  112. package/template-gx-design-thin/src/design/imageEditor.less +0 -180
  113. package/template-gx-design-thin/src/design/index.less +0 -95
  114. package/template-gx-design-thin/src/design/mixin.less +0 -65
  115. package/template-gx-design-thin/src/design/normalize.less +0 -391
  116. package/template-gx-design-thin/src/design/root.less +0 -3
  117. package/template-gx-design-thin/src/hooks/core/index.ts +0 -3
  118. package/template-gx-design-thin/src/hooks/core/useRequest/index.ts +0 -118
  119. package/template-gx-design-thin/src/hooks/event/index.ts +0 -3
  120. package/template-gx-design-thin/src/hooks/event/useClipboard.ts +0 -15
  121. package/template-gx-design-thin/src/hooks/web/index.ts +0 -5
  122. package/template-gx-design-thin/src/hooks/web/useThemeStyle.ts +0 -16
  123. package/template-gx-design-thin/src/layout/BasicLayout.vue +0 -123
  124. package/template-gx-design-thin/src/layout/BlankLayout.vue +0 -5
  125. package/template-gx-design-thin/src/layout/ContentView.vue +0 -50
  126. package/template-gx-design-thin/src/layout/IframeView.vue +0 -1
  127. package/template-gx-design-thin/src/layout/UserLayout.vue +0 -7
  128. package/template-gx-design-thin/src/main.ts +0 -34
  129. package/template-gx-design-thin/src/plugins/index.ts +0 -2
  130. package/template-gx-design-thin/src/router/guard/index.ts +0 -83
  131. package/template-gx-design-thin/src/router/guard/permissions.ts +0 -70
  132. package/template-gx-design-thin/src/router/guard/stateGuard.ts +0 -10
  133. package/template-gx-design-thin/src/router/helper/routeHelper.ts +0 -223
  134. package/template-gx-design-thin/src/router/helper/utils.ts +0 -19
  135. package/template-gx-design-thin/src/router/index.ts +0 -31
  136. package/template-gx-design-thin/src/router/routes/index.ts +0 -86
  137. package/template-gx-design-thin/src/router/routes/modules/dataSource.ts +0 -12
  138. package/template-gx-design-thin/src/services/common/index.ts +0 -11
  139. package/template-gx-design-thin/src/services/systemCenter/index.ts +0 -1
  140. package/template-gx-design-thin/src/services/systemCenter/menu.ts +0 -9
  141. package/template-gx-design-thin/src/services/userCenter/account.ts +0 -42
  142. package/template-gx-design-thin/src/services/userCenter/index.ts +0 -28
  143. package/template-gx-design-thin/src/store/index.ts +0 -32
  144. package/template-gx-design-thin/src/store/modules/dict.ts +0 -28
  145. package/template-gx-design-thin/src/store/modules/global.ts +0 -42
  146. package/template-gx-design-thin/src/store/modules/permission.ts +0 -19
  147. package/template-gx-design-thin/src/store/modules/routes.ts +0 -113
  148. package/template-gx-design-thin/src/store/modules/tabsRouter.ts +0 -76
  149. package/template-gx-design-thin/src/store/modules/user.ts +0 -136
  150. package/template-gx-design-thin/src/utils/accessToken.ts +0 -80
  151. package/template-gx-design-thin/src/utils/crypto/base64.ts +0 -101
  152. package/template-gx-design-thin/src/utils/crypto/index.ts +0 -57
  153. package/template-gx-design-thin/src/utils/env.ts +0 -50
  154. package/template-gx-design-thin/src/utils/fetchFile.ts +0 -81
  155. package/template-gx-design-thin/src/utils/index.ts +0 -123
  156. package/template-gx-design-thin/src/utils/pageTitle.ts +0 -20
  157. package/template-gx-design-thin/src/utils/request/XHR.ts +0 -139
  158. package/template-gx-design-thin/src/utils/request/axiosCancel.ts +0 -69
  159. package/template-gx-design-thin/src/utils/request/checkStatus.ts +0 -25
  160. package/template-gx-design-thin/src/utils/request/index.ts +0 -144
  161. package/template-gx-design-thin/src/utils/request/typings.ts +0 -171
  162. package/template-gx-design-thin/src/utils/storage.ts +0 -199
  163. package/template-gx-design-thin/src/utils/uploadFile.ts +0 -27
  164. package/template-gx-design-thin/src/utils/util.ts +0 -198
  165. package/template-gx-design-thin/src/utils/validate.ts +0 -216
  166. package/template-gx-design-thin/src/views/Iframe/index.vue +0 -76
  167. package/template-gx-design-thin/src/views/Page/one.vue +0 -13
  168. package/template-gx-design-thin/src/views/Page/two.vue +0 -13
  169. package/template-gx-design-thin/src/views/exception/403/index.vue +0 -7
  170. package/template-gx-design-thin/src/views/exception/404/index.vue +0 -9
  171. package/template-gx-design-thin/src/views/user/login/index.vue +0 -109
  172. package/template-gx-design-thin/src/views/user/login/style.less +0 -38
  173. package/template-gx-design-thin/tsconfig.json +0 -46
  174. package/template-gx-design-thin/types/ant-design-import.d.ts +0 -99
  175. package/template-gx-design-thin/types/auto-imports.d.ts +0 -81
  176. package/template-gx-design-thin/types/components.d.ts +0 -24
  177. package/template-gx-design-thin/types/config.d.ts +0 -44
  178. package/template-gx-design-thin/types/global.d.ts +0 -97
  179. package/template-gx-design-thin/types/mock.d.ts +0 -16
  180. package/template-gx-design-thin/types/module.d.ts +0 -20
  181. package/template-gx-design-thin/types/response.d.ts +0 -15
  182. package/template-gx-design-thin/unocss.config.ts +0 -101
  183. package/template-gx-design-thin/vite.config.ts +0 -120
  184. package/template-gx-design-thin/yarn.lock +0 -9492
@@ -1,51 +0,0 @@
1
- import antFuEslint from '@antfu/eslint-config'
2
-
3
- export default antFuEslint({
4
- vue: true,
5
- vueJsx: true,
6
- typescript: true,
7
- gitignore: true,
8
- markdown: true,
9
- ignores: [
10
- 'src/assets/**/*.js',
11
- 'build/vite/plugin/viteMock',
12
- 'public',
13
- 'tsconfig.*.json',
14
- 'tsconfig.json'
15
- ]
16
- }, {
17
- rules: {
18
- 'curly': 0,
19
- 'no-console': 0,
20
- 'import/order': 0,
21
- 'style/quote-props': 0,
22
- 'style/brace-style': 0,
23
- 'style/comma-dangle': 0,
24
- 'style/multiline-ternary': 0,
25
- 'prefer-regex-literals': 0,
26
- 'antfu/top-level-function': 0,
27
- 'vue/array-bracket-spacing': 0,
28
- 'style/array-bracket-spacing': 0,
29
- 'node/prefer-global/process': 0,
30
- 'style/indent': 0,
31
- 'prefer-template': 0,
32
- 'dot-notation': 0,
33
- 'no-cond-assign': 0,
34
- 'no-useless-computed-key': 0,
35
- 'node/no-deprecated-api': 0,
36
- 'antfu/consistent-list-newline': 0,
37
- 'import/no-mutable-exports': 0,
38
- 'style/member-delimiter-style': 0,
39
- 'unused-imports/no-unused-imports': 0,
40
- 'eslint-comments/no-unlimited-disable': 0,
41
- 'no-async-promise-executor': 0,
42
- 'unicorn/escape-case': 0,
43
- 'ts/ban-ts-comment': 0,
44
- 'ts/prefer-ts-expect-error': 0,
45
- 'ts/method-signature-style': 0,
46
- 'style/no-trailing-spaces': 0,
47
- 'ts/consistent-type-imports': 0,
48
- 'style/type-generic-spacing': 0,
49
- 'prefer-promise-reject-errors': 0
50
- }
51
- })
@@ -1,42 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="zh">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <meta http-equiv="X-UA-Compatible" content="IE=edge" />
6
- <meta
7
- name="viewport"
8
- content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"
9
- />
10
- <% for (var i in injectScript) { %>
11
- <script type="text/javascript" src="<%= injectScript[i] %>"></script>
12
- <% } %>
13
- <title><%= VUE_APP_TITLE %></title>
14
- <link rel="icon" href="/resource/img/favicon.ico" type="image/x-icon" />
15
- <% for (var i in injectLink) { %>
16
- <link rel="stylesheet" type="text/css" href="<%= injectLink[i] %>" />
17
- <% } %>
18
- <link rel="stylesheet" href="/resource/css/normalize.css">
19
- <link rel="stylesheet" href="/resource/css/index.css">
20
- </head>
21
- <body>
22
- <div id="app">
23
- <div class="gx-app-loading">
24
- <div class="gx-app-title">
25
- <img src="/resource/img/logo.png" alt="logo" />
26
- </div>
27
- <div class="page-loading-warp">
28
- <div class="gx-spin gx-spin-spinning">
29
- <span class="gx-spin-dot gx-spin-dot-spin">
30
- <svg t="1708486459357" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="983" width="40" height="40"><path d="M470.869333 9.130667c0-5.034667 4.096-9.130667 9.130667-9.130667h64c5.034667 0 9.130667 4.096 9.130667 9.130667v237.738666A9.130667 9.130667 0 0 1 544 256h-64a9.130667 9.130667 0 0 1-9.130667-9.130667V9.130667z" fill="#1677ff" p-id="984"></path><path d="M224 97.066667a9.130667 9.130667 0 0 1 3.328-12.501334l55.466667-32a9.130667 9.130667 0 0 1 12.458666 3.370667l118.869334 205.866667a9.130667 9.130667 0 0 1-3.370667 12.458666l-55.424 32a9.130667 9.130667 0 0 1-12.458667-3.328L224 97.066667z" fill="#1677ff" p-id="985"></path><path d="M55.893333 295.253333a9.130667 9.130667 0 0 1-3.328-12.501333l32-55.424a9.130667 9.130667 0 0 1 12.501334-3.328L302.933333 342.869333a9.130667 9.130667 0 0 1 3.328 12.458667l-32 55.466667a9.130667 9.130667 0 0 1-12.458666 3.328L55.893333 295.253333z" fill="#1677ff" p-id="986"></path><path d="M9.130667 553.130667A9.130667 9.130667 0 0 1 0 544v-64c0-5.034667 4.096-9.130667 9.130667-9.130667h237.738666c5.034667 0 9.130667 4.096 9.130667 9.130667v64a9.130667 9.130667 0 0 1-9.130667 9.130667H9.130667z" fill="#1677ff" p-id="987"></path><path d="M800 97.066667a9.130667 9.130667 0 0 0-3.328-12.501334l-55.466667-32a9.130667 9.130667 0 0 0-12.458666 3.370667l-118.869334 205.866667a9.130667 9.130667 0 0 0 3.370667 12.458666l55.424 32a9.130667 9.130667 0 0 0 12.458667-3.328l118.869333-205.866666z" fill="#1677ff" p-id="988"></path><path d="M968.106667 295.253333a9.130667 9.130667 0 0 0 3.328-12.501333l-32-55.424a9.130667 9.130667 0 0 0-12.501334-3.328L721.066667 342.869333a9.130667 9.130667 0 0 0-3.328 12.458667l32 55.466667c2.517333 4.352 8.106667 5.845333 12.458666 3.328L968.106667 295.253333z" fill="#1677ff" p-id="989"></path><path d="M1014.869333 553.130667A9.130667 9.130667 0 0 0 1024 544v-64a9.130667 9.130667 0 0 0-9.130667-9.130667h-237.738666a9.130667 9.130667 0 0 0-9.130667 9.130667v64c0 5.034667 4.096 9.130667 9.130667 9.130667h237.738666z" fill="#1677ff" p-id="990"></path><path d="M470.869333 1014.869333c0 5.034667 4.096 9.130667 9.130667 9.130667h64a9.130667 9.130667 0 0 0 9.130667-9.130667v-237.738666A9.130667 9.130667 0 0 0 544 768h-64a9.130667 9.130667 0 0 0-9.130667 9.130667v237.738666z" fill="#1677ff" p-id="991"></path><path d="M224 926.933333a9.130667 9.130667 0 0 0 3.328 12.501334l55.466667 32c4.352 2.517333 9.941333 1.024 12.458666-3.370667l118.869334-205.866667a9.130667 9.130667 0 0 0-3.370667-12.458666l-55.424-32a9.130667 9.130667 0 0 0-12.458667 3.328L224 926.933333z" fill="#1677ff" p-id="992"></path><path d="M55.893333 728.746667a9.130667 9.130667 0 0 0-3.328 12.501333l32 55.424c2.56 4.352 8.106667 5.845333 12.501334 3.328L302.933333 681.130667a9.130667 9.130667 0 0 0 3.328-12.458667l-32-55.466667a9.130667 9.130667 0 0 0-12.458666-3.328L55.893333 728.746667z" fill="#1677ff" p-id="993"></path><path d="M800 926.933333a9.130667 9.130667 0 0 1-3.328 12.501334l-55.466667 32a9.130667 9.130667 0 0 1-12.458666-3.370667l-118.869334-205.866667a9.130667 9.130667 0 0 1 3.370667-12.458666l55.424-32a9.130667 9.130667 0 0 1 12.458667 3.328l118.869333 205.866666z" fill="#1677ff" p-id="994"></path><path d="M968.106667 728.746667c4.352 2.517333 5.845333 8.106667 3.328 12.501333l-32 55.424a9.130667 9.130667 0 0 1-12.501334 3.328L721.066667 681.130667a9.130667 9.130667 0 0 1-3.328-12.458667l32-55.466667a9.130667 9.130667 0 0 1 12.458666-3.328l205.866667 118.869334z" fill="#1677ff" p-id="995"></path></svg>
31
- </span>
32
- </div>
33
- <div class="page-loading-warp_mseeage">
34
- <p class="page-loading_title">正在加载资源</p>
35
- <p class="page-loading_sub_title">初次加载资源可能需要较多时间,请耐心等候</p>
36
- </div>
37
- </div>
38
- </div>
39
- </div>
40
- <script type="module" src="/src/main.ts"></script>
41
- </body>
42
- </html>
@@ -1,19 +0,0 @@
1
- import { createProdMockServer } from '../build/vite/plugin/viteMock/client'
2
-
3
- const modules = import.meta.glob('./datasSource/**/*.ts', { eager: true })
4
-
5
- const mockModules: any[] = []
6
- Object.keys(modules).forEach((key) => {
7
- if (key.includes('/_')) {
8
- return
9
- }
10
- if (modules[key] && modules[key]['default'])
11
- mockModules.push(...modules[key]['default'])
12
- })
13
-
14
- /**
15
- * Used in a production environment. Need to manually import all modules
16
- */
17
- export function setupProdMockServer() {
18
- createProdMockServer(mockModules)
19
- }
@@ -1,33 +0,0 @@
1
- import { omit } from 'lodash-es'
2
- import { defaultSettings } from '@gx-config'
3
- import { checkToken } from '@gx-mock/util/utils'
4
- import { isFunction, isObject } from '@gx-design-vue/pro-utils'
5
-
6
- const { tokenName } = defaultSettings
7
-
8
- export function getRequestToken({ headers }: MockResponse<any, any>): string | undefined {
9
- return headers?.[tokenName.toLowerCase()]
10
- }
11
-
12
- export const checkBackDataFun = (token, config?: Partial<ResponseResult> | Function) => {
13
- const configData: Partial<ResponseResult> = isFunction(config) ? (config as Function)?.() : config
14
- let code = 200
15
- let msg = ''
16
- let data: any
17
- if (isObject(configData)) {
18
- code = configData?.code || 200
19
- data = configData?.data || { ...omit(configData, [ 'code', 'msg' ]) }
20
- msg = configData?.msg
21
- } else {
22
- data = configData
23
- }
24
-
25
- const invaiteToken = checkToken(token)
26
-
27
- const result: ResponseResult = {
28
- ...(invaiteToken ? { data } : {}),
29
- code: invaiteToken ? code : 401,
30
- msg: invaiteToken ? msg || code ? 'success' : 'Request failed' : 'Invalid token!'
31
- }
32
- return result
33
- }
@@ -1,21 +0,0 @@
1
- import dayjs from 'dayjs'
2
- import type { MenuDataItem } from '@gx-design-vue/pro-layout'
3
- import { getLevelData } from '@gx-design-vue/pro-utils'
4
-
5
- export const menuList: MenuDataItem[] = getLevelData([
6
- {
7
- component: 'Page/one',
8
- createTime: dayjs().format('YYYY-MM-DD HH:mm:ss'),
9
- menuId: 2,
10
- path: 'one',
11
- title: '页面一',
12
- name: 'PageOne',
13
- menuType: 'C',
14
- orderNum: '2',
15
- isFrame: '1',
16
- parentId: 0,
17
- target: '',
18
- hidden: false,
19
- outLinkType: 0
20
- }
21
- ]).map(item => ({ ...item, children: [] }))
@@ -1,123 +0,0 @@
1
- import mockjs from 'mockjs'
2
-
3
- const { Random } = mockjs
4
-
5
- const admin = [ 1, 2 ]
6
-
7
- export interface RolesInfo {
8
- roleId: number;
9
- roleKey: string;
10
- roleName: string;
11
- status: string;
12
- }
13
-
14
- export interface UserDetails {
15
- roles: RolesInfo[];
16
- userId: number;
17
- roleIds: number[];
18
- userName: string;
19
- nickName: string;
20
- avatar: string;
21
- admin: boolean;
22
- address: string;
23
- signature: string;
24
- introduction: string;
25
- tags?: string;
26
- phone?: string;
27
- email?: string;
28
- levelName?: string;
29
- provinceCode?: string;
30
- cityCode?: string;
31
- districtCode?: string;
32
- loginDate?: string;
33
- }
34
-
35
- export interface UserInfo {
36
- roles: string[];
37
- permissions: string[];
38
- user: UserDetails;
39
- }
40
-
41
- export interface UserList {
42
- id: number;
43
- name: string;
44
- }
45
-
46
- export const accessTokens = {
47
- gx12358: 'gx-accessToken',
48
- admin: 'admin-accessToken',
49
- editor: 'editor-accessToken',
50
- no_editor: 'test-accessToken'
51
- }
52
-
53
- export const accounts = {
54
- admin: 'gx.design',
55
- gx12358: 'aa123456',
56
- editor: 'gx.design',
57
- no_editor: 'gx.design'
58
- }
59
-
60
- export const rolesInfo: RolesInfo[] = [
61
- {
62
- roleId: 1,
63
- roleKey: 'gx-admin',
64
- roleName: 'gx12358-超级管理员',
65
- status: '0'
66
- },
67
- {
68
- roleId: 2,
69
- roleKey: 'admin',
70
- roleName: '超级管理员',
71
- status: '0'
72
- },
73
- {
74
- roleId: 3,
75
- roleKey: 'editor',
76
- roleName: '编辑人员',
77
- status: '0'
78
- }
79
- ]
80
-
81
- export const tokenAccount = {
82
- '1': accessTokens.gx12358,
83
- '2': accessTokens.admin,
84
- '3': accessTokens.editor,
85
- '4': accessTokens.no_editor
86
- }
87
-
88
- const rolesInfoAccount = {
89
- '1': rolesInfo.filter(item => [ 1 ].includes(item.roleId)),
90
- '2': rolesInfo.filter(item => [ 2 ].includes(item.roleId)),
91
- '3': rolesInfo.filter(item => [ 3 ].includes(item.roleId)),
92
- '4': rolesInfo.filter(item => [ 3 ].includes(item.roleId))
93
- }
94
-
95
- const nickNameAccount = {
96
- '1': 'gx12358',
97
- '2': 'admin',
98
- '3': 'editor',
99
- '4': 'no_editor'
100
- }
101
-
102
- export const defaultUser: UserInfo = {
103
- permissions: [ '*:*:*' ],
104
- roles: rolesInfoAccount[String(2)].map(item => item.roleKey),
105
- user: {
106
- userId: 1,
107
- admin: admin.includes(1),
108
- roles: rolesInfoAccount[String(1)],
109
- levelName: '前端开发工程师',
110
- roleIds: rolesInfoAccount[String(1)].map(item => item.roleId),
111
- nickName: nickNameAccount[String(1)],
112
- address: '安徽省合肥市瑶海区',
113
- provinceCode: '340000',
114
- cityCode: '340100',
115
- districtCode: '340102',
116
- email: 'gx12358@gmail.com',
117
- phone: '18811217623',
118
- introduction: Random.cparagraph(10, 15),
119
- avatar: 'https://ahtv-obs.obs.cn-north-4.myhuaweicloud.com/20211111162748.jpg',
120
- tags: Array.from({ length: Random.integer(4, 8) }).map(_ => Random.cword(2, 6)).join(),
121
- userName: Object.keys(accessTokens).find(el => tokenAccount[String(1)] === accessTokens[el])
122
- } as UserDetails
123
- }
@@ -1,10 +0,0 @@
1
- import { getMockRequest } from '@gx-mock/util/utils'
2
- import { menuList } from '@gx-mock/config/menu'
3
-
4
- export default [
5
- getMockRequest({
6
- url: '/menu/navigate',
7
- method: 'post',
8
- callback: () => menuList
9
- })
10
- ]
@@ -1,30 +0,0 @@
1
- import dayjs from 'dayjs'
2
- import type { UserInfo } from '@gx-mock/config/user'
3
- import { defaultUser } from '@gx-mock/config/user'
4
- import { getMockRequest, getTokeUserInfo } from '@gx-mock/util/utils'
5
-
6
- export default [
7
- getMockRequest<UserInfo | DefaultResult<null>, any>({
8
- url: '/user/queryUserDetail',
9
- method: 'get',
10
- callback: (_, token = '') => {
11
- if (token) {
12
- const tokenUserInfo = getTokeUserInfo(token)
13
- if (tokenUserInfo && tokenUserInfo?.userId) {
14
- return {
15
- ...defaultUser,
16
- user: {
17
- ...defaultUser.user,
18
- loginDate: dayjs().format('YYYY-MM-DD HH:mm:ss')
19
- }
20
- }
21
- }
22
- }
23
-
24
- return {
25
- code: 500,
26
- message: '用户信息获取失败'
27
- }
28
- }
29
- })
30
- ]
@@ -1,47 +0,0 @@
1
- import { defaultSettings } from '@gx-config'
2
- import { accessTokens, accounts } from '@gx-mock/config/user'
3
- import { createrToken, getMockRequest } from '@gx-mock/util/utils'
4
-
5
- const { tokenName } = defaultSettings
6
-
7
- export default [
8
- getMockRequest({
9
- url: '/user/login',
10
- method: 'post',
11
- carryToken: false,
12
- callback: ({ body }) => {
13
- const { userName, password } = body
14
- const accessToken = accessTokens[userName]
15
- if (accounts[userName] !== password || !accessToken) {
16
- return {
17
- code: 500,
18
- msg: '帐户或密码不正确。'
19
- }
20
- }
21
- return {
22
- code: 200,
23
- msg: 'success',
24
- data: {
25
- [tokenName]: createrToken(accessToken),
26
- expiresIn: 720
27
- }
28
- }
29
- }
30
- }),
31
- getMockRequest({
32
- url: '/user/register',
33
- method: 'post',
34
- carryToken: false,
35
- callback: () => {
36
- return {
37
- code: 200,
38
- msg: '模拟注册成功'
39
- }
40
- }
41
- }),
42
- getMockRequest({
43
- url: '/user/logout',
44
- method: 'get',
45
- timeout: 200
46
- })
47
- ]
@@ -1,23 +0,0 @@
1
- import { isJSONStr } from '@/utils/validate'
2
- import { isArray, isObject } from '@gx-design-vue/pro-utils'
3
- import Base64 from '@/utils/crypto/base64'
4
-
5
- const cryptoBase64 = new Base64()
6
-
7
- // 加密方法
8
- export function Encrypt(word: string | object) {
9
- let str: string
10
- if (isObject(word) || isArray(word)) {
11
- str = JSON.stringify(word)
12
- } else {
13
- str = word as string
14
- }
15
-
16
- return cryptoBase64.encode(str as string)
17
- }
18
-
19
- // 解密方法
20
- export function Decrypt(word: string) {
21
- const decryptedStr = cryptoBase64.decode(word)
22
- return isJSONStr(decryptedStr) ? JSON.parse(decryptedStr) : decryptedStr
23
- }
@@ -1,92 +0,0 @@
1
- import mockjs from 'mockjs'
2
- import { cloneDeep } from 'lodash-es'
3
- import dayjs from 'dayjs'
4
-
5
- const { Random, mock } = mockjs
6
-
7
- export interface ListItem {
8
- createTime: string;
9
- id: number;
10
- }
11
-
12
- export interface ListSearchParams {
13
- pageNum?: number;
14
- pageSize?: number;
15
- sord?: 'asc' | 'desc';
16
- sidx?: 'createTime';
17
- }
18
-
19
- export function initContent<T>(
20
- max,
21
- callbackParams?: (key: number) => Omit<T, 'id' | 'createTime'> & Partial<ListItem>
22
- ): (Omit<T, 'id' | 'createTime'> & ListItem)[] {
23
- const mockParams = {}
24
- mockParams[`data|${max}`] = [
25
- {
26
- 'id|+1': 1
27
- }
28
- ]
29
- const list: { data: (T & ListItem)[] } = mock(mockParams)
30
-
31
- return list.data.map((item, index) => {
32
- return {
33
- ...item,
34
- createTime: dayjs()
35
- .subtract(Random.integer(3, 60), 'day')
36
- .subtract(Random.integer(2, 6), 'hour')
37
- .subtract(Random.integer(1, 59), 'minute')
38
- .subtract(Random.integer(1, 59), 'second')
39
- .format('YYYY-MM-DD HH:mm:ss'),
40
- ...callbackParams?.(index)
41
- }
42
- })
43
- }
44
-
45
- export function handlePageList<T>(
46
- dataSource: T[],
47
- { pageNum, pageSize, callBack }: {
48
- pageNum: number;
49
- pageSize: number;
50
- callBack?: (data: T[]) => T[]
51
- }
52
- ): T[] {
53
- if (callBack)
54
- dataSource = callBack?.(dataSource)
55
- return cloneDeep(dataSource).filter(
56
- (_, sort) => (sort < pageNum * pageSize) && (sort >= pageSize * (pageNum - 1))
57
- )
58
- }
59
-
60
- export function compareToMaxTime(obj1, obj2, key, type: 0 | 1 = 0) {
61
- const val1 = obj1[key]
62
- const val2 = obj2[key]
63
- let result = 0
64
- if (dayjs(val1).isBefore(dayjs(val2))) {
65
- result = type === 0 ? -1 : 0
66
- } else if (dayjs(val1).isAfter(dayjs(val2))) {
67
- result = type === 0 ? 0 : (-1)
68
- }
69
- return result
70
- }
71
-
72
- export function postDataSource<T>(
73
- dataSource: (Omit<T, 'id' | 'createTime'> & ListItem)[],
74
- type: 'delete' | 'add' | 'update' = 'update',
75
- options?: { key?: string; params: Partial<(Omit<T, 'id' | 'createTime'> & ListItem)> }
76
- ) {
77
- if (type === 'update')
78
- dataSource = dataSource.map((item: any) => {
79
- if (options?.params?.[options.key] === item[options?.key])
80
- return { ...item, ...options?.params }
81
- return item
82
- })
83
- if (type === 'add')
84
- dataSource.unshift({
85
- ...options?.params as (Omit<T, 'id' | 'createTime'> & ListItem),
86
- id: dataSource.length + 1
87
- })
88
- if (type === 'delete')
89
- dataSource = dataSource.filter(item => options?.params?.[options.key] !== item[options?.key])
90
-
91
- return dataSource
92
- }
@@ -1,73 +0,0 @@
1
- import mockjs from 'mockjs'
2
- import { defaultSettings } from '@gx-config'
3
- import type { UserDetails } from '@gx-mock/config/user'
4
- import { tokenAccount, defaultUser } from '@gx-mock/config/user'
5
- import { Decrypt, Encrypt } from '@gx-mock/util/crypto'
6
- import { getRandomNumber } from '@gx-design-vue/pro-utils'
7
- import { checkBackDataFun, getRequestToken } from '@gx-mock/_util'
8
-
9
- const { Random } = mockjs
10
-
11
- const { mockPrefixUrl, checkMockToken } = defaultSettings
12
-
13
- export function getTokenBuUserId(token) {
14
- return Number(Object.keys(tokenAccount).find(item => tokenAccount[item] === token))
15
- }
16
-
17
- export function createrToken(_) {
18
- const userInfo = defaultUser
19
- return Encrypt({ userId: userInfo.user.userId })
20
- }
21
-
22
- export function getTokeUserInfo(token): UserDetails {
23
- return Decrypt(token)
24
- }
25
-
26
- export function handleRandomImage(width = 50, height = 50) {
27
- return `https://picsum.photos/${width}/${height}?random=${getRandomNumber().uuid(10)}`
28
- }
29
-
30
- export function checkToken(token) {
31
- if (token) {
32
- const useInfo: UserDetails = getTokeUserInfo(token)
33
- return useInfo ? useInfo?.userId : false
34
- }
35
-
36
- return !checkMockToken
37
- }
38
-
39
- export function getArraryList<T>(length: number, callback: (key: number) => T) {
40
- return Array.from({ length }).map((_, key) => callback(key))
41
- }
42
-
43
- export function getMockRequest<T = Recordable, R = Record<any, any>, D = undefined>({
44
- url,
45
- timeout,
46
- method,
47
- carryToken = true,
48
- callback
49
- }: {
50
- url: string;
51
- carryToken?: boolean;
52
- timeout?: number;
53
- method: MockMethod['method'];
54
- callback?: (res: MockResponse<T, D>, token?: string) => Partial<R>;
55
- }): MockMethod {
56
- return {
57
- url: `${mockPrefixUrl}${url}`,
58
- timeout,
59
- method,
60
- response: (request) => {
61
- if (carryToken) {
62
- const token = getRequestToken(request)
63
- return checkBackDataFun(token, callback?.(request, token) || {})
64
- }
65
-
66
- return callback?.(request)
67
- }
68
- }
69
- }
70
-
71
- export function getMockRandowList<T = any>(data: T[]) {
72
- return data[Random.integer(0, data.length - 1)] as T
73
- }