@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,31 +0,0 @@
1
- import type { BreadcrumbProps } from './RouteContext'
2
- import type { ProProps } from './typings'
3
-
4
- // Custom render or slot
5
- export type DefaultPropRender = WithFalse<CustomRender>
6
-
7
- export type BreadcrumbRender = BreadcrumbProps['itemRender']
8
- export type HeaderContentRender = WithFalse<() => CustomRender>
9
- export type HeaderRender = WithFalse<(props: ProProps) => CustomRender>
10
- export type FooterRender = WithFalse<(props: ProProps) => CustomRender>
11
- export type RightContentRender = WithFalse<(props: ProProps) => CustomRender>
12
- export type MenuItemRender = WithFalse<
13
- (args: { item: AppRouteModule; title?: JSX.Element; icon?: JSX.Element }) => CustomRender
14
- >
15
- export type SubMenuItemRender = WithFalse<(args: { item: AppRouteModule; children?: CustomRender[] }) => CustomRender>
16
- export type LinksRender = WithFalse<CustomRender>
17
- export type MenuContentRender = WithFalse<(props: ProProps, defaultDom: CustomRender) => CustomRender>
18
- export type MenuFooterRender = WithFalse<(props?: ProProps) => CustomRender>
19
- export type MenuExtraRender = WithFalse<(props?: ProProps) => CustomRender>
20
- export type LogoRender = WithFalse<CustomRender>
21
- export type ExtraRightDropdownRender = WithFalse<CustomRender>
22
- export type HeaderLogoRender = WithFalse<(
23
- logo: CustomRender,
24
- title: CustomRender,
25
- props?: ProProps
26
- ) => CustomRender>
27
- export type CopyrightRender = WithFalse<CustomRender>
28
-
29
- export type CollapsedButtonRender = WithFalse<(collapsed?: boolean) => CustomRender>
30
-
31
- export type PageHeaderRender = WithFalse<(props?: ProProps) => CustomRender>
@@ -1,82 +0,0 @@
1
- import type { InjectionKey, Ref, ComputedRef } from 'vue'
2
- import { provide, reactive } from 'vue'
3
- import { themeConfig } from '/types/config'
4
- import type { PrefixCls } from '@gx-design-vue/pro-utils'
5
- import { getPrefixCls } from '@gx-design-vue/pro-utils'
6
- import { createContext, useContext } from './hooks/context'
7
-
8
- export interface Route {
9
- path: string
10
- breadcrumbName: string
11
- children?: Omit<Route, 'children'>[]
12
- }
13
-
14
- export interface BreadcrumbProps {
15
- prefixCls?: string
16
- routes?: Route[]
17
- params?: any
18
- separator?: CustomRender
19
- itemRender?: (opts: {
20
- route: Route
21
- params: any
22
- routes: Array<Route>
23
- paths: Array<string>
24
- }) => CustomRender
25
- }
26
-
27
- export type BreadcrumbListReturn = Pick<
28
- BreadcrumbProps,
29
- Extract<keyof BreadcrumbProps, 'routes' | 'itemRender'>
30
- >
31
-
32
- export interface MenuState {
33
- selectedKeys: string[]
34
- openKeys: string[]
35
- setSelectedKeys?: (key: string[]) => void
36
- setOpenKeys?: (key: string[]) => void
37
- }
38
-
39
- export interface RouteContextProps extends Partial<themeConfig>, MenuState {
40
- menuData: AppRouteModule[]
41
- flatMenuData?: AppRouteModule[]
42
-
43
- getPrefixCls?: (prefixCls: PrefixCls) => string
44
- breadcrumb?: BreadcrumbListReturn | ComputedRef<BreadcrumbListReturn>
45
- hasContentWide?: boolean
46
- isMobile?: boolean
47
- prefixCls?: string
48
- collapsed?: boolean
49
- hasSideMenu?: boolean
50
- hasHeader?: boolean
51
- siderWidth?: number
52
- headerHeight?: number
53
- hasFooterToolbar?: boolean
54
- hasFooter?: boolean
55
- hasSide?: boolean
56
- setHasFooterToolbar?: (bool: boolean) => void
57
- /* 附加属性 */
58
- [key: string]: any
59
- }
60
-
61
- // set default context
62
- export const defaultRouteContext = reactive({
63
- getPrefixCls
64
- })
65
-
66
- const routeContextInjectKey: InjectionKey<RouteContextProps> = Symbol('route-context')
67
-
68
- export const createRouteContext = () =>
69
- createContext<RouteContextProps>(routeContextInjectKey, 'RouteContext.Provider')
70
-
71
- export const provideRouteContext = (value: RouteContextProps | Ref<RouteContextProps> | any) => {
72
- provide(routeContextInjectKey, value)
73
- }
74
-
75
- export const useRouteContext = () =>
76
- useContext<Required<RouteContextProps>>(routeContextInjectKey, defaultRouteContext)
77
-
78
- const Provider = createRouteContext()
79
-
80
- export default {
81
- Provider
82
- }
@@ -1,69 +0,0 @@
1
- import type { FunctionalComponent, CSSProperties } from 'vue'
2
- import { computed } from 'vue'
3
- import { Layout } from 'ant-design-vue'
4
- import PageLoading from './PageLoading'
5
- import type { MultiTabProps } from './components/MultiTab'
6
- import MultiTab from './components/MultiTab'
7
- import { useRouteContext } from './RouteContext'
8
-
9
- const { Content } = Layout
10
-
11
- export interface WrapContentProps {
12
- style?: CSSProperties
13
- class?: string | string[] | any
14
- loading?: boolean
15
- isMobile: boolean
16
- collapsed?: boolean
17
- isShowTabsBar?: boolean
18
- isFixedMultiTab?: boolean
19
- isChildrenLayout?: boolean
20
- location?: string | string[] | any
21
- siderWidth?: number
22
- contentHeight?: number
23
- onReloadPage?: MultiTabProps['onReloadPage']
24
- }
25
-
26
- export const WrapContent: FunctionalComponent<WrapContentProps> = (props, { slots, attrs }) => {
27
- const { isMobile, loading, collapsed, siderWidth, isShowTabsBar, isFixedMultiTab, onReloadPage } =
28
- props
29
-
30
- if (props.isChildrenLayout) {
31
- return slots.default?.()
32
- }
33
- const context = useRouteContext()
34
- const { getPrefixCls } = useRouteContext()
35
-
36
- const prefixCls = getPrefixCls({
37
- suffixCls: 'basic-layout',
38
- isPor: true
39
- })
40
-
41
- const classNames = computed(() => {
42
- return {
43
- [`${prefixCls}-content`]: true,
44
- [`${prefixCls}-warp`]: context.flatMenuData.length === 0
45
- }
46
- })
47
-
48
- return (
49
- <>
50
- {context.flatMenuData.length > 0 && isShowTabsBar && (
51
- <MultiTab
52
- isMobile={isMobile}
53
- loading={loading}
54
- isFixedMultiTab={isFixedMultiTab}
55
- siderWidth={siderWidth}
56
- collapsed={collapsed}
57
- onReloadPage={onReloadPage}
58
- />
59
- )}
60
- <Content style={attrs.style} class={classNames.value}>
61
- {loading && <PageLoading />}
62
- <div style={{ opacity: loading ? '0' : undefined }}>{slots.default?.()}</div>
63
- </Content>
64
- </>
65
- )
66
- }
67
-
68
- WrapContent.inheritAttrs = false
69
- WrapContent.displayName = 'wrap-content'
@@ -1,88 +0,0 @@
1
- import { defineComponent, VNodeChild } from 'vue'
2
- import { LayoutFooter } from 'ant-design-vue'
3
- import { GithubOutlined } from '@ant-design/icons-vue'
4
- import { getPrefixCls } from '@gx-design-vue/pro-utils'
5
- import type { CopyrightRender } from '../../RenderTypings'
6
-
7
- export type Links = WithFalse<
8
- {
9
- key?: string
10
- title: VNodeChild | JSX.Element
11
- href: string
12
- blankTarget?: boolean
13
- }[]
14
- >
15
-
16
- export interface GlobalFooterProps {
17
- links?: Links
18
- copyright?: VNodeChild | JSX.Element
19
- prefixCls?: string
20
- }
21
-
22
- export const defaultLinks = [
23
- {
24
- key: 'Ant Design Pro',
25
- title: 'Ant Design Pro',
26
- href: 'https://pro.ant.design',
27
- blankTarget: true
28
- },
29
- {
30
- key: 'gitee',
31
- title: <GithubOutlined />,
32
- href: 'https://gitee.com/gx12358/vue-antd-admin',
33
- blankTarget: true
34
- },
35
- {
36
- key: 'Ant Design Vue',
37
- title: 'Ant Design Vue',
38
- href: 'https://next.antdv.com/components/overview-cn/',
39
- blankTarget: true
40
- }
41
- ]
42
-
43
- export default defineComponent({
44
- name: 'GlobalFooter',
45
- props: {
46
- links: {
47
- type: [Array, Boolean] as PropType<Links>,
48
- default: defaultLinks
49
- },
50
- copyright: {
51
- type: [Object, Function, Boolean, String] as PropType<CopyrightRender>,
52
- default: '皖ICP备2022010510号-1'
53
- }
54
- },
55
- setup(props) {
56
- const baseClassName = getPrefixCls({
57
- suffixCls: 'global-footer',
58
- isPor: true
59
- })
60
-
61
- return () => (
62
- <LayoutFooter style={{ padding: 0 }}>
63
- <div class={baseClassName}>
64
- {props.links && (
65
- <div class={`${baseClassName}-links`}>
66
- {props.links.map((link) => (
67
- <a
68
- key={link.key}
69
- title={link.key}
70
- target={link.blankTarget ? '_blank' : '_self'}
71
- href={link.href}
72
- >
73
- {link.title}
74
- </a>
75
- ))}
76
- </div>
77
- )}
78
- {props.copyright && (
79
- <div class={`${baseClassName}-copyright`}>
80
- Copyright&nbsp;&nbsp;2022&nbsp;&nbsp;
81
- <a href="https://beian.miit.gov.cn/">{props.copyright}</a>
82
- </div>
83
- )}
84
- </div>
85
- </LayoutFooter>
86
- )
87
- }
88
- })
@@ -1,189 +0,0 @@
1
- import type { ExtractPropTypes } from 'vue'
2
- import { computed, defineComponent, unref } from 'vue'
3
- import { useRouter } from 'vue-router'
4
- import { useWindowSize } from '@vueuse/core'
5
- import { default as ResizeObserver } from 'ant-design-vue/es/vc-resize-observer'
6
- import Logo from '@/assets/logo.png'
7
- import { globalHeaderProps } from './props'
8
- import type { SiderMenuProps } from '../SiderMenu/SiderMenu'
9
- import { defaultRenderCollapsedButton } from '../SiderMenu/SiderMenu'
10
- import { siderMenuProps } from '../SiderMenu/props'
11
- import BaseMenu from '../SiderMenu/BaseMenu'
12
- import DeFaultRightContent from '../RightContent'
13
- import LogoContent, { defaultRenderLogo } from '../LogoContent'
14
- import { useRouteContext } from '../../RouteContext'
15
-
16
- export const defaultHeaderProps = { ...siderMenuProps, ...globalHeaderProps }
17
-
18
- export type DefaultHeaderProps = Partial<ExtractPropTypes<typeof defaultHeaderProps>> &
19
- Partial<SiderMenuProps>
20
-
21
- const renderLogo = (
22
- menuHeaderRender: SiderMenuProps['menuHeaderRender'],
23
- logoDom: CustomRender
24
- ) => {
25
- if (menuHeaderRender === false) {
26
- return null
27
- }
28
- if (menuHeaderRender) {
29
- return menuHeaderRender(logoDom, null)
30
- }
31
- return logoDom
32
- }
33
-
34
- const RightContent = defineComponent({
35
- props: defaultHeaderProps,
36
- setup(props) {
37
- const rightSize = ref<number | string>('auto')
38
-
39
- const handleResize = ({ width }: { width: number }) => {
40
- rightSize.value = width
41
- }
42
-
43
- return () => (
44
- <div
45
- style={{
46
- minWidth: typeof rightSize.value === 'string' ? rightSize.value : `${rightSize.value}px`
47
- }}
48
- >
49
- <div
50
- style={{
51
- paddingRight: '8px'
52
- }}
53
- >
54
- <ResizeObserver onResize={handleResize}>
55
- {props.rightContentRender && typeof props.rightContentRender === 'function' ? (
56
- <div>
57
- {props.rightContentRender({
58
- ...props
59
- })}
60
- </div>
61
- ) : (
62
- <DeFaultRightContent theme={props.theme} extra={props.extraRightDropdownRender} />
63
- )}
64
- </ResizeObserver>
65
- </div>
66
- </div>
67
- )
68
- }
69
- })
70
-
71
- export const DefaultHeader = defineComponent({
72
- props: defaultHeaderProps,
73
- inheritAttrs: false,
74
- setup(props, { slots, emit }) {
75
- const router = useRouter()
76
- const context = useRouteContext()
77
-
78
- const { width } = useWindowSize()
79
-
80
- const baseClassName = context.getPrefixCls({
81
- suffixCls: 'global-header',
82
- isPor: true
83
- })
84
- const className = computed(() => {
85
- return {
86
- [`${baseClassName}`]: true,
87
- [`${props.theme}`]: true,
88
- ['wide']: props.layout === 'wide'
89
- }
90
- })
91
-
92
- const handleChangeKeys = (type: string) => {
93
- if (router.currentRoute) {
94
- const matched = router.currentRoute.value.matched.concat()
95
- if (props.onSelect && type === 'select')
96
- props.onSelect(matched.filter((r) => r.name !== 'index').map((r) => r.path))
97
- if (props.onOpenKeys && type === 'openKeys')
98
- props.onOpenKeys?.(
99
- matched.filter((r) => r.path !== router.currentRoute.value.path).map((r) => r.path)
100
- )
101
- }
102
- }
103
-
104
- const onCollapse = () => {
105
- emit('collapse', !props.collapsed)
106
- }
107
-
108
- const collapsedButtonRender = computed(() => props.collapsedButtonRender || defaultRenderCollapsedButton)
109
-
110
- const contentRender = () => (
111
- <>
112
- {props.layout === 'mix' && !props.isMobile && props.splitMenus ? (
113
- <div style={{ flex: 1 }} class={`${baseClassName}-menu`}>
114
- <BaseMenu
115
- theme={props.theme}
116
- mode={props.mode}
117
- collapsed={props.collapsed}
118
- menuData={props.menuData}
119
- openKeys={context.openKeys}
120
- selectedKeys={context.selectedKeys}
121
- iconfontUrl={props.iconfontUrl}
122
- menuItemRender={props.menuItemRender}
123
- subMenuItemRender={props.subMenuItemRender}
124
- class={{ 'top-nav-menu': props.mode === 'horizontal' }}
125
- {...{
126
- 'onUpdate:openKeys': () => handleChangeKeys('openKeys'),
127
- 'onUpdate:selectedKeys': () => handleChangeKeys('select')
128
- }}
129
- />
130
- </div>
131
- ) : (
132
- <div style={{ flex: 1 }}>{slots.default?.()}</div>
133
- )}
134
- {props.layout !== 'simple' && (
135
- <RightContent
136
- extraRightDropdownRender={props.extraRightDropdownRender}
137
- rightContentRender={props.rightContentRender}
138
- {...props}
139
- />
140
- )}
141
- </>
142
- )
143
-
144
- return () => {
145
- const logoDom = (
146
- <span class={[ `${baseClassName}-logo`, props.isMobile ? 'mobile' : '' ]} key="logo">
147
- <a>{defaultRenderLogo(props.logo || Logo)}</a>
148
- </span>)
149
- return (
150
- <div
151
- style={{
152
- height: '100%',
153
- ...(props.isMobile || props.layout !== 'mix' ? {} : { padding: 0 })
154
- }}
155
- class={className.value}
156
- >
157
- {props.isMobile ? (
158
- <>
159
- {renderLogo(props.menuHeaderRender, logoDom)}
160
- {props.isMobile && unref(collapsedButtonRender) && (
161
- <span class={`${baseClassName}-collapsed-button`} onClick={onCollapse}>
162
- {unref(collapsedButtonRender)(props.collapsed)}
163
- </span>
164
- )}
165
- {contentRender()}
166
- </>
167
- ) : props.layout === 'mix' || props.layout === 'wide' ? (
168
- <>
169
- <div
170
- style={{
171
- width: props.layout === 'wide' ? `${props.wideWidth}px` : undefined,
172
- padding: props.layout === 'wide' && width.value < props.wideWidth ? '0 50px' : undefined
173
- }}
174
- class={`${baseClassName}-main`}
175
- >
176
- <div class={`${baseClassName}-main-left`}>
177
- <LogoContent {...props} renderKey="headerTitleRender" />
178
- </div>
179
- {contentRender()}
180
- </div>
181
- </>
182
- ) : (
183
- contentRender()
184
- )}
185
- </div>
186
- )
187
- }
188
- }
189
- })
@@ -1,8 +0,0 @@
1
- @import '../../default.less';
2
-
3
- @pro-layout-fixed-header-prefix-cls: ~'@{gx-prefix-pro}-fixed-header';
4
-
5
- .@{pro-layout-fixed-header-prefix-cls} {
6
- z-index: 9;
7
- width: 100%;
8
- }
@@ -1,105 +0,0 @@
1
- import { defineComponent, computed, toRefs } from 'vue'
2
- import { Layout } from 'ant-design-vue'
3
- import { headerViewProps } from './props'
4
- import { DefaultHeader } from './DefaultHeader'
5
- import { flatMap } from '../../utils'
6
- import { useRouteContext } from '../../RouteContext'
7
-
8
- const { Header } = Layout
9
-
10
- export default defineComponent({
11
- inheritAttrs: false,
12
- props: headerViewProps,
13
- setup(props) {
14
- const { theme, isMobile, fixedHeader, headerHeight, layout, onCollapse, splitMenus } =
15
- toRefs(props)
16
- const context = useRouteContext()
17
- const baseClassName = context.getPrefixCls({
18
- suffixCls: 'header',
19
- isPor: true
20
- })
21
-
22
- const baseFixedClassName = context.getPrefixCls({
23
- suffixCls: 'fixed-header',
24
- isPor: true
25
- })
26
-
27
- const hasContentWide = computed(() => layout.value === 'wide')
28
- const needFixedHeader = computed(() => fixedHeader.value || context.fixedHeader)
29
- const isMix = computed(() => layout.value === 'mix' || hasContentWide.value)
30
- const layoutSide = computed(() => layout.value === 'side' || layout.value === 'simple')
31
- const hTheme = computed(() => (layoutSide.value && 'light') || theme.value)
32
- const className = computed(() => {
33
- return {
34
- [`${hTheme.value}`]: true,
35
- [`${baseClassName}`]: true,
36
- [`${baseFixedClassName}`]: needFixedHeader.value
37
- }
38
- })
39
- const needSettingWidth = computed(() => needFixedHeader.value && !isMobile.value)
40
-
41
- // cache menu
42
- const clearMenuData = computed(() =>
43
- splitMenus.value
44
- ? (context.menuData && flatMap(context.menuData as AppRouteModule[])) || []
45
- : []
46
- )
47
- const width = computed(() => {
48
- return layoutSide.value && needSettingWidth.value
49
- ? `calc(100% - ${props.collapsed ? props.collapsedWidth : props.siderWidth}px)`
50
- : '100%'
51
- })
52
- const right = computed(() => (needFixedHeader.value ? 0 : undefined))
53
-
54
- const renderContent = () => {
55
- const defaultDom = (
56
- <DefaultHeader
57
- {...props}
58
- theme={hTheme.value as 'light' | 'dark'}
59
- mode="horizontal"
60
- onCollapse={onCollapse.value}
61
- menuData={clearMenuData.value}
62
- >
63
- {!isMix.value
64
- ? props.headerContentRender && typeof props.headerContentRender === 'function'
65
- ? props.headerContentRender(props)
66
- : props.headerContentRender
67
- : null}
68
- </DefaultHeader>
69
- )
70
- if (props.headerRender) {
71
- return props.headerRender(props, defaultDom)
72
- }
73
- return defaultDom
74
- }
75
-
76
- return () => (
77
- <>
78
- {needFixedHeader.value && !hasContentWide.value && (
79
- <Header
80
- theme={hTheme.value}
81
- style={{
82
- height: `${headerHeight.value}px`,
83
- lineHeight: `${headerHeight.value}px`,
84
- background: 'transparent'
85
- }}
86
- />
87
- )}
88
- <Header
89
- theme={hTheme.value}
90
- class={className.value}
91
- style={{
92
- padding: 0,
93
- height: `${headerHeight.value}px`,
94
- lineHeight: `${headerHeight.value}px`,
95
- width: width.value,
96
- zIndex: layoutSide.value ? 100 : 101,
97
- right: right.value
98
- }}
99
- >
100
- {renderContent()}
101
- </Header>
102
- </>
103
- )
104
- }
105
- })
@@ -1,69 +0,0 @@
1
- import type { Theme } from '/types/config'
2
- import { PropTypes } from '@/utils'
3
- import logoContentProps from '../LogoContent/props'
4
- import { siderMenuProps } from '../SiderMenu/props'
5
- import type { RightContentRender } from '../../RenderTypings'
6
- import { defaultSettingProps } from '../../defaultSettings'
7
- import { ExtraRightDropdownRender } from '../../RenderTypings'
8
-
9
- export const globalHeaderProps = {
10
- ...defaultSettingProps,
11
- logo: logoContentProps.logo,
12
- logoStyle: logoContentProps.logoStyle,
13
- logoDirection: logoContentProps.logoDirection,
14
- menuLoading: PropTypes.looseBool,
15
- autoHideHeader: PropTypes.looseBool,
16
- collapsed: PropTypes.looseBool,
17
- isMobile: PropTypes.looseBool,
18
- siderWidth: siderMenuProps.siderWidth,
19
- headerTheme: {
20
- type: String as PropType<Theme>,
21
- default: 'dark'
22
- },
23
- menuData: {
24
- type: Array as PropType<AppRouteModule[]>,
25
- default: () => []
26
- },
27
- menuRender: {
28
- type: [ Object, Function ] as PropType<WithFalse<(props: any /* HeaderViewProps */,
29
- defaultDom: CustomRender) => CustomRender>>,
30
- default: () => undefined
31
- },
32
- extraRightDropdownRender: {
33
- type: [ Object, Function ] as PropType<ExtraRightDropdownRender>,
34
- default: () => undefined
35
- },
36
- rightContentRender: {
37
- type: [Object, Function] as PropType<RightContentRender>,
38
- default: () => undefined,
39
- },
40
- collapsedButtonRender: siderMenuProps.collapsedButtonRender,
41
- matchMenuKeys: siderMenuProps.matchMenuKeys,
42
- onCollapse: siderMenuProps.onCollapse,
43
- onOpenKeys: siderMenuProps.onOpenKeys,
44
- onMenuHeaderClick: PropTypes.func,
45
- onSelect: siderMenuProps.onSelect
46
- }
47
-
48
- export const headerViewProps = {
49
- ...globalHeaderProps,
50
- headerTitleRender: {
51
- type: [ Object, Function ] as PropType<WithFalse<(
52
- props: any,
53
- defaultDom: CustomRender
54
- ) => CustomRender>>,
55
- default: () => undefined
56
- },
57
- headerRender: {
58
- type: [Object, Function] as PropType<WithFalse<(props: any, defaultDom: CustomRender) => CustomRender>>,
59
- default: () => undefined,
60
- },
61
- headerContentRender: {
62
- type: [Object, Function] as PropType<WithFalse<(props: any) => CustomRender>>,
63
- default: () => undefined,
64
- },
65
- hasSiderMenu: PropTypes.looseBool,
66
- collapsedWidth: siderMenuProps.collapsedWidth,
67
- siderWidth: siderMenuProps.siderWidth
68
- }
69
-