@gx-design-vue/create-gx-cli 0.0.5 → 0.0.6

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 (257) hide show
  1. package/package.json +1 -1
  2. package/src/cli.js +1 -1
  3. package/src/main.js +4 -0
  4. package/template-design-pro/.editorconfig +0 -19
  5. package/template-design-pro/.env +0 -2
  6. package/template-design-pro/.env.development +0 -18
  7. package/template-design-pro/.env.pro +0 -32
  8. package/template-design-pro/.env.production +0 -32
  9. package/template-design-pro/.env.test +0 -20
  10. package/template-design-pro/.eslintignore +0 -16
  11. package/template-design-pro/.eslintrc.js +0 -64
  12. package/template-design-pro/.gitpod.yml +0 -6
  13. package/template-design-pro/.husky/pre-commit +0 -4
  14. package/template-design-pro/.prettierignore +0 -9
  15. package/template-design-pro/.stylelintignore +0 -3
  16. package/template-design-pro/.yarnclean +0 -48
  17. package/template-design-pro/LICENSE +0 -21
  18. package/template-design-pro/README.md +0 -111
  19. package/template-design-pro/build/constant.ts +0 -6
  20. package/template-design-pro/build/generate/generateModifyVars.ts +0 -18
  21. package/template-design-pro/build/getConfigFileName.ts +0 -13
  22. package/template-design-pro/build/script/buildConf.ts +0 -44
  23. package/template-design-pro/build/script/postBuild.ts +0 -25
  24. package/template-design-pro/build/script/reSetRootHtml.ts +0 -20
  25. package/template-design-pro/build/utils.ts +0 -85
  26. package/template-design-pro/build/vite/cdn.ts +0 -7
  27. package/template-design-pro/build/vite/optimizer.ts +0 -22
  28. package/template-design-pro/build/vite/plugin/autoImport.ts +0 -18
  29. package/template-design-pro/build/vite/plugin/compress.ts +0 -35
  30. package/template-design-pro/build/vite/plugin/hmr.ts +0 -25
  31. package/template-design-pro/build/vite/plugin/html.ts +0 -47
  32. package/template-design-pro/build/vite/plugin/index.ts +0 -89
  33. package/template-design-pro/build/vite/plugin/mock.ts +0 -20
  34. package/template-design-pro/build/vite/plugin/pwa.ts +0 -37
  35. package/template-design-pro/build/vite/plugin/styleImport.ts +0 -129
  36. package/template-design-pro/build/vite/plugin/visualizer.ts +0 -17
  37. package/template-design-pro/build/vite/plugin/vite-plugin-antd-theme/index.ts +0 -24
  38. package/template-design-pro/build/vite/plugin/vite-plugin-mock/createMockServer.ts +0 -303
  39. package/template-design-pro/build/vite/plugin/vite-plugin-mock/createProdMockServer.ts +0 -93
  40. package/template-design-pro/build/vite/plugin/vite-plugin-mock/index.ts +0 -68
  41. package/template-design-pro/build/vite/plugin/vite-plugin-mock/types.ts +0 -30
  42. package/template-design-pro/build/vite/plugin/vite-plugin-mock/utils.ts +0 -26
  43. package/template-design-pro/commitlint.config.js +0 -32
  44. package/template-design-pro/config/config.ts +0 -14
  45. package/template-design-pro/config/default/animate.ts +0 -30
  46. package/template-design-pro/config/default/defaultSettings.ts +0 -75
  47. package/template-design-pro/config/default/network.ts +0 -16
  48. package/template-design-pro/config/default/proxy.ts +0 -26
  49. package/template-design-pro/config/default/theme.ts +0 -43
  50. package/template-design-pro/config/default/themeColor.ts +0 -62
  51. package/template-design-pro/index.html +0 -45
  52. package/template-design-pro/jest.config.mjs +0 -36
  53. package/template-design-pro/mock/_createProductionServer.ts +0 -19
  54. package/template-design-pro/mock/_util.ts +0 -55
  55. package/template-design-pro/mock/controller/menu.ts +0 -85
  56. package/template-design-pro/mock/controller/notices.ts +0 -114
  57. package/template-design-pro/mock/system/dict.ts +0 -60
  58. package/template-design-pro/mock/system/user.ts +0 -218
  59. package/template-design-pro/package.json +0 -151
  60. package/template-design-pro/pnpm-lock.yaml +0 -9913
  61. package/template-design-pro/postcss.config.js +0 -5
  62. package/template-design-pro/prettier.config.js +0 -18
  63. package/template-design-pro/public/resource/css/index.css +0 -171
  64. package/template-design-pro/public/resource/img/favicon.ico +0 -0
  65. package/template-design-pro/public/resource/img/logo.png +0 -0
  66. package/template-design-pro/public/resource/img/pro_icon.svg +0 -5
  67. package/template-design-pro/public/resource/img/pwa-192x192.png +0 -0
  68. package/template-design-pro/public/resource/img/pwa-512x512.png +0 -0
  69. package/template-design-pro/src/App.vue +0 -47
  70. package/template-design-pro/src/assets/error_images/403.png +0 -0
  71. package/template-design-pro/src/assets/error_images/404.png +0 -0
  72. package/template-design-pro/src/assets/error_images/cloud.png +0 -0
  73. package/template-design-pro/src/assets/login_images/login_background.svg +0 -69
  74. package/template-design-pro/src/assets/logo.png +0 -0
  75. package/template-design-pro/src/assets/menu_font/iconfont.css +0 -94
  76. package/template-design-pro/src/assets/menu_font/iconfont.eot +0 -0
  77. package/template-design-pro/src/assets/menu_font/iconfont.js +0 -1
  78. package/template-design-pro/src/assets/menu_font/iconfont.json +0 -142
  79. package/template-design-pro/src/assets/menu_font/iconfont.svg +0 -57
  80. package/template-design-pro/src/assets/menu_font/iconfont.ttf +0 -0
  81. package/template-design-pro/src/assets/menu_font/iconfont.woff +0 -0
  82. package/template-design-pro/src/assets/menu_font/iconfont.woff2 +0 -0
  83. package/template-design-pro/src/assets/menu_font/index.less +0 -94
  84. package/template-design-pro/src/common/global.ts +0 -1
  85. package/template-design-pro/src/components/GDesign/ProLayout/BasicLayout.less +0 -80
  86. package/template-design-pro/src/components/GDesign/ProLayout/BasicLayout.tsx +0 -342
  87. package/template-design-pro/src/components/GDesign/ProLayout/PageLoading.tsx +0 -20
  88. package/template-design-pro/src/components/GDesign/ProLayout/RenderTypings.ts +0 -31
  89. package/template-design-pro/src/components/GDesign/ProLayout/RouteContext.tsx +0 -82
  90. package/template-design-pro/src/components/GDesign/ProLayout/WrapContent.tsx +0 -69
  91. package/template-design-pro/src/components/GDesign/ProLayout/components/GlobalFooter/index.tsx +0 -88
  92. package/template-design-pro/src/components/GDesign/ProLayout/components/GlobalHeader/DefaultHeader.tsx +0 -189
  93. package/template-design-pro/src/components/GDesign/ProLayout/components/GlobalHeader/Header.less +0 -8
  94. package/template-design-pro/src/components/GDesign/ProLayout/components/GlobalHeader/index.tsx +0 -105
  95. package/template-design-pro/src/components/GDesign/ProLayout/components/GlobalHeader/props.ts +0 -69
  96. package/template-design-pro/src/components/GDesign/ProLayout/components/GlobalHeader/style.less +0 -144
  97. package/template-design-pro/src/components/GDesign/ProLayout/components/LogoContent/index.tsx +0 -81
  98. package/template-design-pro/src/components/GDesign/ProLayout/components/LogoContent/props.ts +0 -29
  99. package/template-design-pro/src/components/GDesign/ProLayout/components/MultiTab/index.tsx +0 -384
  100. package/template-design-pro/src/components/GDesign/ProLayout/components/MultiTab/props.ts +0 -15
  101. package/template-design-pro/src/components/GDesign/ProLayout/components/MultiTab/style.less +0 -79
  102. package/template-design-pro/src/components/GDesign/ProLayout/components/NoticeIcon/NoticeIcon.tsx +0 -148
  103. package/template-design-pro/src/components/GDesign/ProLayout/components/NoticeIcon/NoticeList.module.less +0 -115
  104. package/template-design-pro/src/components/GDesign/ProLayout/components/NoticeIcon/NoticeList.tsx +0 -154
  105. package/template-design-pro/src/components/GDesign/ProLayout/components/NoticeIcon/index.less +0 -39
  106. package/template-design-pro/src/components/GDesign/ProLayout/components/NoticeIcon/index.tsx +0 -133
  107. package/template-design-pro/src/components/GDesign/ProLayout/components/PageContainer/index.tsx +0 -190
  108. package/template-design-pro/src/components/GDesign/ProLayout/components/PageContainer/props.ts +0 -48
  109. package/template-design-pro/src/components/GDesign/ProLayout/components/PageContainer/style.less +0 -128
  110. package/template-design-pro/src/components/GDesign/ProLayout/components/PageContainer/typings.ts +0 -0
  111. package/template-design-pro/src/components/GDesign/ProLayout/components/RightContent/AvatarDropdown.tsx +0 -63
  112. package/template-design-pro/src/components/GDesign/ProLayout/components/RightContent/HeaderSearch.tsx +0 -122
  113. package/template-design-pro/src/components/GDesign/ProLayout/components/RightContent/headerSearch.less +0 -30
  114. package/template-design-pro/src/components/GDesign/ProLayout/components/RightContent/index.tsx +0 -95
  115. package/template-design-pro/src/components/GDesign/ProLayout/components/RightContent/style.less +0 -90
  116. package/template-design-pro/src/components/GDesign/ProLayout/components/SettingDrawer/BlockCheckbox.tsx +0 -70
  117. package/template-design-pro/src/components/GDesign/ProLayout/components/SettingDrawer/LayoutSetting.tsx +0 -107
  118. package/template-design-pro/src/components/GDesign/ProLayout/components/SettingDrawer/ThemeColor.tsx +0 -68
  119. package/template-design-pro/src/components/GDesign/ProLayout/components/SettingDrawer/index.tsx +0 -346
  120. package/template-design-pro/src/components/GDesign/ProLayout/components/SiderMenu/BaseMenu.tsx +0 -224
  121. package/template-design-pro/src/components/GDesign/ProLayout/components/SiderMenu/SiderMenu.tsx +0 -224
  122. package/template-design-pro/src/components/GDesign/ProLayout/components/SiderMenu/index.tsx +0 -43
  123. package/template-design-pro/src/components/GDesign/ProLayout/components/SiderMenu/props.ts +0 -112
  124. package/template-design-pro/src/components/GDesign/ProLayout/components/SiderMenu/style.less +0 -262
  125. package/template-design-pro/src/components/GDesign/ProLayout/components/SiderMenu/typings.ts +0 -44
  126. package/template-design-pro/src/components/GDesign/ProLayout/default.less +0 -2
  127. package/template-design-pro/src/components/GDesign/ProLayout/defaultSettings.ts +0 -121
  128. package/template-design-pro/src/components/GDesign/ProLayout/hooks/context/index.ts +0 -45
  129. package/template-design-pro/src/components/GDesign/ProLayout/index.ts +0 -43
  130. package/template-design-pro/src/components/GDesign/ProLayout/props.ts +0 -57
  131. package/template-design-pro/src/components/GDesign/ProLayout/style.less +0 -272
  132. package/template-design-pro/src/components/GDesign/ProLayout/typings.ts +0 -1
  133. package/template-design-pro/src/components/GDesign/ProLayout/utils/getMenuData.ts +0 -31
  134. package/template-design-pro/src/components/GDesign/ProLayout/utils/index.ts +0 -94
  135. package/template-design-pro/src/components/GDesign/ProLayout/utils/isImg/index.ts +0 -6
  136. package/template-design-pro/src/components/GDesign/ProLayout/utils/isUrl/index.ts +0 -5
  137. package/template-design-pro/src/components/GDesign/Result/index.tsx +0 -142
  138. package/template-design-pro/src/components/GDesign/Result/style.less +0 -140
  139. package/template-design-pro/src/components/GDesign/Scrollbars/components/Bar/index.tsx +0 -56
  140. package/template-design-pro/src/components/GDesign/Scrollbars/components/Bar/props.ts +0 -23
  141. package/template-design-pro/src/components/GDesign/Scrollbars/components/Thumb/index.tsx +0 -164
  142. package/template-design-pro/src/components/GDesign/Scrollbars/components/Thumb/props.ts +0 -11
  143. package/template-design-pro/src/components/GDesign/Scrollbars/context.ts +0 -10
  144. package/template-design-pro/src/components/GDesign/Scrollbars/index.tsx +0 -200
  145. package/template-design-pro/src/components/GDesign/Scrollbars/props.ts +0 -65
  146. package/template-design-pro/src/components/GDesign/Scrollbars/style.less +0 -85
  147. package/template-design-pro/src/components/GDesign/Scrollbars/util.ts +0 -40
  148. package/template-design-pro/src/components/GDesign/utils/index.ts +0 -7
  149. package/template-design-pro/src/components/PageLoading/index.tsx +0 -44
  150. package/template-design-pro/src/components/PageTransition/index.vue +0 -98
  151. package/template-design-pro/src/components/index.ts +0 -6
  152. package/template-design-pro/src/core/ant-design/index.ts +0 -14
  153. package/template-design-pro/src/core/gx-admin-design/index.ts +0 -7
  154. package/template-design-pro/src/core/gx-admin-directives/index.ts +0 -8
  155. package/template-design-pro/src/core/gx-admin-directives/permission.ts +0 -28
  156. package/template-design-pro/src/core/gx-design/index.ts +0 -7
  157. package/template-design-pro/src/core/gx-pro-design/index.ts +0 -10
  158. package/template-design-pro/src/core/index.ts +0 -27
  159. package/template-design-pro/src/design/ant-design/index.less +0 -4
  160. package/template-design-pro/src/design/ant-design/layout.less +0 -29
  161. package/template-design-pro/src/design/ant-design/menu.less +0 -55
  162. package/template-design-pro/src/design/ant-design/table.less +0 -67
  163. package/template-design-pro/src/design/ant-design/tooltip.less +0 -13
  164. package/template-design-pro/src/design/color.less +0 -1
  165. package/template-design-pro/src/design/config.less +0 -5
  166. package/template-design-pro/src/design/index.less +0 -41
  167. package/template-design-pro/src/design/mixin.less +0 -66
  168. package/template-design-pro/src/design/normalize.less +0 -390
  169. package/template-design-pro/src/global.less +0 -15
  170. package/template-design-pro/src/hooks/core/index.ts +0 -3
  171. package/template-design-pro/src/hooks/core/useRequest/index.ts +0 -70
  172. package/template-design-pro/src/hooks/core/useRequest/typings.ts +0 -0
  173. package/template-design-pro/src/hooks/event/index.ts +0 -3
  174. package/template-design-pro/src/hooks/event/useClipboard.ts +0 -14
  175. package/template-design-pro/src/hooks/system/index.ts +0 -5
  176. package/template-design-pro/src/hooks/system/useDict.ts +0 -62
  177. package/template-design-pro/src/hooks/system/usePermissions.ts +0 -39
  178. package/template-design-pro/src/hooks/typings.ts +0 -17
  179. package/template-design-pro/src/layout/BasicLayout.vue +0 -104
  180. package/template-design-pro/src/layout/BlankLayout.vue +0 -5
  181. package/template-design-pro/src/layout/ContentView.vue +0 -76
  182. package/template-design-pro/src/layout/IframeView.vue +0 -1
  183. package/template-design-pro/src/layout/UserLayout.vue +0 -7
  184. package/template-design-pro/src/main.ts +0 -34
  185. package/template-design-pro/src/plugins/index.ts +0 -3
  186. package/template-design-pro/src/router/guard/index.ts +0 -84
  187. package/template-design-pro/src/router/guard/permissions.ts +0 -73
  188. package/template-design-pro/src/router/guard/stateGuard.ts +0 -11
  189. package/template-design-pro/src/router/helper/routeHelper.ts +0 -244
  190. package/template-design-pro/src/router/helper/utils.ts +0 -19
  191. package/template-design-pro/src/router/index.ts +0 -30
  192. package/template-design-pro/src/router/routes/index.ts +0 -85
  193. package/template-design-pro/src/router/routes/modules/workplace.ts +0 -19
  194. package/template-design-pro/src/services/common/index.ts +0 -11
  195. package/template-design-pro/src/services/controller/router.ts +0 -10
  196. package/template-design-pro/src/services/controller/user.ts +0 -35
  197. package/template-design-pro/src/services/system/dictData.ts +0 -10
  198. package/template-design-pro/src/services/system/notices.ts +0 -9
  199. package/template-design-pro/src/store/index.ts +0 -32
  200. package/template-design-pro/src/store/modules/dict.ts +0 -27
  201. package/template-design-pro/src/store/modules/permission.ts +0 -19
  202. package/template-design-pro/src/store/modules/routes.ts +0 -110
  203. package/template-design-pro/src/store/modules/settings.ts +0 -102
  204. package/template-design-pro/src/store/modules/tabsRouter.ts +0 -73
  205. package/template-design-pro/src/store/modules/user.ts +0 -153
  206. package/template-design-pro/src/utils/accessToken.ts +0 -93
  207. package/template-design-pro/src/utils/crypto.ts +0 -39
  208. package/template-design-pro/src/utils/env.ts +0 -52
  209. package/template-design-pro/src/utils/fetchFile.ts +0 -79
  210. package/template-design-pro/src/utils/index.ts +0 -127
  211. package/template-design-pro/src/utils/pageTitle.ts +0 -17
  212. package/template-design-pro/src/utils/request/XHR.ts +0 -131
  213. package/template-design-pro/src/utils/request/axiosCancel.ts +0 -60
  214. package/template-design-pro/src/utils/request/checkStatus.ts +0 -26
  215. package/template-design-pro/src/utils/request/index.ts +0 -145
  216. package/template-design-pro/src/utils/request/typings.ts +0 -114
  217. package/template-design-pro/src/utils/storage.ts +0 -194
  218. package/template-design-pro/src/utils/uploadFile.ts +0 -26
  219. package/template-design-pro/src/utils/util.ts +0 -278
  220. package/template-design-pro/src/utils/validate.ts +0 -221
  221. package/template-design-pro/src/views/Iframe/index.vue +0 -76
  222. package/template-design-pro/src/views/MenuOne/index.vue +0 -15
  223. package/template-design-pro/src/views/MenuTwo/index.vue +0 -13
  224. package/template-design-pro/src/views/exception/403/index.vue +0 -9
  225. package/template-design-pro/src/views/exception/404/index.vue +0 -9
  226. package/template-design-pro/src/views/user/login/index.vue +0 -110
  227. package/template-design-pro/src/views/user/login/style.less +0 -38
  228. package/template-design-pro/stylelint.config.js +0 -106
  229. package/template-design-pro/tests/__mocks__/fileMock.ts +0 -1
  230. package/template-design-pro/tests/__mocks__/styleMock.ts +0 -1
  231. package/template-design-pro/tests/__mocks__/workerMock.ts +0 -5
  232. package/template-design-pro/tests/server/README.md +0 -15
  233. package/template-design-pro/tests/server/controller/FileController.ts +0 -18
  234. package/template-design-pro/tests/server/controller/UserController.ts +0 -15
  235. package/template-design-pro/tests/server/ecosystem.config.js +0 -18
  236. package/template-design-pro/tests/server/index.ts +0 -63
  237. package/template-design-pro/tests/server/nodemon.json +0 -8
  238. package/template-design-pro/tests/server/package.json +0 -36
  239. package/template-design-pro/tests/server/routes.ts +0 -23
  240. package/template-design-pro/tests/server/service/FileService.ts +0 -54
  241. package/template-design-pro/tests/server/service/UserService.ts +0 -25
  242. package/template-design-pro/tests/server/tsconfig.json +0 -15
  243. package/template-design-pro/tests/server/utils.ts +0 -9
  244. package/template-design-pro/tests/server/yarn.lock +0 -2955
  245. package/template-design-pro/tests/test.spec.ts +0 -16
  246. package/template-design-pro/tsconfig.json +0 -47
  247. package/template-design-pro/types/auto-imports.d.ts +0 -61
  248. package/template-design-pro/types/config.d.ts +0 -100
  249. package/template-design-pro/types/global.d.ts +0 -103
  250. package/template-design-pro/types/gx-components.d.ts +0 -24
  251. package/template-design-pro/types/index.d.ts +0 -13
  252. package/template-design-pro/types/mock.d.ts +0 -23
  253. package/template-design-pro/types/module.d.ts +0 -16
  254. package/template-design-pro/types/response.d.ts +0 -15
  255. package/template-design-pro/types/route.d.ts +0 -89
  256. package/template-design-pro/vite.config.ts +0 -136
  257. package/template-design-pro/yarn.lock +0 -9697
