@gx-design-vue/create-gx-cli 0.1.11 → 0.1.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (184) hide show
  1. package/bin/create-gx-cli +3 -2
  2. package/package.json +4 -4
  3. package/src/cli.js +10 -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 -231
  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: 'Page',
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
- }