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

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 (263) hide show
  1. package/package.json +1 -1
  2. package/src/cli.js +3 -3
  3. package/src/main.js +6 -1
  4. package/template-mobile-vant-cli/build/generateModifyVars.ts +7 -0
  5. package/template-mobile-vant-cli/build/script/postBuild.ts +0 -1
  6. package/{template-design-pro/src/components/GDesign/ProLayout/components/PageContainer/typings.ts → template-mobile-vant-cli/src/design/config.less} +0 -0
  7. package/template-mobile-vant-cli/types/components.d.ts +0 -2
  8. package/template-mobile-vant-cli/types/global.d.ts +3 -3
  9. package/template-mobile-vant-cli/types/module.d.ts +0 -2
  10. package/template-mobile-vant-cli/vite.config.ts +6 -7
  11. package/template-design-pro/.editorconfig +0 -19
  12. package/template-design-pro/.env +0 -2
  13. package/template-design-pro/.env.development +0 -18
  14. package/template-design-pro/.env.pro +0 -32
  15. package/template-design-pro/.env.production +0 -32
  16. package/template-design-pro/.env.test +0 -20
  17. package/template-design-pro/.eslintignore +0 -16
  18. package/template-design-pro/.eslintrc.js +0 -64
  19. package/template-design-pro/.gitpod.yml +0 -6
  20. package/template-design-pro/.husky/pre-commit +0 -4
  21. package/template-design-pro/.prettierignore +0 -9
  22. package/template-design-pro/.stylelintignore +0 -3
  23. package/template-design-pro/.yarnclean +0 -48
  24. package/template-design-pro/LICENSE +0 -21
  25. package/template-design-pro/README.md +0 -111
  26. package/template-design-pro/build/constant.ts +0 -6
  27. package/template-design-pro/build/generate/generateModifyVars.ts +0 -18
  28. package/template-design-pro/build/getConfigFileName.ts +0 -13
  29. package/template-design-pro/build/script/buildConf.ts +0 -44
  30. package/template-design-pro/build/script/postBuild.ts +0 -25
  31. package/template-design-pro/build/script/reSetRootHtml.ts +0 -20
  32. package/template-design-pro/build/utils.ts +0 -85
  33. package/template-design-pro/build/vite/cdn.ts +0 -7
  34. package/template-design-pro/build/vite/optimizer.ts +0 -22
  35. package/template-design-pro/build/vite/plugin/autoImport.ts +0 -18
  36. package/template-design-pro/build/vite/plugin/compress.ts +0 -35
  37. package/template-design-pro/build/vite/plugin/hmr.ts +0 -25
  38. package/template-design-pro/build/vite/plugin/html.ts +0 -47
  39. package/template-design-pro/build/vite/plugin/index.ts +0 -89
  40. package/template-design-pro/build/vite/plugin/mock.ts +0 -20
  41. package/template-design-pro/build/vite/plugin/pwa.ts +0 -37
  42. package/template-design-pro/build/vite/plugin/styleImport.ts +0 -129
  43. package/template-design-pro/build/vite/plugin/visualizer.ts +0 -17
  44. package/template-design-pro/build/vite/plugin/vite-plugin-antd-theme/index.ts +0 -24
  45. package/template-design-pro/build/vite/plugin/vite-plugin-mock/createMockServer.ts +0 -303
  46. package/template-design-pro/build/vite/plugin/vite-plugin-mock/createProdMockServer.ts +0 -93
  47. package/template-design-pro/build/vite/plugin/vite-plugin-mock/index.ts +0 -68
  48. package/template-design-pro/build/vite/plugin/vite-plugin-mock/types.ts +0 -30
  49. package/template-design-pro/build/vite/plugin/vite-plugin-mock/utils.ts +0 -26
  50. package/template-design-pro/commitlint.config.js +0 -32
  51. package/template-design-pro/config/config.ts +0 -14
  52. package/template-design-pro/config/default/animate.ts +0 -30
  53. package/template-design-pro/config/default/defaultSettings.ts +0 -75
  54. package/template-design-pro/config/default/network.ts +0 -16
  55. package/template-design-pro/config/default/proxy.ts +0 -26
  56. package/template-design-pro/config/default/theme.ts +0 -43
  57. package/template-design-pro/config/default/themeColor.ts +0 -62
  58. package/template-design-pro/index.html +0 -45
  59. package/template-design-pro/jest.config.mjs +0 -36
  60. package/template-design-pro/mock/_createProductionServer.ts +0 -19
  61. package/template-design-pro/mock/_util.ts +0 -55
  62. package/template-design-pro/mock/controller/menu.ts +0 -85
  63. package/template-design-pro/mock/controller/notices.ts +0 -114
  64. package/template-design-pro/mock/system/dict.ts +0 -60
  65. package/template-design-pro/mock/system/user.ts +0 -218
  66. package/template-design-pro/package.json +0 -151
  67. package/template-design-pro/pnpm-lock.yaml +0 -9913
  68. package/template-design-pro/postcss.config.js +0 -5
  69. package/template-design-pro/prettier.config.js +0 -18
  70. package/template-design-pro/public/resource/css/index.css +0 -171
  71. package/template-design-pro/public/resource/img/favicon.ico +0 -0
  72. package/template-design-pro/public/resource/img/logo.png +0 -0
  73. package/template-design-pro/public/resource/img/pro_icon.svg +0 -5
  74. package/template-design-pro/public/resource/img/pwa-192x192.png +0 -0
  75. package/template-design-pro/public/resource/img/pwa-512x512.png +0 -0
  76. package/template-design-pro/src/App.vue +0 -47
  77. package/template-design-pro/src/assets/error_images/403.png +0 -0
  78. package/template-design-pro/src/assets/error_images/404.png +0 -0
  79. package/template-design-pro/src/assets/error_images/cloud.png +0 -0
  80. package/template-design-pro/src/assets/login_images/login_background.svg +0 -69
  81. package/template-design-pro/src/assets/logo.png +0 -0
  82. package/template-design-pro/src/assets/menu_font/iconfont.css +0 -94
  83. package/template-design-pro/src/assets/menu_font/iconfont.eot +0 -0
  84. package/template-design-pro/src/assets/menu_font/iconfont.js +0 -1
  85. package/template-design-pro/src/assets/menu_font/iconfont.json +0 -142
  86. package/template-design-pro/src/assets/menu_font/iconfont.svg +0 -57
  87. package/template-design-pro/src/assets/menu_font/iconfont.ttf +0 -0
  88. package/template-design-pro/src/assets/menu_font/iconfont.woff +0 -0
  89. package/template-design-pro/src/assets/menu_font/iconfont.woff2 +0 -0
  90. package/template-design-pro/src/assets/menu_font/index.less +0 -94
  91. package/template-design-pro/src/common/global.ts +0 -1
  92. package/template-design-pro/src/components/GDesign/ProLayout/BasicLayout.less +0 -80
  93. package/template-design-pro/src/components/GDesign/ProLayout/BasicLayout.tsx +0 -342
  94. package/template-design-pro/src/components/GDesign/ProLayout/PageLoading.tsx +0 -20
  95. package/template-design-pro/src/components/GDesign/ProLayout/RenderTypings.ts +0 -31
  96. package/template-design-pro/src/components/GDesign/ProLayout/RouteContext.tsx +0 -82
  97. package/template-design-pro/src/components/GDesign/ProLayout/WrapContent.tsx +0 -69
  98. package/template-design-pro/src/components/GDesign/ProLayout/components/GlobalFooter/index.tsx +0 -88
  99. package/template-design-pro/src/components/GDesign/ProLayout/components/GlobalHeader/DefaultHeader.tsx +0 -189
  100. package/template-design-pro/src/components/GDesign/ProLayout/components/GlobalHeader/Header.less +0 -8
  101. package/template-design-pro/src/components/GDesign/ProLayout/components/GlobalHeader/index.tsx +0 -105
  102. package/template-design-pro/src/components/GDesign/ProLayout/components/GlobalHeader/props.ts +0 -69
  103. package/template-design-pro/src/components/GDesign/ProLayout/components/GlobalHeader/style.less +0 -144
  104. package/template-design-pro/src/components/GDesign/ProLayout/components/LogoContent/index.tsx +0 -81
  105. package/template-design-pro/src/components/GDesign/ProLayout/components/LogoContent/props.ts +0 -29
  106. package/template-design-pro/src/components/GDesign/ProLayout/components/MultiTab/index.tsx +0 -384
  107. package/template-design-pro/src/components/GDesign/ProLayout/components/MultiTab/props.ts +0 -15
  108. package/template-design-pro/src/components/GDesign/ProLayout/components/MultiTab/style.less +0 -79
  109. package/template-design-pro/src/components/GDesign/ProLayout/components/NoticeIcon/NoticeIcon.tsx +0 -148
  110. package/template-design-pro/src/components/GDesign/ProLayout/components/NoticeIcon/NoticeList.module.less +0 -115
  111. package/template-design-pro/src/components/GDesign/ProLayout/components/NoticeIcon/NoticeList.tsx +0 -154
  112. package/template-design-pro/src/components/GDesign/ProLayout/components/NoticeIcon/index.less +0 -39
  113. package/template-design-pro/src/components/GDesign/ProLayout/components/NoticeIcon/index.tsx +0 -133
  114. package/template-design-pro/src/components/GDesign/ProLayout/components/PageContainer/index.tsx +0 -190
  115. package/template-design-pro/src/components/GDesign/ProLayout/components/PageContainer/props.ts +0 -48
  116. package/template-design-pro/src/components/GDesign/ProLayout/components/PageContainer/style.less +0 -128
  117. package/template-design-pro/src/components/GDesign/ProLayout/components/RightContent/AvatarDropdown.tsx +0 -63
  118. package/template-design-pro/src/components/GDesign/ProLayout/components/RightContent/HeaderSearch.tsx +0 -122
  119. package/template-design-pro/src/components/GDesign/ProLayout/components/RightContent/headerSearch.less +0 -30
  120. package/template-design-pro/src/components/GDesign/ProLayout/components/RightContent/index.tsx +0 -95
  121. package/template-design-pro/src/components/GDesign/ProLayout/components/RightContent/style.less +0 -90
  122. package/template-design-pro/src/components/GDesign/ProLayout/components/SettingDrawer/BlockCheckbox.tsx +0 -70
  123. package/template-design-pro/src/components/GDesign/ProLayout/components/SettingDrawer/LayoutSetting.tsx +0 -107
  124. package/template-design-pro/src/components/GDesign/ProLayout/components/SettingDrawer/ThemeColor.tsx +0 -68
  125. package/template-design-pro/src/components/GDesign/ProLayout/components/SettingDrawer/index.tsx +0 -346
  126. package/template-design-pro/src/components/GDesign/ProLayout/components/SiderMenu/BaseMenu.tsx +0 -224
  127. package/template-design-pro/src/components/GDesign/ProLayout/components/SiderMenu/SiderMenu.tsx +0 -224
  128. package/template-design-pro/src/components/GDesign/ProLayout/components/SiderMenu/index.tsx +0 -43
  129. package/template-design-pro/src/components/GDesign/ProLayout/components/SiderMenu/props.ts +0 -112
  130. package/template-design-pro/src/components/GDesign/ProLayout/components/SiderMenu/style.less +0 -262
  131. package/template-design-pro/src/components/GDesign/ProLayout/components/SiderMenu/typings.ts +0 -44
  132. package/template-design-pro/src/components/GDesign/ProLayout/default.less +0 -2
  133. package/template-design-pro/src/components/GDesign/ProLayout/defaultSettings.ts +0 -121
  134. package/template-design-pro/src/components/GDesign/ProLayout/hooks/context/index.ts +0 -45
  135. package/template-design-pro/src/components/GDesign/ProLayout/index.ts +0 -43
  136. package/template-design-pro/src/components/GDesign/ProLayout/props.ts +0 -57
  137. package/template-design-pro/src/components/GDesign/ProLayout/style.less +0 -272
  138. package/template-design-pro/src/components/GDesign/ProLayout/typings.ts +0 -1
  139. package/template-design-pro/src/components/GDesign/ProLayout/utils/getMenuData.ts +0 -31
  140. package/template-design-pro/src/components/GDesign/ProLayout/utils/index.ts +0 -94
  141. package/template-design-pro/src/components/GDesign/ProLayout/utils/isImg/index.ts +0 -6
  142. package/template-design-pro/src/components/GDesign/ProLayout/utils/isUrl/index.ts +0 -5
  143. package/template-design-pro/src/components/GDesign/Result/index.tsx +0 -142
  144. package/template-design-pro/src/components/GDesign/Result/style.less +0 -140
  145. package/template-design-pro/src/components/GDesign/Scrollbars/components/Bar/index.tsx +0 -56
  146. package/template-design-pro/src/components/GDesign/Scrollbars/components/Bar/props.ts +0 -23
  147. package/template-design-pro/src/components/GDesign/Scrollbars/components/Thumb/index.tsx +0 -164
  148. package/template-design-pro/src/components/GDesign/Scrollbars/components/Thumb/props.ts +0 -11
  149. package/template-design-pro/src/components/GDesign/Scrollbars/context.ts +0 -10
  150. package/template-design-pro/src/components/GDesign/Scrollbars/index.tsx +0 -200
  151. package/template-design-pro/src/components/GDesign/Scrollbars/props.ts +0 -65
  152. package/template-design-pro/src/components/GDesign/Scrollbars/style.less +0 -85
  153. package/template-design-pro/src/components/GDesign/Scrollbars/util.ts +0 -40
  154. package/template-design-pro/src/components/GDesign/utils/index.ts +0 -7
  155. package/template-design-pro/src/components/PageLoading/index.tsx +0 -44
  156. package/template-design-pro/src/components/PageTransition/index.vue +0 -98
  157. package/template-design-pro/src/components/index.ts +0 -6
  158. package/template-design-pro/src/core/ant-design/index.ts +0 -14
  159. package/template-design-pro/src/core/gx-admin-design/index.ts +0 -7
  160. package/template-design-pro/src/core/gx-admin-directives/index.ts +0 -8
  161. package/template-design-pro/src/core/gx-admin-directives/permission.ts +0 -28
  162. package/template-design-pro/src/core/gx-design/index.ts +0 -7
  163. package/template-design-pro/src/core/gx-pro-design/index.ts +0 -10
  164. package/template-design-pro/src/core/index.ts +0 -27
  165. package/template-design-pro/src/design/ant-design/index.less +0 -4
  166. package/template-design-pro/src/design/ant-design/layout.less +0 -29
  167. package/template-design-pro/src/design/ant-design/menu.less +0 -55
  168. package/template-design-pro/src/design/ant-design/table.less +0 -67
  169. package/template-design-pro/src/design/ant-design/tooltip.less +0 -13
  170. package/template-design-pro/src/design/color.less +0 -1
  171. package/template-design-pro/src/design/config.less +0 -5
  172. package/template-design-pro/src/design/index.less +0 -41
  173. package/template-design-pro/src/design/mixin.less +0 -66
  174. package/template-design-pro/src/design/normalize.less +0 -390
  175. package/template-design-pro/src/global.less +0 -15
  176. package/template-design-pro/src/hooks/core/index.ts +0 -3
  177. package/template-design-pro/src/hooks/core/useRequest/index.ts +0 -70
  178. package/template-design-pro/src/hooks/core/useRequest/typings.ts +0 -0
  179. package/template-design-pro/src/hooks/event/index.ts +0 -3
  180. package/template-design-pro/src/hooks/event/useClipboard.ts +0 -14
  181. package/template-design-pro/src/hooks/system/index.ts +0 -5
  182. package/template-design-pro/src/hooks/system/useDict.ts +0 -62
  183. package/template-design-pro/src/hooks/system/usePermissions.ts +0 -39
  184. package/template-design-pro/src/hooks/typings.ts +0 -17
  185. package/template-design-pro/src/layout/BasicLayout.vue +0 -104
  186. package/template-design-pro/src/layout/BlankLayout.vue +0 -5
  187. package/template-design-pro/src/layout/ContentView.vue +0 -76
  188. package/template-design-pro/src/layout/IframeView.vue +0 -1
  189. package/template-design-pro/src/layout/UserLayout.vue +0 -7
  190. package/template-design-pro/src/main.ts +0 -34
  191. package/template-design-pro/src/plugins/index.ts +0 -3
  192. package/template-design-pro/src/router/guard/index.ts +0 -84
  193. package/template-design-pro/src/router/guard/permissions.ts +0 -73
  194. package/template-design-pro/src/router/guard/stateGuard.ts +0 -11
  195. package/template-design-pro/src/router/helper/routeHelper.ts +0 -244
  196. package/template-design-pro/src/router/helper/utils.ts +0 -19
  197. package/template-design-pro/src/router/index.ts +0 -30
  198. package/template-design-pro/src/router/routes/index.ts +0 -85
  199. package/template-design-pro/src/router/routes/modules/workplace.ts +0 -19
  200. package/template-design-pro/src/services/common/index.ts +0 -11
  201. package/template-design-pro/src/services/controller/router.ts +0 -10
  202. package/template-design-pro/src/services/controller/user.ts +0 -35
  203. package/template-design-pro/src/services/system/dictData.ts +0 -10
  204. package/template-design-pro/src/services/system/notices.ts +0 -9
  205. package/template-design-pro/src/store/index.ts +0 -32
  206. package/template-design-pro/src/store/modules/dict.ts +0 -27
  207. package/template-design-pro/src/store/modules/permission.ts +0 -19
  208. package/template-design-pro/src/store/modules/routes.ts +0 -110
  209. package/template-design-pro/src/store/modules/settings.ts +0 -102
  210. package/template-design-pro/src/store/modules/tabsRouter.ts +0 -73
  211. package/template-design-pro/src/store/modules/user.ts +0 -153
  212. package/template-design-pro/src/utils/accessToken.ts +0 -93
  213. package/template-design-pro/src/utils/crypto.ts +0 -39
  214. package/template-design-pro/src/utils/env.ts +0 -52
  215. package/template-design-pro/src/utils/fetchFile.ts +0 -79
  216. package/template-design-pro/src/utils/index.ts +0 -127
  217. package/template-design-pro/src/utils/pageTitle.ts +0 -17
  218. package/template-design-pro/src/utils/request/XHR.ts +0 -131
  219. package/template-design-pro/src/utils/request/axiosCancel.ts +0 -60
  220. package/template-design-pro/src/utils/request/checkStatus.ts +0 -26
  221. package/template-design-pro/src/utils/request/index.ts +0 -145
  222. package/template-design-pro/src/utils/request/typings.ts +0 -114
  223. package/template-design-pro/src/utils/storage.ts +0 -194
  224. package/template-design-pro/src/utils/uploadFile.ts +0 -26
  225. package/template-design-pro/src/utils/util.ts +0 -278
  226. package/template-design-pro/src/utils/validate.ts +0 -221
  227. package/template-design-pro/src/views/Iframe/index.vue +0 -76
  228. package/template-design-pro/src/views/MenuOne/index.vue +0 -15
  229. package/template-design-pro/src/views/MenuTwo/index.vue +0 -13
  230. package/template-design-pro/src/views/exception/403/index.vue +0 -9
  231. package/template-design-pro/src/views/exception/404/index.vue +0 -9
  232. package/template-design-pro/src/views/user/login/index.vue +0 -110
  233. package/template-design-pro/src/views/user/login/style.less +0 -38
  234. package/template-design-pro/stylelint.config.js +0 -106
  235. package/template-design-pro/tests/__mocks__/fileMock.ts +0 -1
  236. package/template-design-pro/tests/__mocks__/styleMock.ts +0 -1
  237. package/template-design-pro/tests/__mocks__/workerMock.ts +0 -5
  238. package/template-design-pro/tests/server/README.md +0 -15
  239. package/template-design-pro/tests/server/controller/FileController.ts +0 -18
  240. package/template-design-pro/tests/server/controller/UserController.ts +0 -15
  241. package/template-design-pro/tests/server/ecosystem.config.js +0 -18
  242. package/template-design-pro/tests/server/index.ts +0 -63
  243. package/template-design-pro/tests/server/nodemon.json +0 -8
  244. package/template-design-pro/tests/server/package.json +0 -36
  245. package/template-design-pro/tests/server/routes.ts +0 -23
  246. package/template-design-pro/tests/server/service/FileService.ts +0 -54
  247. package/template-design-pro/tests/server/service/UserService.ts +0 -25
  248. package/template-design-pro/tests/server/tsconfig.json +0 -15
  249. package/template-design-pro/tests/server/utils.ts +0 -9
  250. package/template-design-pro/tests/server/yarn.lock +0 -2955
  251. package/template-design-pro/tests/test.spec.ts +0 -16
  252. package/template-design-pro/tsconfig.json +0 -47
  253. package/template-design-pro/types/auto-imports.d.ts +0 -61
  254. package/template-design-pro/types/config.d.ts +0 -100
  255. package/template-design-pro/types/global.d.ts +0 -103
  256. package/template-design-pro/types/gx-components.d.ts +0 -24
  257. package/template-design-pro/types/index.d.ts +0 -13
  258. package/template-design-pro/types/mock.d.ts +0 -23
  259. package/template-design-pro/types/module.d.ts +0 -16
  260. package/template-design-pro/types/response.d.ts +0 -15
  261. package/template-design-pro/types/route.d.ts +0 -89
  262. package/template-design-pro/vite.config.ts +0 -136
  263. package/template-design-pro/yarn.lock +0 -9697