@@ -1,153 +0,0 @@
1
- import { reactive, toRefs } from 'vue'
2
- import { defineStore } from 'pinia'
3
- import { message, notification } from 'ant-design-vue'
4
- import config from '/config/config'
5
- import { getUserInfo, login, logout } from '@/services/controller/user'
6
- import { getAccessToken, removeAccessToken, setAccessToken } from '@/utils/accessToken'
7
- import { timeFix } from '@/utils/util'
8
- import { useStoreRoutes } from './routes'
9
- import { useStorePermission } from './permission'
10
- import { useStoreTabsRouter } from './tabsRouter'
11
-
12
- const { tokenName } = config.defaultSettings
13
-
14
- interface RolesInfo {
15
- roleId: number;
16
- roleKey: string;
17
- roleName: string;
18
- status: string;
19
- }
20
-
21
- export interface UserInfo {
22
- admin?: boolean;
23
- userId?: number;
24
- roles?: RolesInfo[];
25
- roleIds?: number[];
26
- userName?: string;
27
- nickName?: string;
28
- avatar?: string;
29
- loginDate?: string;
30
- }
31
-
32
- export interface UserState {
33
- accessToken: string;
34
- userInfo: UserInfo;
35
- userName: string;
36
- loginName: string;
37
- avatar: string;
38
- }
39
-
40
- export const useStoreUser = defineStore('user', () => {
41
- const routes = useStoreRoutes()
42
- const auth = useStorePermission()
43
- const tabsRouter = useStoreTabsRouter()
44
-
45
- const state = reactive({
46
- accessToken: getAccessToken(),
47
- userInfo: {},
48
- userName: '',
49
- loginName: '',
50
- avatar: ''
51
- } as UserState)
52
-
53
- /**
54
- * @Author gx12358
55
- * @DateTime 2022/1/11
56
- * @lastTime 2022/1/11
57
- * @description 登录拦截放行时,设置虚拟角色
58
- */
59
- const setVirtualRoles = () => {
60
- auth.changeValue('admin', true)
61
- state.avatar = 'https://i.gtimg.cn/club/item/face/img/2/15922_100.gif'
62
- state.userName = 'admin(未开启登录拦截)'
63
- return true
64
- }
65
-
66
- /**
67
- * @Author gx12358
68
- * @DateTime 2022/1/11
69
- * @lastTime 2022/1/11
70
- * @description 登录
71
- */
72
- const userLogin = async (params) => {
73
- const response: any = await login(params)
74
- const accessToken = response?.data?.[tokenName]
75
- if (accessToken) {
76
- const expires_in = response?.data?.expires_in
77
- state.accessToken = accessToken
78
- setAccessToken(accessToken, expires_in ? expires_in * 60 * 1000 : 0)
79
- return true
80
- }
81
- return false
82
- }
83
-
84
- /**
85
- * @Author gx12358
86
- * @DateTime 2022/1/11
87
- * @lastTime 2022/1/11
88
- * @description 获取用户信息
89
- */
90
- const queryUserInfo = async () => {
91
- const response: any = await getUserInfo()
92
- const { roles, user, permissions } = response
93
- if (!user || Object.keys(user).length === 0) {
94
- message.error(`验证失败,请重新登录...`)
95
- return false
96
- }
97
- const { userName, avatar, nickName } = user as UserInfo
98
- if (userName && roles && Array.isArray(roles)) {
99
- auth.changeValue('role', roles)
100
- auth.changeValue('ability', permissions)
101
- state.userName = userName
102
- state.loginName = nickName
103
- state.avatar = avatar
104
- state.userInfo = user
105
- notification.success({
106
- message: `欢迎登录${userName}`,
107
- description: `${timeFix()}!`
108
- })
109
- } else {
110
- message.error('用户信息接口异常')
111
- return false
112
- }
113
- return true
114
- }
115
-
116
- const updateUserInfo = (params: UserInfo) => {
117
- Object.assign(state.userInfo, { ...params })
118
- }
119
-
120
- /**
121
- * @Author gx12358
122
- * @DateTime 2022/5/15
123
- * @lastTime 2022/5/15
124
- * @description 用户退出登录
125
- */
126
- const userLogut = async () => {
127
- await logout({
128
- userName: state.userName
129
- })
130
- resetPermissions()
131
- }
132
-
133
- const resetPermissions = () => {
134
- state.accessToken = ''
135
- setAccessToken('')
136
- auth.changeValue('admin', false)
137
- auth.changeValue('role', [])
138
- auth.changeValue('ability', [])
139
- routes.resetRoute()
140
- tabsRouter.blankingTabs()
141
- removeAccessToken()
142
- }
143
-
144
- return {
145
- ...toRefs(state),
146
- userLogin,
147
- userLogut,
148
- queryUserInfo,
149
- updateUserInfo,
150
- setVirtualRoles,
151
- resetPermissions
152
- }
153
- })
@@ -1,93 +0,0 @@
1
- import config from '/config/config'
2
- import {
3
- setStorage,
4
- getStorage,
5
- removeStorage,
6
- getCookie,
7
- setCookie,
8
- delCookie
9
- } from '@/utils/storage'
10
-
11
- const { storage, tokenTableName } = config.defaultSettings
12
-
13
- /**
14
- * @Author gx12358
15
- * @DateTime 2021/12/27
16
- * @lastTime 2021/12/27
17
- * @description 获取accessToken
18
- */
19
- export function getAccessToken() {
20
- if (storage) {
21
- if ('localStorage' === storage) {
22
- return getStorage({ key: tokenTableName })
23
- } else if ('sessionStorage' === storage) {
24
- return getStorage({ key: tokenTableName, type: 'session' })
25
- } else if ('cookie' === storage) {
26
- return getCookie(tokenTableName)
27
- } else {
28
- return getStorage({ key: tokenTableName })
29
- }
30
- } else {
31
- return getStorage({ key: tokenTableName })
32
- }
33
- }
34
-
35
- /**
36
- * @author gx12358 2539306317@qq.com
37
- * @description 存储accessToken
38
- * @param accessToken
39
- * @returns {void|*}
40
- */
41
- export function setAccessToken(accessToken: string, expired?: number) {
42
- if (storage) {
43
- if ('localStorage' === storage) {
44
- return setStorage({
45
- key: tokenTableName,
46
- value: accessToken,
47
- expired
48
- })
49
- } else if ('sessionStorage' === storage) {
50
- return setStorage({
51
- key: tokenTableName,
52
- value: accessToken,
53
- expired,
54
- type: 'session'
55
- })
56
- } else if ('cookie' === storage) {
57
- return setCookie(tokenTableName, accessToken, expired)
58
- } else {
59
- return setStorage({
60
- key: tokenTableName,
61
- value: accessToken,
62
- expired
63
- })
64
- }
65
- } else {
66
- return setStorage({
67
- key: tokenTableName,
68
- value: accessToken,
69
- expired
70
- })
71
- }
72
- }
73
-
74
- /**
75
- * @author gx12358 2539306317@qq.com
76
- * @description 移除accessToken
77
- * @returns {void|Promise<void>}
78
- */
79
- export function removeAccessToken() {
80
- if (storage) {
81
- if ('localStorage' === storage) {
82
- return removeStorage(tokenTableName)
83
- } else if ('sessionStorage' === storage) {
84
- return removeStorage(tokenTableName, 'session')
85
- } else if ('cookie' === storage) {
86
- return delCookie(tokenTableName)
87
- } else {
88
- return removeStorage(tokenTableName)
89
- }
90
- } else {
91
- return removeStorage(tokenTableName)
92
- }
93
- }
@@ -1,39 +0,0 @@
1
- import 'crypto-js/enc-utf8'
2
- import 'crypto-js/tripledes'
3
- import 'crypto-js/sha1'
4
- import * as CryptoJS from 'crypto-js/core'
5
- import { isJSONStr } from '@/utils/validate'
6
- import { isObject, isArray } from '@gx-design-vue/pro-utils'
7
-
8
- const key = '1234123412ABCDEF' //十六位十六进制数作为密钥
9
-
10
- //加密方法
11
- export function Encrypt(word) {
12
- let str: string | object = word
13
- if (isObject(word) || isArray(word)) {
14
- str = JSON.stringify(word)
15
- }
16
- const keyHex = CryptoJS.enc.Utf8.parse(key)
17
- const ivHex = CryptoJS.enc.Utf8.parse(key)
18
- const encrypted = CryptoJS.DES.encrypt(str, keyHex, {
19
- iv: ivHex,
20
- mode: CryptoJS.mode.CBC,
21
- padding: CryptoJS.pad.Pkcs7
22
- })
23
- return CryptoJS.enc.Base64.stringify(encrypted.ciphertext)
24
- }
25
-
26
- //解密方法
27
- export function Decrypt(word) {
28
- const keyHex = CryptoJS.enc.Utf8.parse(key)
29
- const ivHex = CryptoJS.enc.Utf8.parse(key)
30
- const decrypted = CryptoJS.DES.decrypt({
31
- ciphertext: CryptoJS.enc.Base64.parse(word)
32
- }, keyHex, {
33
- iv: ivHex,
34
- mode: CryptoJS.mode.CBC,
35
- padding: CryptoJS.pad.Pkcs7
36
- })
37
- const decryptedStr = decrypted.toString(CryptoJS.enc.Utf8)
38
- return isJSONStr(decryptedStr.toString()) ? JSON.parse(decryptedStr.toString()) : decryptedStr.toString()
39
- }
@@ -1,52 +0,0 @@
1
- /**
2
- * @Author gx12358
3
- * @DateTime 2022/4/1
4
- * @lastTime 2022/4/1
5
- * @description 环境:开发
6
- */
7
- export function isDev(): boolean {
8
- const DEV = typeViteEnv('VITE_USE_MODE') === 'development'
9
- return DEV
10
- }
11
-
12
- /**
13
- * @Author gx12358
14
- * @DateTime 2022/4/1
15
- * @lastTime 2022/4/1
16
- * @description 环境:测试
17
- */
18
- export function isTest(): boolean {
19
- const PRO = typeViteEnv('VITE_USE_MODE') === 'test'
20
- return PRO
21
- }
22
-
23
- /**
24
- * @Author gx12358
25
- * @DateTime 2022/4/1
26
- * @lastTime 2022/4/1
27
- * @description 环境:正式
28
- */
29
- export function isPro(): boolean {
30
- return typeViteEnv('VITE_USE_MODE') === 'production'
31
- }
32
-
33
- /**
34
- * @Author gx12358
35
- * @DateTime 2022/4/1
36
- * @lastTime 2022/4/1
37
- * @description 环境:测试、正式
38
- */
39
- export function isBuild(): boolean {
40
- return typeViteEnv('VITE_USE_MODE') !== 'development'
41
- }
42
-
43
- export function typeViteEnv(key: ViteEnvKey) {
44
- let value = import.meta.env[key]
45
- if (value) {
46
- value = (value as string).replace(/\\n/g, '\n')
47
-
48
- value = value === 'true' ? true : value === 'false' ? false : value
49
- }
50
-
51
- return value
52
- }
@@ -1,79 +0,0 @@
1
- import type { Method } from 'axios'
2
- import { message } from 'ant-design-vue'
3
- import config from '/config/config'
4
- import { useStoreUser } from '@gx-vuex'
5
- import { tansParams } from '@/utils/util'
6
-
7
- const { tokenName } = config.defaultSettings
8
-
9
- export type DownLoadRequestConfig<D = any> = {
10
- url: string;
11
- method?: Method | string;
12
- headers?: HeadersInit;
13
- data?: D;
14
- params?: any;
15
- name?: string; // 下载的名称
16
- direct?: boolean; // 是否直接使用url进行请求
17
- read?: boolean; // 返回下载地址,不下载
18
- showTip?: boolean; // 展示下载中字样
19
- }
20
-
21
- export default async function fetchFile(options: DownLoadRequestConfig): Promise<boolean | string> {
22
- const user = useStoreUser()
23
- if (options.showTip) {
24
- message.loading({
25
- content: `下载中,请耐心等待。。。。`,
26
- key: 'updatable',
27
- duration: 0
28
- })
29
- }
30
- const opations: RequestInit = {
31
- method: options.method,
32
- headers: {
33
- 'Content-Type': 'application/json',
34
- ...options.headers
35
- }
36
- }
37
- if (!options.direct) options.url = `${import.meta.env.VITE_BASE_URL}${options.url}`
38
- if (user.accessToken && !options.direct)
39
- opations.headers[tokenName] = `${user.accessToken}`
40
- if (options.params) {
41
- let url = options.url + '?' + tansParams(options.params)
42
- url = url.slice(0, -1)
43
- options.url = url
44
- }
45
- if (options.method === 'post' && options.data) {
46
- opations.body = JSON.stringify(options.data)
47
- }
48
- const response = await fetch(options.url, opations)
49
- const fileName = options.name
50
- ? options.name
51
- : response.headers.get('content-disposition')
52
- ? response.headers.get('content-disposition').split(';')[1].split('=')[1]
53
- : ''
54
- const blobResponse = await response.blob()
55
- if (blobResponse) {
56
- const a = window.document.createElement('a')
57
- const downUrl = window.URL.createObjectURL(blobResponse)
58
- if (options.read) return downUrl
59
- a.href = downUrl
60
- a.download = `${decodeURI(fileName)}`
61
- a.click()
62
- if (options.showTip) {
63
- message.success({
64
- content: `下载成功`,
65
- key: 'updatable'
66
- })
67
- }
68
- window.URL.revokeObjectURL(downUrl)
69
- return true
70
- } else {
71
- if (options.showTip) {
72
- message.success({
73
- content: `下载失败`,
74
- key: 'updatable'
75
- })
76
- }
77
- return false
78
- }
79
- }
@@ -1,127 +0,0 @@
1
- import PropTypes from 'ant-design-vue/es/_util/vue-types'
2
-
3
- export { PropTypes }
4
-
5
- /**
6
- * @author gx12358 2539306317@qq.com
7
- * @description 将url请求参数转为json格式
8
- * @param url
9
- * @returns {{}|any}
10
- */
11
- export function paramObj(url) {
12
- const search = url.split('?')[1]
13
- if (!search) {
14
- return {}
15
- }
16
- return JSON.parse(
17
- '{"' +
18
- decodeURIComponent(search)
19
- .replace(/"/g, '\\"')
20
- .replace(/&/g, '","')
21
- .replace(/=/g, '":"')
22
- .replace(/\+/g, ' ') +
23
- '"}'
24
- )
25
- }
26
-
27
- /**
28
- * @author gx12358 2539306317@qq.com
29
- * @description 父子关系的数组转换成树形结构数据
30
- * @param data
31
- * @returns {*}
32
- */
33
- export function translateDataToTree(data) {
34
- const parent = data.filter(
35
- (value) => value.parentId === 'undefined' || value.parentId == null
36
- )
37
- const children = data.filter(
38
- (value) => value.parentId !== 'undefined' && value.parentId != null
39
- )
40
- const translator = (parent, children) => {
41
- parent.forEach((parent) => {
42
- children.forEach((current, index) => {
43
- if (current.parentId === parent.id) {
44
- const temp = JSON.parse(JSON.stringify(children))
45
- temp.splice(index, 1)
46
- translator([ current ], temp)
47
- typeof parent.children !== 'undefined'
48
- ? parent.children.push(current)
49
- : (parent.children = [ current ])
50
- }
51
- })
52
- })
53
- }
54
- translator(parent, children)
55
- return parent
56
- }
57
-
58
- /**
59
- * @author gx12358 2539306317@qq.com
60
- * @description 树形结构数据转换成父子关系的数组
61
- * @param data
62
- * @returns {[]}
63
- */
64
- export function translateTreeToData(data) {
65
- const result: any[] = []
66
- data.forEach((item) => {
67
- const loop = (data) => {
68
- result.push({
69
- id: data.id,
70
- name: data.name,
71
- parentId: data.parentId
72
- })
73
- const child = data.children
74
- if (child) {
75
- for (let i = 0; i < child.length; i++) {
76
- loop(child[i])
77
- }
78
- }
79
- }
80
- loop(item)
81
- })
82
- return result
83
- }
84
-
85
- /**
86
- * @author gx12358 2539306317@qq.com
87
- * @description 10位时间戳转换
88
- * @param time
89
- * @returns {string}
90
- */
91
- export function tenBitTimestamp(time) {
92
- const date = new Date(time * 1000)
93
- const y = date.getFullYear()
94
- let m: any = date.getMonth() + 1
95
- m = m < 10 ? '' + m : m
96
- let d: any = date.getDate()
97
- d = d < 10 ? '' + d : d
98
- let h: any = date.getHours()
99
- h = h < 10 ? '0' + h : h
100
- let minute: any = date.getMinutes()
101
- let second: any = date.getSeconds()
102
- minute = minute < 10 ? '0' + minute : minute
103
- second = second < 10 ? '0' + second : second
104
- return y + '年' + m + '月' + d + '日 ' + h + ':' + minute + ':' + second //组合
105
- }
106
-
107
- /**
108
- * @author gx12358 2539306317@qq.com
109
- * @description 13位时间戳转换
110
- * @param time
111
- * @returns {string}
112
- */
113
- export function thirteenBitTimestamp(time) {
114
- const date = new Date(time / 1)
115
- const y = date.getFullYear()
116
- let m: any = date.getMonth() + 1
117
- m = m < 10 ? '' + m : m
118
- let d: any = date.getDate()
119
- d = d < 10 ? '' + d : d
120
- let h: any = date.getHours()
121
- h = h < 10 ? '0' + h : h
122
- let minute: any = date.getMinutes()
123
- let second: any = date.getSeconds()
124
- minute = minute < 10 ? '0' + minute : minute
125
- second = second < 10 ? '0' + second : second
126
- return y + '年' + m + '月' + d + '日 ' + h + ':' + minute + ':' + second //组合
127
- }
@@ -1,17 +0,0 @@
1
- import config from '/config/config'
2
-
3
- const { title, titleReverse, titleSeparator } = config.defaultSettings
4
-
5
- /**
6
- * @author gx12358 2539306317@qq.com
7
- * @description 设置标题
8
- * @param pageTitle
9
- * @returns {string}
10
- */
11
- export default function getPageTitle(pageTitle: string) {
12
- let newTitles: any = []
13
- if (pageTitle) newTitles.push(pageTitle)
14
- if (title) newTitles.push(title)
15
- if (titleReverse) newTitles = newTitles.reverse()
16
- return newTitles.join(titleSeparator)
17
- }
@@ -1,131 +0,0 @@
1
- import type { AxiosResponse, AxiosError } from 'axios'
2
- import axios from 'axios'
3
- import { cloneDeep } from 'lodash-unified'
4
- import qs from 'qs'
5
- import { isFunction } from '@gx-design-vue/pro-utils'
6
- import type { GAxiosInstance, GAxiosOptions } from './typings'
7
- import { ContentTypeEnum, RequestEnum } from './typings'
8
- import { AxiosCanceler } from './axiosCancel'
9
-
10
- /**
11
- * @Author gx12358
12
- * @DateTime 2023/1/6
13
- * @lastTime 2023/1/6
14
- * @description 重新定义axios
15
- */
16
- export class GAxios {
17
- private axiosInstance: GAxiosInstance
18
- private readonly options: GAxiosOptions
19
-
20
- constructor(options: GAxiosOptions) {
21
- this.options = options
22
- this.axiosInstance = axios.create(options)
23
- this.setupInterceptors()
24
- }
25
-
26
- /**
27
- * @description: Interceptor configuration 拦截器配置
28
- */
29
- private setupInterceptors() {
30
- const {
31
- requestInterceptors,
32
- requestInterceptorsCatch,
33
- responseInterceptors,
34
- responseInterceptorsCatch
35
- } = this.options
36
-
37
- const axiosCanceler = new AxiosCanceler()
38
-
39
- this.axiosInstance.interceptors.request.use((config: GAxiosOptions) => {
40
- const { ignoreCancelToken } = config
41
- const ignoreCancel =
42
- ignoreCancelToken !== undefined
43
- ? ignoreCancelToken
44
- : this.options?.ignoreCancelToken
45
-
46
- !ignoreCancel && axiosCanceler.addPending(config)
47
- if (requestInterceptors && isFunction(requestInterceptors)) {
48
- config = requestInterceptors(config)
49
- }
50
- return config
51
- }, undefined)
52
-
53
- // Request interceptor error capture
54
- requestInterceptorsCatch &&
55
- isFunction(requestInterceptorsCatch) &&
56
- this.axiosInstance.interceptors.request.use(undefined, requestInterceptorsCatch)
57
-
58
- // Response result interceptor processing
59
- this.axiosInstance.interceptors.response.use((res: AxiosResponse) => {
60
- res && axiosCanceler.removePending(res.config)
61
- if (responseInterceptors && isFunction(responseInterceptors)) {
62
- return responseInterceptors(res)
63
- }
64
- return res
65
- }, undefined)
66
-
67
- // Response result interceptor error capture
68
- responseInterceptorsCatch &&
69
- isFunction(responseInterceptorsCatch) &&
70
- this.axiosInstance.interceptors.response.use(undefined, (error) => {
71
- return responseInterceptorsCatch(this.axiosInstance, error)
72
- })
73
- }
74
-
75
- // support form-data
76
- supportFormData(config: GAxiosOptions) {
77
- const headers = config.headers || this.options.headers
78
- const contentType = headers?.['Content-Type'] || headers?.['content-type']
79
-
80
- if (
81
- contentType !== ContentTypeEnum.FORM_URLENCODED ||
82
- !Reflect.has(config, 'data') ||
83
- config.method?.toUpperCase() === RequestEnum.GET
84
- ) {
85
- return config
86
- }
87
-
88
- return {
89
- ...config,
90
- data: qs.stringify(config.data, { arrayFormat: 'brackets' })
91
- }
92
- }
93
-
94
- request<T = ResponseResult | boolean>(config: GAxiosOptions): Promise<T> {
95
- let conf: GAxiosOptions = cloneDeep(config)
96
-
97
- const opt: GAxiosOptions = Object.assign({}, this.options, conf)
98
-
99
- const { beforeRequestHook, requestCatchHook, transformResponseHook } = opt
100
- if (beforeRequestHook && isFunction(beforeRequestHook)) {
101
- conf = beforeRequestHook(opt)
102
- }
103
-
104
- conf = this.supportFormData(opt)
105
-
106
- return new Promise((resolve) => {
107
- this.axiosInstance
108
- .request<any, AxiosResponse>(conf)
109
- .then((res: AxiosResponse) => {
110
- if (transformResponseHook && isFunction(transformResponseHook)) {
111
- try {
112
- const ret = transformResponseHook(res, config)
113
- resolve(ret)
114
- } catch (err) {
115
- resolve(false as any)
116
- return
117
- }
118
- return
119
- }
120
- resolve(res as unknown as Promise<T>)
121
- })
122
- .catch((e: Error | AxiosError) => {
123
- if (requestCatchHook && isFunction(requestCatchHook)) {
124
- resolve(requestCatchHook(e) as any)
125
- return
126
- }
127
- resolve(false as any)
128
- })
129
- })
130
- }
131
- }