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

Sign up to get free protection for your applications and to get access to all the features.
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,278 +0,0 @@
1
- import dayjs from 'dayjs'
2
- import config from '/config/config'
3
- import { deepCopy, scrollTo, getBlobUrl } from '@gx-design-vue/pro-utils'
4
-
5
- const { viewScrollRoot } = config.defaultSettings
6
-
7
- export function timeFix() {
8
- const time = new Date()
9
- const hour = time.getHours()
10
- return hour < 9 ? '早上好' : hour <= 11 ? '上午好' : hour <= 13 ? '中午好' : hour < 20 ? '下午好' : '晚上好'
11
- }
12
-
13
- /**
14
- * @Author gaoxiang
15
- * @DateTime 2020/7/23
16
- * @lastTime 2020/7/23
17
- * @description 去除空格
18
- */
19
- export function trim(str: string, isGlobal?: boolean) {
20
- if (typeof str === 'undefined' || str.length === 0) return ''
21
- let result
22
- result = str.replace(/(^\s+)|(\s+$)/g, '')
23
- if (isGlobal) {
24
- result = result.replace(/\s/g, '')
25
- }
26
- return result
27
- }
28
-
29
- /**
30
- * @Author gx12358
31
- * @DateTime 2021/11/3
32
- * @lastTime 2021/11/3
33
- * @description get参数处理
34
- */
35
- export function tansParams(params) {
36
- let result = ''
37
- for (const propName of Object.keys(params)) {
38
- const value = params[propName]
39
- const part = encodeURIComponent(propName) + '='
40
- if (value !== null && typeof (value) !== 'undefined' && value !== '') {
41
- if (typeof value === 'object') {
42
- for (const key of Object.keys(value)) {
43
- if (value[key] !== null && typeof (value[key]) !== 'undefined') {
44
- const params = propName + '[' + key + ']'
45
- const subPart = encodeURIComponent(params) + '='
46
- result += subPart + encodeURIComponent(value[key]) + '&'
47
- }
48
- }
49
- } else {
50
- result += part + encodeURIComponent(value) + '&'
51
- }
52
- }
53
- }
54
- return result
55
- }
56
-
57
- /**
58
- * @Author gaoxiang
59
- * @DateTime 2020/11/1
60
- * @lastTime 2020/11/1
61
- * @description 处理table多选翻页 selectItems 丢失问题
62
- */
63
- export function handleSelectPage(config: {
64
- rowKey?: string;
65
- tableData: any[];
66
- selectItems: any[];
67
- oldSelectItems: any[];
68
- }) {
69
- const {
70
- tableData,
71
- oldSelectItems,
72
- selectItems,
73
- rowKey = 'id'
74
- } = config
75
- const currentSelectItems = oldSelectItems.filter((item: any) => tableData.some(el =>
76
- el[rowKey] === item[rowKey])
77
- )
78
- let newSelectItems = deepCopy(oldSelectItems)
79
- if (currentSelectItems.length < selectItems.length) {
80
- const pushItems = selectItems.filter((item: any) => !currentSelectItems.find(el =>
81
- el[rowKey] === item[rowKey])
82
- )
83
- pushItems.map((item: any) => {
84
- newSelectItems.push(item)
85
- return item
86
- })
87
- } else {
88
- const filterItems = currentSelectItems.filter((item: any) =>
89
- !selectItems.find((el: any) => el[rowKey] === item[rowKey])
90
- )
91
- newSelectItems = newSelectItems.filter((item: any) =>
92
- !filterItems.find((el: any) => el[rowKey] === item[rowKey])
93
- )
94
- }
95
- return newSelectItems
96
- }
97
-
98
- /**
99
- * @Author gaoxiang
100
- * @DateTime 2019/11/29
101
- * @lastTime 2019/11/29
102
- * @description 排序(从大到小)
103
- */
104
- export function compareToMin(obj1: any, obj2: any, key: string) {
105
- const val1 = obj1[key]
106
- const val2 = obj2[key]
107
- let result = 0
108
- if (val1 < val2) {
109
- result = 0
110
- } else if (val1 > val2) {
111
- result = -1
112
- }
113
- return result
114
- }
115
-
116
- /**
117
- * @Author gaoxiang
118
- * @DateTime 2019/11/29
119
- * @lastTime 2019/11/29
120
- * @description 排序(从小到大)
121
- */
122
- export function compareToMax(obj1: any, obj2: any, key: string) {
123
- const val1 = obj1[key]
124
- const val2 = obj2[key]
125
- let result = 0
126
- if (val1 < val2) {
127
- result = -1
128
- } else if (val1 > val2) {
129
- result = 0
130
- }
131
- return result
132
- }
133
-
134
- function mGetDate() {
135
- const date = new Date()
136
- const year = date.getFullYear()
137
- const month = date.getMonth() + 1
138
- const d = new Date(year, month, 0)
139
- return d.getDate()
140
- }
141
-
142
- /**
143
- * @Author gx12358
144
- * @DateTime 2022/8/4
145
- * @lastTime 2022/8/4
146
- * @description 处理时间展示(dayjs)
147
- */
148
- export function momentFromNow(time) {
149
- return dayjs(time).fromNow()
150
- }
151
-
152
- /**
153
- * @Author gx12358
154
- * @DateTime 2022/8/4
155
- * @lastTime 2022/8/4
156
- * @description 处理时间展示
157
- */
158
- export function handleTimeShow(date: string) {
159
- const date3 = new Date().getTime() - new Date(date.replace(/\-/g, '/')).getTime() // 时间差的毫秒数
160
- const days = Math.floor(date3 / (24 * 3600 * 1000))
161
- // 计算出小时数
162
- const leave1 = date3 % (24 * 3600 * 1000) // 计算天数后剩余的毫秒数
163
- const hours = Math.floor(leave1 / (3600 * 1000))
164
- // 计算相差分钟数
165
- const leave2 = leave1 % (3600 * 1000) // 计算小时数后剩余的毫秒数
166
- const minutes = Math.floor(leave2 / (60 * 1000))
167
- // 计算相差秒数
168
- const leave3 = leave2 % (60 * 1000) // 计算分钟数后剩余的毫秒数
169
- const seconds = Math.round(leave3 / 1000)
170
- if (
171
- days === 0 &&
172
- hours === 0 &&
173
- minutes === 0 &&
174
- seconds < 60
175
- ) {
176
- return '刚刚'
177
- } else if (
178
- days === 0 &&
179
- hours === 0 &&
180
- minutes < 60
181
- ) {
182
- return `${minutes}分钟前`
183
- } else if (
184
- days === 0 &&
185
- hours < 24
186
- ) {
187
- return `${hours}小时前`
188
- } else if (
189
- days < mGetDate()
190
- ) {
191
- return dayjs(date.replace(/\-/g, '/')).format('MM-dd hh:mm')
192
- } else {
193
- return dayjs(date.replace(/\-/g, '/')).format('yyyy-MM-dd')
194
- }
195
- }
196
-
197
- /**
198
- * @Author gx12358
199
- * @DateTime 2021/1/11
200
- * @lastTime 2021/1/11
201
- * @description 图片ur地址转file对象
202
- */
203
- export function getImageFileFromUrl(url = '', imageName: string) {
204
- return new Promise((resolve) => {
205
- let blob: any = null
206
- const xhr = new XMLHttpRequest()
207
- xhr.open('GET', url, true)
208
- xhr.responseType = 'blob'
209
- xhr.onload = () => {
210
- blob = xhr.response
211
- const imgFile = new File([ blob ], imageName, { type: 'image/png' })
212
- resolve(imgFile)
213
- }
214
- xhr.send()
215
- })
216
- }
217
-
218
- /**
219
- * @Author gx12358
220
- * @DateTime 2021/1/11
221
- * @lastTime 2021/1/11
222
- * @description 本地资源获取blob地址
223
- */
224
- export function getLocalBlob(url = '') {
225
- return new Promise((resolve) => {
226
- let blob: any = null
227
- const xhr = new XMLHttpRequest()
228
- xhr.open('GET', url, true)
229
- xhr.responseType = 'blob'
230
- xhr.onload = () => {
231
- blob = xhr.response
232
- resolve(getBlobUrl(blob))
233
- }
234
- xhr.send()
235
- })
236
- }
237
-
238
- /**
239
- * @Author gx12358
240
- * @DateTime 2022/10/11
241
- * @lastTime 2022/10/11
242
- * @description 判断元素到上一个元素的距离
243
- */
244
- export function handleOffsetTop(targetNode: HTMLInputElement) {
245
- let totalLeft = 0
246
- let totalTop = 0
247
- if (!targetNode) return { left: totalLeft, top: totalTop }
248
- let parentNode = <HTMLElement>targetNode.offsetParent
249
- //首先把自己本身的相加
250
- totalLeft += targetNode.offsetLeft
251
- totalTop += targetNode.offsetTop
252
- //现在开始一级一级往上查找,只要没有遇到body,我们就把父级参照物的边框和偏移相加
253
- while (parentNode) {
254
- if (navigator.userAgent.indexOf('MSIE 8.0') === -1) {
255
- //不是IE8我们才进行累加父级参照物的边框
256
- totalTop += parentNode.clientTop
257
- totalLeft += parentNode.clientLeft
258
- }
259
- //把父级参照物的偏移相加
260
- totalTop += parentNode.offsetTop
261
- totalLeft += parentNode.offsetLeft
262
- parentNode = <HTMLElement>parentNode.offsetParent
263
- }
264
- return { left: totalLeft, top: totalTop }
265
- }
266
-
267
- /**
268
- * @Author gx12358
269
- * @DateTime 2022/10/11
270
- * @lastTime 2022/10/11
271
- * @description 滚动到固定位置
272
- */
273
- export function scrollToContainer(count: number, root?: string) {
274
- scrollTo(count || 0, {
275
- getContainer: () => document.querySelector(viewScrollRoot || root) as HTMLInputElement,
276
- duration: 200
277
- })
278
- }
@@ -1,221 +0,0 @@
1
- /**
2
- * @author gx12358 2539306317@qq.com
3
- * @description 判读是否为外链
4
- * @param path
5
- * @returns {boolean}
6
- */
7
- export function isExternal(path) {
8
- return /^(https?:|mailto:|tel:)/.test(path)
9
- }
10
-
11
- /**
12
- * @author gx12358 2539306317@qq.com
13
- * @description 判断是否是名称
14
- * @param value
15
- * @returns {boolean}
16
- */
17
- export function isName(value) {
18
- const reg = /^[\u4e00-\u9fa5a-zA-Z0-9]+$/
19
- return reg.test(value)
20
- }
21
-
22
- /**
23
- * @author gx12358 2539306317@qq.com
24
- * @description 判断是否为IP
25
- * @param ip
26
- * @returns {boolean}
27
- */
28
- export function isIP(ip) {
29
- const reg = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/
30
- return reg.test(ip)
31
- }
32
-
33
- /**
34
- * @author gx12358 2539306317@qq.com
35
- * @description 判断是否是传统网站
36
- * @param url
37
- * @returns {boolean}
38
- */
39
- export function isUrl(url) {
40
- const reg = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/
41
- return reg.test(url)
42
- }
43
-
44
- /**
45
- * @author gx12358 2539306317@qq.com
46
- * @description 判断是否是小写字母
47
- * @param value
48
- * @returns {boolean}
49
- */
50
- export function isLowerCase(value) {
51
- const reg = /^[a-z]+$/
52
- return reg.test(value)
53
- }
54
-
55
- /**
56
- * @author gx12358 2539306317@qq.com
57
- * @description 判断是否是大写字母
58
- * @param value
59
- * @returns {boolean}
60
- */
61
- export function isUpperCase(value) {
62
- const reg = /^[A-Z]+$/
63
- return reg.test(value)
64
- }
65
-
66
- /**
67
- * @author gx12358 2539306317@qq.com
68
- * @description 判断是否是大写字母开头
69
- * @param value
70
- * @returns {boolean}
71
- */
72
- export function isAlphabets(value) {
73
- const reg = /^[A-Za-z]+$/
74
- return reg.test(value)
75
- }
76
-
77
- /**
78
- * @author gx12358 2539306317@qq.com
79
- * @description 判断是否是端口号
80
- * @param value
81
- * @returns {boolean}
82
- */
83
- export function isPort(value) {
84
- const reg = /^([0-9]|[1-9]\d|[1-9]\d{2}|[1-9]\d{3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/
85
- return reg.test(value)
86
- }
87
-
88
- /**
89
- * @author gx12358 2539306317@qq.com
90
- * @description 判断是否是手机号
91
- * @param value
92
- * @returns {boolean}
93
- */
94
- export function isPhone(value) {
95
- const reg = /^1\d{10}$/
96
- return reg.test(value)
97
- }
98
-
99
- /**
100
- * @author gx12358 2539306317@qq.com
101
- * @description 判断是否是身份证号(第二代)
102
- * @param value
103
- * @returns {boolean}
104
- */
105
- export function isIdCard(value) {
106
- const reg = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
107
- return reg.test(value)
108
- }
109
-
110
- /**
111
- * @author gx12358 2539306317@qq.com
112
- * @description 判断是否是邮箱
113
- * @param value
114
- * @returns {boolean}
115
- */
116
- export function isEmail(value) {
117
- const reg = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
118
- return reg.test(value)
119
- }
120
-
121
- /**
122
- * @author gx12358 2539306317@qq.com
123
- * @description 判断是否中文
124
- * @param value
125
- * @returns {boolean}
126
- */
127
- export function isChina(value) {
128
- const reg = /^[\u4E00-\u9FA5]{2,4}$/
129
- return reg.test(value)
130
- }
131
-
132
- /**
133
- * @author gx12358 2539306317@qq.com
134
- * @description 判断是否为空
135
- * @param value
136
- * @returns {boolean}
137
- */
138
- export function isBlank(value) {
139
- return (
140
- value == null ||
141
- false ||
142
- value === '' ||
143
- value.trim() === '' ||
144
- value.toLocaleLowerCase().trim() === 'null'
145
- )
146
- }
147
-
148
- /**
149
- * @author gx12358 2539306317@qq.com
150
- * @description 判断是否为固话
151
- * @param value
152
- * @returns {boolean}
153
- */
154
- export function isTel(value) {
155
- const reg = /^(400|800)([0-9\\-]{7,10})|(([0-9]{4}|[0-9]{3})([- ])?)?([0-9]{7,8})(([- 转])*([0-9]{1,4}))?$/
156
- return reg.test(value)
157
- }
158
-
159
- /**
160
- * @author gx12358 2539306317@qq.com
161
- * @description 判断经度 -180.0~+180.0(整数部分为0~180,必须输入1到5位小数)
162
- * @param value
163
- * @returns {boolean}
164
- */
165
- export function isLongitude(value) {
166
- const reg = /^[-|+]?(0?\d{1,2}\.\d{1,5}|1[0-7]?\d{1}\.\d{1,5}|180\.0{1,5})$/
167
- return reg.test(value)
168
- }
169
-
170
- /**
171
- * @author gx12358 2539306317@qq.com
172
- * @description 判断纬度 -90.0~+90.0(整数部分为0~90,必须输入1到5位小数)
173
- * @param value
174
- * @returns {boolean}
175
- */
176
- export function isLatitude(value) {
177
- const reg = /^[-|+]?([0-8]?\d{1}\.\d{1,5}|90\.0{1,5})$/
178
- return reg.test(value)
179
- }
180
-
181
- /**
182
- * @author gx12358 2539306317@qq.com
183
- * @description rtsp校验,只要有rtsp://
184
- * @param value
185
- * @returns {boolean}
186
- */
187
- export function isRTSP(value) {
188
- const reg = /^rtsp:\/\/([a-z]{0,10}:.{0,10}@)?(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/
189
- const reg1 = /^rtsp:\/\/([a-z]{0,10}:.{0,10}@)?(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5]):[0-9]{1,5}/
190
- const reg2 = /^rtsp:\/\/([a-z]{0,10}:.{0,10}@)?(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\//
191
- return reg.test(value) || reg1.test(value) || reg2.test(value)
192
- }
193
-
194
- /**
195
- * @Author gaoxiang
196
- * @DateTime 2020/11/4
197
- * @lastTime 2020/11/4
198
- * @description 判断是否是JSON字符串
199
- */
200
- export function isJSONStr(str: any) {
201
- if (typeof str === 'string') {
202
- try {
203
- const obj = JSON.parse(str)
204
- if (typeof obj === 'object' && obj) {
205
- return true
206
- } else {
207
- return false
208
- }
209
- } catch (e) {
210
- return false
211
- }
212
- }
213
- return false
214
- }
215
-
216
- export function checkURL(URL) {
217
- const str = URL,
218
- Expression = /http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/,
219
- objExp = new RegExp(Expression)
220
- return objExp.test(str)
221
- }
@@ -1,76 +0,0 @@
1
- <template>
2
- <g-pro-page-container>
3
- <div :class="prefixCls" :style="frameStyle">
4
- <a-spin :spinning="loading" size="large" :style="frameStyle">
5
- <iframe
6
- :src="frameSrc"
7
- :class="[`${prefixCls}-main`]"
8
- :style="frameStyle"
9
- ref="frameRef"
10
- allowfullscreen
11
- frameBorder="0"
12
- @load="hideLoading"
13
- />
14
- </a-spin>
15
- </div>
16
- </g-pro-page-container>
17
- </template>
18
-
19
- <script setup lang="ts">
20
- import { ref, computed, onMounted, onUnmounted, watch } from 'vue'
21
- import { useStore } from '@gx-vuex'
22
- import { getPrefixCls } from '@gx-design-vue/pro-utils'
23
- import { PropTypes } from '@/utils'
24
-
25
- const props = defineProps({
26
- frameSrc: PropTypes.string.def('')
27
- })
28
-
29
- const store = useStore()
30
-
31
- const prefixCls = getPrefixCls({
32
- suffixCls: 'iframe-page',
33
- isPor: true
34
- })
35
-
36
- const frameRef = ref<HTMLIFrameElement>()
37
- const loading = ref(true)
38
-
39
- const publicHeight = computed(
40
- () =>
41
- store.settings.headerHeight +
42
- 24 * 2 +
43
- (store.settings.showTabsBar ? (store.settings.fixedMultiTab ? 62 : 40) : 0)
44
- )
45
-
46
- const frameStyle = reactive({
47
- width: '100%',
48
- height: `${window.innerHeight - publicHeight.value}px`
49
- })
50
-
51
- watch(
52
- () => props.frameSrc,
53
- (_) => {
54
- console.log(_)
55
- loading.value = true
56
- },
57
- {
58
- deep: true,
59
- immediate: true
60
- }
61
- )
62
-
63
- onMounted(() => {
64
- window.addEventListener('resize', calcHeight)
65
- })
66
-
67
- onUnmounted(() => {
68
- window.removeEventListener('resize', calcHeight)
69
- })
70
-
71
- const calcHeight = () => (frameStyle.height = `${window.innerHeight - publicHeight.value}px`)
72
-
73
- const hideLoading = () => {
74
- loading.value = false
75
- }
76
- </script>
@@ -1,15 +0,0 @@
1
- <template>
2
- <g-pro-page-container>
3
- <div>123</div>
4
- </g-pro-page-container>
5
- </template>
6
-
7
- <script setup lang='ts'>
8
- onMounted(() => {
9
- console.log(123)
10
- })
11
- </script>
12
-
13
- <style lang='less' module>
14
-
15
- </style>
@@ -1,13 +0,0 @@
1
- <template>
2
- <g-pro-page-container>
3
- <div>123</div>
4
- </g-pro-page-container>
5
- </template>
6
-
7
- <script setup lang='ts'>
8
-
9
- </script>
10
-
11
- <style lang='less' module>
12
-
13
- </style>
@@ -1,9 +0,0 @@
1
- <template>
2
- <g-result status="403" />
3
- </template>
4
-
5
- <script setup lang="ts">
6
- import GResult from '@/components/GDesign/Result'
7
- </script>
8
-
9
- <style lang="less" scoped></style>
@@ -1,9 +0,0 @@
1
- <template>
2
- <g-result status="404" />
3
- </template>
4
-
5
- <script setup lang="ts">
6
- import GResult from '@/components/GDesign/Result'
7
- </script>
8
-
9
- <style lang="less" scoped></style>