@@ -1,144 +0,0 @@
1
- @import '../../default.less';
2
-
3
- @pro-layout-header-prefix-cls: ~'@{gx-prefix-pro}-header';
4
- @pro-layout-global-header-prefix-cls: ~'@{gx-prefix-pro}-global-header';
5
-
6
- @pro-layout-header-bg: @component-background;
7
- @pro-layout-header-hover-bg: @component-background;
8
- @pro-layout-header-box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08);
9
-
10
- .@{pro-layout-header-prefix-cls} {
11
- &.light {
12
- background-color: @component-background;
13
- }
14
-
15
- &.dark {
16
- background: #001529;
17
- }
18
- }
19
-
20
- .@{pro-layout-global-header-prefix-cls} {
21
- position: relative;
22
- display: flex;
23
- align-items: center;
24
- width: 100%;
25
- height: 100%;
26
- padding: 0 16px;
27
- background: @pro-layout-header-bg;
28
- box-shadow: @pro-layout-header-box-shadow;
29
-
30
- > * {
31
- height: 100%;
32
- }
33
-
34
- .@{ant-prefix}-menu {
35
- background: transparent;
36
- }
37
-
38
- &.light {
39
- background-color: @component-background;
40
-
41
- .@{pro-layout-global-header-prefix-cls}-logo {
42
- h1 {
43
- color: @heading-color;
44
- }
45
- }
46
- }
47
-
48
- &.dark {
49
- height: @pro-layout-header-height;
50
- background: #001529;
51
-
52
- .anticon {
53
- color: @btn-primary-color;
54
- }
55
- }
56
-
57
- &.wide {
58
- padding: 0;
59
-
60
- .@{pro-layout-global-header-prefix-cls} {
61
- &-main {
62
- margin: auto;
63
- padding: 0;
64
- transition: all 0.3s;
65
- }
66
- }
67
- }
68
-
69
- &-main {
70
- display: flex;
71
- width: 100%;
72
- height: 100%;
73
- padding: 0 16px;
74
-
75
- &.wide {
76
- padding: 0;
77
- }
78
-
79
- &-left {
80
- display: flex;
81
- min-width: 192px;
82
- }
83
- }
84
-
85
- &-collapsed-button {
86
- display: flex;
87
- align-items: center;
88
- margin-left: 16px;
89
- font-size: 20px;
90
- cursor: pointer;
91
- }
92
-
93
- &-logo {
94
- position: relative;
95
- min-width: 165px;
96
- height: 100%;
97
- overflow: hidden;
98
-
99
- &.mobile {
100
- min-width: unset;
101
- }
102
-
103
- a {
104
- display: flex;
105
- align-items: center;
106
- height: 100%;
107
-
108
- img,
109
- svg {
110
- display: inline-block;
111
- height: 32px;
112
- vertical-align: middle;
113
- }
114
-
115
- h1 {
116
- display: inline-block;
117
- margin: 0 0 0 12px;
118
- font-size: 16px;
119
- color: @btn-primary-color;
120
- vertical-align: top;
121
- }
122
- }
123
- }
124
-
125
- &-menu {
126
- flex: 1 1 0%;
127
-
128
- .anticon {
129
- margin-right: 8px;
130
- }
131
-
132
- .@{ant-prefix}-dropdown-menu-item {
133
- min-width: 160px;
134
- }
135
- }
136
-
137
- &-right {
138
- display: flex;
139
- float: right;
140
- height: 48px;
141
- margin-left: auto;
142
- overflow: hidden;
143
- }
144
- }
@@ -1,81 +0,0 @@
1
- import type { CSSProperties, ExtractPropTypes } from 'vue'
2
- import { computed, defineComponent } from 'vue'
3
- import Logo from '@/assets/logo.png'
4
- import logoContentProps from './props'
5
- import { useRouteContext } from '../../RouteContext'
6
-
7
- export type LogoContentProps = Partial<ExtractPropTypes<typeof logoContentProps>>
8
-
9
- export const defaultRenderLogo = (logo?: CustomRender, logoStyle?: CSSProperties): CustomRender => {
10
- if (!logo) {
11
- return null
12
- }
13
- if (typeof logo === 'string') {
14
- return <img src={logo} alt="logo" style={logoStyle} />
15
- }
16
- if (typeof logo === 'function') {
17
- return logo()
18
- }
19
- return logo
20
- }
21
-
22
- export const defaultRenderLogoAndTitle = (
23
- props: LogoContentProps,
24
- renderKey: string | undefined = 'menuHeaderRender'
25
- ) => {
26
- const { logo = Logo, logoStyle, title } = props
27
- const renderFunction = (props as any)[renderKey || '']
28
- if (renderFunction === false) {
29
- return null
30
- }
31
-
32
- const logoDom = defaultRenderLogo(logo, logoStyle)
33
- const titleDom = title && <h1>{title}</h1>
34
-
35
- if (typeof renderFunction === 'function') {
36
- return renderFunction(logoDom, props.collapsed ? null : titleDom, props)
37
- }
38
-
39
- return (
40
- <>
41
- {logoDom || null}
42
- {props.collapsed ? null : titleDom}
43
- </>
44
- )
45
- }
46
-
47
- const LogoContent = defineComponent({
48
- name: 'LogoContent',
49
- props: logoContentProps,
50
- setup(props) {
51
- const context = useRouteContext()
52
-
53
- const layoutSide = computed(() => props.layout === 'side' || props.layout === 'simple')
54
-
55
- const baseClassName = computed(() =>
56
- context.getPrefixCls({
57
- suffixCls: layoutSide.value || props.drawer ? 'sider' : 'global-header',
58
- isPor: true
59
- })
60
- )
61
-
62
- const headerDom = computed(() => defaultRenderLogoAndTitle(props, props.renderKey))
63
-
64
- return () => (
65
- <div
66
- id="logo"
67
- class={{
68
- [`${baseClassName.value}-logo`]: true,
69
- [`${baseClassName.value}-logo-${props.logoDirection}`]: layoutSide.value
70
- }}
71
- onClick={props.onMenuHeaderClick}
72
- >
73
- <a>{headerDom.value || null}</a>
74
- </div>
75
- )
76
- }
77
- })
78
-
79
- LogoContent.inheritAttrs = false
80
-
81
- export default LogoContent
@@ -1,29 +0,0 @@
1
- import type { CSSProperties } from 'vue'
2
- import { PropTypes } from '@/utils'
3
- import { defaultSettingProps } from '../../defaultSettings'
4
- import type { HeaderLogoRender } from '../../RenderTypings'
5
-
6
- export default {
7
- renderKey: PropTypes.string.def('menuHeaderRender'),
8
- title: defaultSettingProps.title,
9
- layout: defaultSettingProps.layout,
10
- logo: {
11
- type: [ Object, String, Function ] as PropType<CustomRender>,
12
- default: () => undefined
13
- },
14
- logoStyle: {
15
- type: Object as PropType<CSSProperties>,
16
- default: () => undefined
17
- },
18
- logoDirection: {
19
- type: String as PropType<'horizontal' | 'vertical'>,
20
- default: 'horizontal'
21
- },
22
- drawer: PropTypes.looseBool,
23
- collapsed: PropTypes.looseBool,
24
- menuHeaderRender: {
25
- type: [ Object, Function ] as PropType<HeaderLogoRender>,
26
- default: () => undefined
27
- },
28
- onMenuHeaderClick: PropTypes.func
29
- }
@@ -1,384 +0,0 @@
1
- import {
2
- computed,
3
- defineComponent,
4
- reactive,
5
- watch,
6
- onMounted,
7
- toRefs,
8
- ExtractPropTypes
9
- } from 'vue'
10
- import { useStore } from '@gx-vuex'
11
- import { useRoute, useRouter } from 'vue-router'
12
- import { Tabs, Menu, Dropdown } from 'ant-design-vue'
13
- import { EllipsisOutlined, ReloadOutlined, CloseOutlined } from '@ant-design/icons-vue'
14
- import config from '/config/config'
15
- import multiTabProps from './props'
16
-
17
- const TabPane = Tabs.TabPane
18
-
19
- export type MultiTabProps = Partial<ExtractPropTypes<typeof multiTabProps>>
20
-
21
- export default defineComponent({
22
- props: multiTabProps,
23
- components: {
24
- EllipsisOutlined,
25
- ReloadOutlined,
26
- CloseOutlined
27
- },
28
- setup(props) {
29
- const { isMobile, loading, isFixedMultiTab, onReloadPage } = toRefs(props)
30
- const $route = useRoute()
31
- const router = useRouter()
32
- const store = useStore()
33
- const { routesWhiteList } = config.defaultSettings
34
- const state = reactive({
35
- affixTabs: [],
36
- reloadSpin: false,
37
- tabActive: '',
38
- tabContextActive: ''
39
- })
40
- const routes = computed(() => store.routes.routes)
41
- const visitedRoutes = computed(() => store.tabsRouter.visitedRoutes)
42
- const needFixedMultiTab = computed(() => isFixedMultiTab.value)
43
- const needSettingWidth = computed(() => needFixedMultiTab.value && !isMobile.value)
44
- const width = computed(() => {
45
- return needSettingWidth.value
46
- ? `calc(100% - ${props.collapsed ? props.collapsedWidth : props.siderWidth}px)`
47
- : '100%'
48
- })
49
- const right = computed(() => (needFixedMultiTab.value ? 0 : undefined))
50
- /**
51
- * @Author gx12358
52
- * @DateTime 2021/8/6
53
- * @lastTime 2021/8/6
54
- * @description 初始化添加固定标签
55
- */
56
- const initAffixTabs = (routes) => {
57
- routes.forEach((route) => {
58
- if (route.meta && route.meta.tagFixed) addTabs(route)
59
- if (route.children) initAffixTabs(route.children)
60
- })
61
- }
62
- /**
63
- * @Author gx12358
64
- * @DateTime 2021/8/6
65
- * @lastTime 2021/8/6
66
- * @description 添加标签路由
67
- */
68
- const addTabs = async (tag) => {
69
- if (
70
- tag.name &&
71
- tag.meta &&
72
- tag.meta.tagHidden !== true &&
73
- !routesWhiteList.includes(tag.path)
74
- ) {
75
- let matched = [tag.name]
76
- if (tag.matched) matched = tag.matched.map((item) => item.name)
77
- await store.tabsRouter.addVisitedRoute({
78
- tagFixed: tag.meta && tag.meta.tagFixed,
79
- path: tag.path,
80
- fullPath: tag.fullPath || tag.path,
81
- query: tag.query,
82
- params: tag.params,
83
- name: tag.name,
84
- matched: matched,
85
- meta: { ...tag.meta }
86
- })
87
- if (isActive(tag)) state.tabActive = tag.fullPath || tag.path
88
- }
89
- }
90
- onMounted(() => {
91
- initAffixTabs(routes.value)
92
- })
93
- watch(
94
- () => $route,
95
- (route) => {
96
- addTabs(route)
97
- },
98
- {
99
- deep: true,
100
- immediate: true
101
- }
102
- )
103
- /**
104
- * @Author gx12358
105
- * @DateTime 2021/8/6
106
- * @lastTime 2021/8/6
107
- * @description 是否是当前页
108
- */
109
- const isActive = (route) => {
110
- return route.path === $route.path
111
- }
112
- /**
113
- * @Author gx12358
114
- * @DateTime 2021/8/6
115
- * @lastTime 2021/8/6
116
- * @description 当前页是否固定
117
- */
118
- const isFixed = (tag) => {
119
- return tag.meta && tag.meta.tagFixed
120
- }
121
- /**
122
- * @Author gx12358
123
- * @DateTime 2021/8/6
124
- * @lastTime 2021/8/6
125
- * @description 标签点击
126
- */
127
- const handleTabClick = (tab) => {
128
- const route = visitedRoutes.value.filter((item) => item.path === tab)[0]
129
- if ($route.fullPath !== route.fullPath) router.push(route.fullPath)
130
- }
131
- /**
132
- * @Author gx12358
133
- * @DateTime 2021/8/6
134
- * @lastTime 2021/8/6
135
- * @description 标签删除
136
- */
137
- const handleTabRemove = async (e, fullPath) => {
138
- e.stopPropagation()
139
- const view = visitedRoutes.value.find((item) => {
140
- return fullPath === item.fullPath
141
- })
142
- await store.tabsRouter.delVisitedRoute(view)
143
- if (isActive(view)) toLastTag()
144
- }
145
- /**
146
- * @Author gx12358
147
- * @DateTime 2021/8/6
148
- * @lastTime 2021/8/6
149
- * @description 标签副操作点击
150
- */
151
- const handleClick = ({ key }, stateType) => {
152
- switch (key) {
153
- case 'closeOthersTabs':
154
- closeOthersTabs(stateType)
155
- break
156
- case 'closeLeftTabs':
157
- closeLeftTabs(stateType)
158
- break
159
- case 'closeRightTabs':
160
- closeRightTabs(stateType)
161
- break
162
- default:
163
- break
164
- }
165
- }
166
- const dropdownVisible = (path) => {
167
- state.tabContextActive = path
168
- }
169
- const tabBarExtraState = (type, path: any) => {
170
- const currentIndex = visitedRoutes.value.findIndex((item) => item.fullPath === path)
171
- let status = false
172
- switch (type) {
173
- case 1:
174
- status =
175
- visitedRoutes.value.length === 1 ||
176
- (visitedRoutes.value.findIndex((item) => item.meta.tagFixed) === 0 &&
177
- visitedRoutes.value.length === 2)
178
- break
179
- case 2:
180
- status =
181
- currentIndex === 0 ||
182
- (currentIndex === 1 &&
183
- visitedRoutes.value.findIndex((item) => item.meta.tagFixed) === 0)
184
- break
185
- case 3:
186
- status =
187
- currentIndex === visitedRoutes.value.length - 1 || visitedRoutes.value.length === 1
188
- break
189
- }
190
- return status
191
- }
192
- /**
193
- * @Author gx12358
194
- * @DateTime 2021/8/6
195
- * @lastTime 2021/8/6
196
- * @description 刷新当前路由
197
- */
198
- const reloadPage = () => {
199
- state.reloadSpin = true
200
- onReloadPage.value && onReloadPage.value()
201
- setTimeout(() => {
202
- state.reloadSpin = false
203
- }, 500)
204
- }
205
- /**
206
- * @Author gx12358
207
- * @DateTime 2021/8/6
208
- * @lastTime 2021/8/6
209
- * @description 关闭其他页
210
- */
211
- const closeOthersTabs = async (stateType) => {
212
- await store.tabsRouter.delOthersVisitedRoutes(toThisTag(stateType))
213
- toContextTag(stateType)
214
- }
215
- /**
216
- * @Author gx12358
217
- * @DateTime 2021/8/6
218
- * @lastTime 2021/8/6
219
- * @description 关闭左侧所有路由
220
- */
221
- const closeLeftTabs = async (stateType) => {
222
- await store.tabsRouter.delLeftVisitedRoutes(toThisTag(stateType))
223
- toContextTag(stateType)
224
- }
225
- /**
226
- * @Author gx12358
227
- * @DateTime 2021/8/6
228
- * @lastTime 2021/8/6
229
- * @description 关闭右侧所有路由
230
- */
231
- const closeRightTabs = async (stateType) => {
232
- await store.tabsRouter.delRightVisitedRoutes(toThisTag(stateType))
233
- toContextTag(stateType)
234
- }
235
- /**
236
- * @Author gx12358
237
- * @DateTime 2021/8/6
238
- * @lastTime 2021/8/6
239
- * @description 跳转上下路由
240
- */
241
- const toContextTag = (stateType) => {
242
- const currentPath = stateType === 'tabActive' ? $route.fullPath : state[stateType]
243
- if (stateType !== $route.fullPath) {
244
- router.push(currentPath)
245
- }
246
- }
247
- /**
248
- * @Author gx12358
249
- * @DateTime 2021/8/6
250
- * @lastTime 2021/8/6
251
- * @description 跳转路由:/
252
- */
253
- const toLastTag = () => {
254
- const latestView = visitedRoutes.value.slice(-1)[0]
255
- if (latestView) router.push(latestView)
256
- else router.push('/')
257
- }
258
- /**
259
- * @Author gx12358
260
- * @DateTime 2021/8/6
261
- * @lastTime 2021/8/6
262
- * @description 跳转点击页
263
- */
264
- const toThisTag = (stateType) => {
265
- const currentPath = stateType === 'tabActive' ? $route.fullPath : state[stateType]
266
- const view = visitedRoutes.value.find((item) => item.fullPath === currentPath)
267
- if (currentPath !== view?.path || '') router.push(view)
268
- return view
269
- }
270
-
271
- const defaultRenderTabMenu = (record) => (
272
- <Menu onClick={(e) => handleClick(e, 'tabContextActive')}>
273
- <Menu.Item
274
- disabled={tabBarExtraState(1, record.fullPath || record.path)}
275
- key="closeOthersTabs"
276
- >
277
- 关闭其他
278
- </Menu.Item>
279
- <Menu.Item
280
- disabled={tabBarExtraState(2, record.fullPath || record.path)}
281
- key="closeLeftTabs"
282
- >
283
- 关闭左侧
284
- </Menu.Item>
285
- <Menu.Item
286
- disabled={tabBarExtraState(3, record.fullPath || record.path)}
287
- key="closeRightTabs"
288
- >
289
- 关闭右侧
290
- </Menu.Item>
291
- </Menu>
292
- )
293
-
294
- const defaultRenderTab = (record) => (
295
- <Dropdown
296
- trigger="contextmenu"
297
- overlay={defaultRenderTabMenu(record)}
298
- onVisibleChange={(_) => dropdownVisible(record.fullPath)}
299
- >
300
- <div class="gx-pro-multi-tab-content">
301
- {record.meta.title}
302
- {state.tabActive === (record.fullPath || record.path) && (
303
- <ReloadOutlined
304
- class="gx-pro-multi-tab-reload-btn"
305
- style={{ marginRight: 0 }}
306
- spin={state.reloadSpin}
307
- onClick={() => {
308
- state.reloadSpin ? null : reloadPage()
309
- }}
310
- />
311
- )}
312
- {visitedRoutes.value.length > 1 && !isFixed(record) && (
313
- <CloseOutlined
314
- class="gx-pro-multi-tab-close-btn"
315
- style={{ marginRight: 0 }}
316
- onClick={(e) => handleTabRemove(e, record.fullPath)}
317
- />
318
- )}
319
- </div>
320
- </Dropdown>
321
- )
322
-
323
- const defaultExtraMenu = () => (
324
- <Menu onClick={(e) => handleClick(e, 'tabActive')}>
325
- <Menu.Item disabled={tabBarExtraState(1, state.tabActive)} key="closeOthersTabs">
326
- 关闭其他
327
- </Menu.Item>
328
- <Menu.Item disabled={tabBarExtraState(2, state.tabActive)} key="closeLeftTabs">
329
- 关闭左侧
330
- </Menu.Item>
331
- <Menu.Item disabled={tabBarExtraState(3, state.tabActive)} key="closeRightTabs">
332
- 关闭右侧
333
- </Menu.Item>
334
- </Menu>
335
- )
336
-
337
- const tabBarExtraContent = () => (
338
- <Dropdown overlay={defaultExtraMenu()}>
339
- <EllipsisOutlined class="gx-pro-multi-tab-dropdown-menu-btn" rotate={90} />
340
- </Dropdown>
341
- )
342
-
343
- return () => (
344
- <>
345
- {props.isFixedMultiTab && (
346
- <div
347
- class={{
348
- ['gx-pro-multi-tab-fixed']: true,
349
- ['gx-pro-multi-tab-fixed-loading']: loading.value
350
- }}
351
- />
352
- )}
353
- <div
354
- style={{
355
- margin: 0,
356
- width: width.value,
357
- right: right.value,
358
- zIndex: 99
359
- }}
360
- class={{
361
- ['gx-pro-multi-tab']: true,
362
- ['gx-pro-multi-tab-wrap']: props.isFixedMultiTab,
363
- ['gx-pro-multi-tab-wrap-fixed']: props.isFixedMultiTab,
364
- ['gx-pro-multi-tab-wrap-loading']: loading.value
365
- }}
366
- >
367
- <Tabs
368
- onTabClick={handleTabClick}
369
- activeKey={state.tabActive}
370
- hideAdd
371
- type="editable-card"
372
- v-slots={{
373
- rightExtra: (_) => tabBarExtraContent()
374
- }}
375
- >
376
- {visitedRoutes.value.map((item) => (
377
- <TabPane key={item.fullPath} closable={false} tab={defaultRenderTab(item)} />
378
- ))}
379
- </Tabs>
380
- </div>
381
- </>
382
- )
383
- }
384
- })
@@ -1,15 +0,0 @@
1
- import { PropTypes } from '@/utils'
2
- import { defaultSettingProps } from '../../defaultSettings'
3
- import { baseMenuProps, siderMenuProps } from '../SiderMenu/props'
4
-
5
- export default {
6
- loading: PropTypes.looseBool,
7
- isMobile: siderMenuProps.isMobile,
8
- collapsed: baseMenuProps.collapsed,
9
- siderWidth: siderMenuProps.siderWidth,
10
- collapsedWidth: siderMenuProps.collapsedWidth,
11
- isFixedMultiTab: defaultSettingProps.fixedMultiTab,
12
- onReloadPage: {
13
- type: Function as PropType<() => void>
14
- }
15
- }