@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,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
-