@bit-sun/business-component 2.3.22-beta1 → 2.3.22-beta10

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 (235) hide show
  1. package/.editorconfig +16 -16
  2. package/.fatherrc.ts +5 -5
  3. package/.gitlab-ci.yml +179 -179
  4. package/.prettierignore +7 -7
  5. package/.prettierrc +11 -11
  6. package/.umirc.ts +74 -74
  7. package/README.md +27 -27
  8. package/dist/components/Business/AddSelectBusiness/index.d.ts +4 -3
  9. package/dist/components/Business/BsLayouts/Components/AllFunc/drawContent.d.ts +2 -1
  10. package/dist/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.d.ts +1 -1
  11. package/dist/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.d.ts +2 -2
  12. package/dist/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.d.ts +2 -1
  13. package/dist/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.d.ts +2 -1
  14. package/dist/components/Business/BsLayouts/Components/GlobalHeader/index.d.ts +2 -1
  15. package/dist/components/Business/BsLayouts/Components/RightContent/LoginModal.d.ts +2 -1
  16. package/dist/components/Business/BsLayouts/index.d.ts +1 -1
  17. package/dist/components/Business/BsLayouts/service.d.ts +1 -1
  18. package/dist/components/Business/BsSulaQueryTable/SearchItemSetting.d.ts +5 -5
  19. package/dist/components/Business/BsSulaQueryTable/index.d.ts +2 -1
  20. package/dist/components/Business/BsSulaQueryTable/setting.d.ts +5 -5
  21. package/dist/components/Business/BsSulaQueryTable/utils.d.ts +14 -13
  22. package/dist/components/Business/CommodityEntry/index.d.ts +2 -1
  23. package/dist/components/Business/CommonAlert/index.d.ts +2 -1
  24. package/dist/components/Business/CommonGuideWrapper/index.d.ts +3 -3
  25. package/dist/components/Business/DetailPageWrapper/index.d.ts +6 -5
  26. package/dist/components/Business/HomePageWrapper/index.d.ts +2 -1
  27. package/dist/components/Business/JsonQueryTable/components/FieldsModifyModal.d.ts +2 -1
  28. package/dist/components/Business/JsonQueryTable/components/FieldsSettingsTable.d.ts +2 -1
  29. package/dist/components/Business/JsonQueryTable/components/Formula.d.ts +2 -1
  30. package/dist/components/Business/JsonQueryTable/components/MaintainOptions.d.ts +2 -1
  31. package/dist/components/Business/JsonQueryTable/drawer/index.d.ts +2 -1
  32. package/dist/components/Business/StateFlow/index.d.ts +2 -1
  33. package/dist/components/Business/TreeSearchSelect/index.d.ts +1 -1
  34. package/dist/components/Business/columnSettingTable/columnSetting.d.ts +5 -5
  35. package/dist/components/Business/columnSettingTable/index.d.ts +2 -2
  36. package/dist/components/Business/columnSettingTable/sulaSettingTable.d.ts +2 -2
  37. package/dist/components/Business/columnSettingTable/utils.d.ts +2 -1
  38. package/dist/components/Functional/AddSelect/index.d.ts +2 -1
  39. package/dist/components/Functional/DataImport/index.d.ts +3 -3
  40. package/dist/components/Functional/DataValidation/index.d.ts +3 -3
  41. package/dist/components/Functional/ExportFunctions/ExportIcon/index.d.ts +2 -1
  42. package/dist/components/Functional/QueryMutipleInput/index.d.ts +2 -1
  43. package/dist/components/Functional/TreeSearchSelect/index.d.ts +2 -1
  44. package/dist/components/Solution/RuleComponent/Formula.d.ts +2 -1
  45. package/dist/components/Solution/RuleComponent/services.d.ts +1 -1
  46. package/dist/index.esm.js +74 -53
  47. package/dist/index.js +74 -53
  48. package/dist/plugin/TableColumnSetting/index.d.ts +5 -5
  49. package/dist/utils/LocalstorageUtils.d.ts +5 -0
  50. package/docs/index.md +21 -21
  51. package/lib/assets/drag.svg +17 -17
  52. package/lib/assets/exportFail.svg +37 -37
  53. package/lib/assets/exportProcessing.svg +28 -28
  54. package/lib/assets/exportSuccess.svg +34 -34
  55. package/lib/assets/label_icon_bottom.svg +25 -25
  56. package/lib/assets/upExport.svg +22 -22
  57. package/package.json +78 -78
  58. package/src/assets/32.svg +27 -27
  59. package/src/assets/addIcon.svg +17 -17
  60. package/src/assets/allfunc.svg +27 -27
  61. package/src/assets/arrowRight.svg +24 -24
  62. package/src/assets/btn-delete.svg +29 -29
  63. package/src/assets/btn-edit.svg +19 -19
  64. package/src/assets/btn-more.svg +17 -17
  65. package/src/assets/btn-submit.svg +19 -19
  66. package/src/assets/caidan.svg +11 -11
  67. package/src/assets/close.svg +26 -26
  68. package/src/assets/drag.svg +17 -17
  69. package/src/assets/exportFail.svg +37 -37
  70. package/src/assets/exportProcessing.svg +28 -28
  71. package/src/assets/exportSuccess.svg +34 -34
  72. package/src/assets/fixed-left-active.svg +11 -11
  73. package/src/assets/fixed-left.svg +15 -15
  74. package/src/assets/fixed-right-active.svg +11 -11
  75. package/src/assets/fixed-right.svg +15 -15
  76. package/src/assets/guanbi.svg +15 -15
  77. package/src/assets/icon-quanping.svg +15 -15
  78. package/src/assets/icon-shezhi.svg +17 -17
  79. package/src/assets/label_icon_bottom.svg +25 -25
  80. package/src/assets/list-no-img.svg +21 -21
  81. package/src/assets/morentouxiang-32.svg +23 -23
  82. package/src/assets/scanning.svg +24 -24
  83. package/src/assets/upExport.svg +22 -22
  84. package/src/common/ENUM.ts +41 -41
  85. package/src/components/Business/AddSelectBusiness/index.md +162 -162
  86. package/src/components/Business/AddSelectBusiness/index.tsx +1060 -1060
  87. package/src/components/Business/BsLayouts/Components/AllFunc/drawContent.tsx +111 -111
  88. package/src/components/Business/BsLayouts/Components/AllFunc/index.less +153 -153
  89. package/src/components/Business/BsLayouts/Components/AllFunc/index.tsx +70 -70
  90. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.less +90 -90
  91. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.tsx +37 -37
  92. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.tsx +242 -242
  93. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.tsx +384 -384
  94. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.tsx +285 -285
  95. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.tsx +74 -74
  96. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/drawContent.less +170 -170
  97. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.less +64 -64
  98. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.tsx +153 -153
  99. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.less +72 -72
  100. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.tsx +157 -157
  101. package/src/components/Business/BsLayouts/Components/RightContent/LoginModal.tsx +85 -85
  102. package/src/components/Business/BsLayouts/Components/RightContent/home.less +218 -218
  103. package/src/components/Business/BsLayouts/Components/RightContent/index.tsx +155 -155
  104. package/src/components/Business/BsLayouts/Components/SearchFunc/index.less +160 -160
  105. package/src/components/Business/BsLayouts/Components/SearchFunc/index.tsx +75 -75
  106. package/src/components/Business/BsLayouts/index.less +79 -79
  107. package/src/components/Business/BsLayouts/index.tsx +1484 -1484
  108. package/src/components/Business/BsLayouts/service.ts +10 -10
  109. package/src/components/Business/BsLayouts/utils.tsx +203 -203
  110. package/src/components/Business/BsSulaQueryTable/SearchItemSetting.tsx +565 -564
  111. package/src/components/Business/BsSulaQueryTable/index.less +221 -221
  112. package/src/components/Business/BsSulaQueryTable/index.tsx +531 -535
  113. package/src/components/Business/BsSulaQueryTable/setting.tsx +855 -852
  114. package/src/components/Business/BsSulaQueryTable/utils.less +65 -65
  115. package/src/components/Business/BsSulaQueryTable/utils.tsx +690 -690
  116. package/src/components/Business/CommodityEntry/index.md +70 -70
  117. package/src/components/Business/CommodityEntry/index.tsx +80 -80
  118. package/src/components/Business/CommonAlert/index.tsx +23 -23
  119. package/src/components/Business/CommonGuideWrapper/index.less +111 -111
  120. package/src/components/Business/CommonGuideWrapper/index.md +39 -39
  121. package/src/components/Business/CommonGuideWrapper/index.tsx +83 -83
  122. package/src/components/Business/DetailPageWrapper/index.less +79 -79
  123. package/src/components/Business/DetailPageWrapper/index.tsx +313 -313
  124. package/src/components/Business/DetailPageWrapper/utils.tsx +100 -100
  125. package/src/components/Business/HomePageWrapper/index.less +33 -33
  126. package/src/components/Business/HomePageWrapper/index.md +45 -45
  127. package/src/components/Business/HomePageWrapper/index.tsx +162 -162
  128. package/src/components/Business/JsonQueryTable/components/FieldsModifyModal.tsx +824 -824
  129. package/src/components/Business/JsonQueryTable/components/FieldsSettingsTable.tsx +205 -205
  130. package/src/components/Business/JsonQueryTable/components/Formula.tsx +205 -205
  131. package/src/components/Business/JsonQueryTable/components/MaintainOptions.tsx +127 -127
  132. package/src/components/Business/JsonQueryTable/configButton/index.js +20 -20
  133. package/src/components/Business/JsonQueryTable/configTree/component/compactArrayView.js +25 -25
  134. package/src/components/Business/JsonQueryTable/configTree/component/compactObjectView.js +30 -30
  135. package/src/components/Business/JsonQueryTable/configTree/index.js +82 -82
  136. package/src/components/Business/JsonQueryTable/configTree/index.less +44 -44
  137. package/src/components/Business/JsonQueryTable/configTree/parser/highlight.js +57 -57
  138. package/src/components/Business/JsonQueryTable/configTree/parser/index.js +124 -124
  139. package/src/components/Business/JsonQueryTable/configTree/render/iconRender.js +29 -29
  140. package/src/components/Business/JsonQueryTable/configTree/render/nameRender.js +22 -22
  141. package/src/components/Business/JsonQueryTable/configTree/treeNode.js +116 -116
  142. package/src/components/Business/JsonQueryTable/drawer/index.tsx +12 -12
  143. package/src/components/Business/JsonQueryTable/function.ts +62 -62
  144. package/src/components/Business/JsonQueryTable/index.less +16 -16
  145. package/src/components/Business/JsonQueryTable/index.md +328 -328
  146. package/src/components/Business/JsonQueryTable/index.tsx +535 -535
  147. package/src/components/Business/JsonQueryTable/jsonEditor/index.js +346 -346
  148. package/src/components/Business/JsonQueryTable/jsonEditor/index.less +22 -22
  149. package/src/components/Business/JsonQueryTable/jsonEditor/lint/basicType.js +147 -147
  150. package/src/components/Business/JsonQueryTable/jsonEditor/lint/index.js +389 -389
  151. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/actions.js +118 -118
  152. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/dependency.js +22 -22
  153. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/index.js +21 -21
  154. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/request.js +65 -65
  155. package/src/components/Business/JsonQueryTable/static.ts +390 -390
  156. package/src/components/Business/SearchSelect/BusinessUtils.ts +1762 -1762
  157. package/src/components/Business/SearchSelect/common.ts +75 -75
  158. package/src/components/Business/SearchSelect/index.md +1329 -1329
  159. package/src/components/Business/SearchSelect/index.tsx +55 -55
  160. package/src/components/Business/SearchSelect/utils.ts +100 -100
  161. package/src/components/Business/StateFlow/index.less +130 -130
  162. package/src/components/Business/StateFlow/index.md +60 -60
  163. package/src/components/Business/StateFlow/index.tsx +29 -29
  164. package/src/components/Business/TreeSearchSelect/index.md +156 -156
  165. package/src/components/Business/TreeSearchSelect/index.tsx +33 -33
  166. package/src/components/Business/TreeSearchSelect/utils.ts +75 -75
  167. package/src/components/Business/columnSettingTable/columnSetting.tsx +766 -764
  168. package/src/components/Business/columnSettingTable/index.less +247 -247
  169. package/src/components/Business/columnSettingTable/index.md +357 -357
  170. package/src/components/Business/columnSettingTable/index.tsx +232 -232
  171. package/src/components/Business/columnSettingTable/sulaSettingTable.tsx +240 -240
  172. package/src/components/Business/columnSettingTable/utils.tsx +71 -71
  173. package/src/components/Business/moreTreeTable/FixedScrollBar.tsx +87 -87
  174. package/src/components/Business/moreTreeTable/hooks/useSticky.ts +21 -21
  175. package/src/components/Business/moreTreeTable/index.less +99 -99
  176. package/src/components/Business/moreTreeTable/index.md +448 -448
  177. package/src/components/Business/moreTreeTable/index.tsx +387 -387
  178. package/src/components/Business/moreTreeTable/utils.ts +126 -126
  179. package/src/components/Functional/AddSelect/helps.ts +79 -79
  180. package/src/components/Functional/AddSelect/index.less +367 -367
  181. package/src/components/Functional/AddSelect/index.md +155 -155
  182. package/src/components/Functional/AddSelect/index.tsx +1170 -1170
  183. package/src/components/Functional/BillEntry/index.less +371 -371
  184. package/src/components/Functional/BillEntry/index.md +39 -39
  185. package/src/components/Functional/BillEntry/index.tsx +772 -772
  186. package/src/components/Functional/BsAntdSula/BsCascader/index.md +62 -62
  187. package/src/components/Functional/BsAntdSula/BsCascader/index.tsx +178 -178
  188. package/src/components/Functional/BsAntdSula/index.ts +2 -2
  189. package/src/components/Functional/DataImport/index.less +63 -63
  190. package/src/components/Functional/DataImport/index.md +44 -44
  191. package/src/components/Functional/DataImport/index.tsx +695 -695
  192. package/src/components/Functional/DataValidation/index.less +63 -63
  193. package/src/components/Functional/DataValidation/index.md +39 -39
  194. package/src/components/Functional/DataValidation/index.tsx +687 -687
  195. package/src/components/Functional/EllipsisTooltip/index.d.ts +5 -5
  196. package/src/components/Functional/EllipsisTooltip/index.js +36 -36
  197. package/src/components/Functional/EllipsisTooltip/index.md +30 -30
  198. package/src/components/Functional/ExportFunctions/ExportIcon/index.md +37 -37
  199. package/src/components/Functional/ExportFunctions/ExportIcon/index.tsx +59 -59
  200. package/src/components/Functional/QueryMutipleInput/index.less +37 -37
  201. package/src/components/Functional/QueryMutipleInput/index.md +33 -33
  202. package/src/components/Functional/QueryMutipleInput/index.tsx +128 -128
  203. package/src/components/Functional/SearchSelect/index.less +115 -115
  204. package/src/components/Functional/SearchSelect/index.md +141 -141
  205. package/src/components/Functional/SearchSelect/index.tsx +879 -879
  206. package/src/components/Functional/SearchSelect/utils.ts +3 -3
  207. package/src/components/Functional/TreeSearchSelect/index.md +47 -47
  208. package/src/components/Functional/TreeSearchSelect/index.tsx +199 -199
  209. package/src/components/Solution/RuleComponent/Formula.tsx +335 -335
  210. package/src/components/Solution/RuleComponent/index.d.ts +29 -29
  211. package/src/components/Solution/RuleComponent/index.js +2032 -2032
  212. package/src/components/Solution/RuleComponent/index.less +230 -230
  213. package/src/components/Solution/RuleComponent/renderSpecificAction.js +99 -99
  214. package/src/components/Solution/RuleComponent/ruleFiled.js +2107 -2107
  215. package/src/components/Solution/RuleComponent/services.ts +13 -13
  216. package/src/components/Solution/RuleComponent/util.js +139 -139
  217. package/src/index.ts +38 -38
  218. package/src/plugin/TableColumnSetting/index.less +247 -247
  219. package/src/plugin/TableColumnSetting/index.md +50 -50
  220. package/src/plugin/TableColumnSetting/index.tsx +726 -724
  221. package/src/plugin/TableColumnSetting/utils.ts +19 -19
  222. package/src/styles/bsDefault.less +1890 -1912
  223. package/src/utils/CheckOneUser/index.md +39 -39
  224. package/src/utils/CheckOneUser/index.ts +51 -51
  225. package/src/utils/LocalstorageUtils.ts +114 -95
  226. package/src/utils/TableUtils.tsx +18 -18
  227. package/src/utils/checkUtils.ts +39 -39
  228. package/src/utils/enumConfig.ts +11 -11
  229. package/src/utils/getFormMode.js +12 -12
  230. package/src/utils/index.ts +4 -4
  231. package/src/utils/requestUtils.ts +42 -34
  232. package/src/utils/serialize.js +7 -7
  233. package/src/utils/utils.ts +212 -212
  234. package/tsconfig.json +29 -29
  235. package/typings.d.ts +4 -4
@@ -1,11 +1,11 @@
1
- import axios from 'axios';
2
-
3
- export async function outLogin(params: any) {
4
-
5
- let res = await axios({
6
- url: '/user/web/loginOut',
7
- method: 'GET',
8
- })
9
-
10
- return res;
1
+ import axios from 'axios';
2
+
3
+ export async function outLogin(params: any) {
4
+
5
+ let res = await axios({
6
+ url: '/user/web/loginOut',
7
+ method: 'GET',
8
+ })
9
+
10
+ return res;
11
11
  }
@@ -1,203 +1,203 @@
1
- // @ts-nocheck
2
- import cloneDeep from 'lodash/cloneDeep';
3
- import memoizeOne from 'memoize-one';
4
- import ENUM from '@/utils/enumConfig';
5
- import { history } from 'umi';
6
-
7
- const cache = {};
8
- const cacheLimit = 10000;
9
- let cacheCount = 0;
10
-
11
- function compilePath(path, options, pathToRegexp) {
12
- const cacheKey = `${options.end}${options.strict}${options.sensitive}`;
13
- const pathCache = cache[cacheKey] || (cache[cacheKey] = {});
14
-
15
- if (pathCache[path]) return pathCache[path];
16
-
17
- const keys = [];
18
- const regexp = pathToRegexp(path, keys, options);
19
- const result = { regexp, keys };
20
-
21
- if (cacheCount < cacheLimit) {
22
- pathCache[path] = result;
23
- // eslint-disable-next-line no-plusplus
24
- cacheCount++;
25
- }
26
-
27
- return result;
28
- }
29
-
30
- /**
31
- * Public API for matching a URL pathname to a path.
32
- */
33
- export const matchPath = (pathname, options = {}, pathToRegexp) => {
34
- if (typeof options === 'string' || Array.isArray(options)) {
35
- // eslint-disable-next-line no-param-reassign
36
- options = { path: options };
37
- }
38
-
39
- const { path, exact = false, strict = false, sensitive = false } = options;
40
-
41
- const paths = [].concat(path);
42
-
43
- // eslint-disable-next-line no-shadow
44
- return paths.reduce((matched, path) => {
45
- if (!path && path !== '') return null;
46
- if (matched) return matched;
47
-
48
- const { regexp, keys } = compilePath(path, {
49
- end: exact,
50
- strict,
51
- sensitive,
52
- }, pathToRegexp);
53
- const match = regexp.exec(pathname);
54
-
55
- if (!match) return null;
56
-
57
- const [url, ...values] = match;
58
- const isExact = pathname === url;
59
-
60
- if (exact && !isExact) return null;
61
-
62
- return {
63
- path, // the path used to match
64
- url: path === '/' && url === '' ? '/' : url, // the matched portion of the URL
65
- isExact, // whether or not we matched exactly
66
- params: keys.reduce((memo, key, index) => {
67
- // eslint-disable-next-line no-param-reassign
68
- memo[key.name] = values[index];
69
- return memo;
70
- }, {}),
71
- };
72
- }, null);
73
- }
74
-
75
-
76
- export const searchMenuData = (router: any, name?: any, callBack) => {
77
- if (!name) {
78
- callBack([]);
79
- return;
80
- }
81
- const btnAuth = JSON.parse(
82
- localStorage.getItem(ENUM.BROWSER_CACHE.MAIN_AUTH_CODES) || '[]',
83
- );
84
- const resultList: any = [];
85
- const newRouter = cloneDeep(router);
86
- const deep = (router: any) => {
87
- if (router && Array.isArray(router)) {
88
- router.forEach((item) => {
89
- if (item.children && Array.isArray(item.children)) {
90
- deep(item.children);
91
- } else if (
92
- !item.hideInMenu &&
93
- (name ? item.name.indexOf(name) !== -1 : true) &&
94
- btnAuth.find((d: any) => d === item.code)
95
- ) {
96
- resultList.push({
97
- ...item,
98
- });
99
- }
100
- });
101
- // } else if ((name ? router.name.indexOf(name) !== -1 : true) && btnAuth.find((d: any) => d.code === router.code)) {
102
- } else if (
103
- (name ? router.name.indexOf(name) !== -1 : true) &&
104
- btnAuth.find((d: any) => d === router.code)
105
- ) {
106
- resultList.push({
107
- ...router,
108
- });
109
- }
110
- };
111
- deep(newRouter);
112
- callBack([...resultList]);
113
- };
114
-
115
- export const setMenuTreeData = (routesData: Array<any>) => {
116
- const authButton = localStorage.getItem(ENUM.BROWSER_CACHE.MAIN_AUTH_CODES)
117
- ? JSON.parse(localStorage.getItem(ENUM.BROWSER_CACHE.MAIN_AUTH_CODES) as string)
118
- : [];
119
- for (let i = routesData.length - 1; i >= 0; i--) {
120
- if (routesData[i].hideInMenu) {
121
- routesData.splice(i, 1);
122
- continue;
123
- }
124
- if (
125
- routesData[i].code &&
126
- authButton.every((item) => {
127
- return routesData[i].code != item;
128
- })
129
- ) {
130
- routesData.splice(i, 1);
131
- continue;
132
- }
133
- if (routesData[i].children) {
134
- setMenuTreeData(routesData[i].children);
135
- }
136
- }
137
- };
138
-
139
- export const setLoginOutPath = () => {
140
- if (window.__POWERED_BY_WUJIE__) {
141
- window.$wujie?.props.goToLogin();
142
- } else {
143
- history.push({
144
- pathname: '/user/login'
145
- })
146
- }
147
- };
148
-
149
- export const getBreadcrumbNameMap = (menuData) => {
150
- const routerMap = {};
151
-
152
- const flattenMenuData = (data) => {
153
- data.forEach((menuItem) => {
154
- if (menuItem.children) {
155
- flattenMenuData(menuItem.children);
156
- }
157
- // Reduce memory usage
158
- routerMap[menuItem.path] = menuItem;
159
- });
160
- };
161
- flattenMenuData(menuData);
162
- return routerMap;
163
- };
164
-
165
- export const ergodicMenuRoutes = (routes) => {
166
- const codeArray = [];
167
-
168
- function ergodicRoutes(routesParam) {
169
- routesParam.forEach((element) => {
170
- // element.code &&
171
- if (element.hideInMenu) {
172
- codeArray.push(element);
173
- }
174
- if (element.routes) {
175
- ergodicRoutes(element.routes);
176
- }
177
- });
178
- }
179
-
180
- ergodicRoutes(routes);
181
-
182
- return codeArray;
183
- };
184
-
185
- export const encodeUrlQuery = (pathStr: any) => {
186
- let newPathStr='';
187
- if (pathStr.indexOf('#') > -1) {
188
- let index = pathStr.indexOf('?');
189
- let str1 = pathStr.substr(0, index+1);
190
- let str2 = pathStr.substr(index+1, pathStr.length - index -1);
191
- let queryArr = str2.split('&');
192
- let newArr = queryArr.map(item => {
193
- let index = item.indexOf('=');
194
- let s1 = item.substr(0, index);
195
- let s2 = item.substr(index+1, item.length - index -1);
196
- return `${s1}=${encodeURIComponent(s2)}`;
197
- })
198
- newPathStr = `${str1}${newArr.join('&')}`;
199
- } else {
200
- newPathStr = pathStr;
201
- }
202
- return newPathStr;
203
- }
1
+ // @ts-nocheck
2
+ import cloneDeep from 'lodash/cloneDeep';
3
+ import memoizeOne from 'memoize-one';
4
+ import ENUM from '@/utils/enumConfig';
5
+ import { history } from 'umi';
6
+
7
+ const cache = {};
8
+ const cacheLimit = 10000;
9
+ let cacheCount = 0;
10
+
11
+ function compilePath(path, options, pathToRegexp) {
12
+ const cacheKey = `${options.end}${options.strict}${options.sensitive}`;
13
+ const pathCache = cache[cacheKey] || (cache[cacheKey] = {});
14
+
15
+ if (pathCache[path]) return pathCache[path];
16
+
17
+ const keys = [];
18
+ const regexp = pathToRegexp(path, keys, options);
19
+ const result = { regexp, keys };
20
+
21
+ if (cacheCount < cacheLimit) {
22
+ pathCache[path] = result;
23
+ // eslint-disable-next-line no-plusplus
24
+ cacheCount++;
25
+ }
26
+
27
+ return result;
28
+ }
29
+
30
+ /**
31
+ * Public API for matching a URL pathname to a path.
32
+ */
33
+ export const matchPath = (pathname, options = {}, pathToRegexp) => {
34
+ if (typeof options === 'string' || Array.isArray(options)) {
35
+ // eslint-disable-next-line no-param-reassign
36
+ options = { path: options };
37
+ }
38
+
39
+ const { path, exact = false, strict = false, sensitive = false } = options;
40
+
41
+ const paths = [].concat(path);
42
+
43
+ // eslint-disable-next-line no-shadow
44
+ return paths.reduce((matched, path) => {
45
+ if (!path && path !== '') return null;
46
+ if (matched) return matched;
47
+
48
+ const { regexp, keys } = compilePath(path, {
49
+ end: exact,
50
+ strict,
51
+ sensitive,
52
+ }, pathToRegexp);
53
+ const match = regexp.exec(pathname);
54
+
55
+ if (!match) return null;
56
+
57
+ const [url, ...values] = match;
58
+ const isExact = pathname === url;
59
+
60
+ if (exact && !isExact) return null;
61
+
62
+ return {
63
+ path, // the path used to match
64
+ url: path === '/' && url === '' ? '/' : url, // the matched portion of the URL
65
+ isExact, // whether or not we matched exactly
66
+ params: keys.reduce((memo, key, index) => {
67
+ // eslint-disable-next-line no-param-reassign
68
+ memo[key.name] = values[index];
69
+ return memo;
70
+ }, {}),
71
+ };
72
+ }, null);
73
+ }
74
+
75
+
76
+ export const searchMenuData = (router: any, name?: any, callBack) => {
77
+ if (!name) {
78
+ callBack([]);
79
+ return;
80
+ }
81
+ const btnAuth = JSON.parse(
82
+ localStorage.getItem(ENUM.BROWSER_CACHE.MAIN_AUTH_CODES) || '[]',
83
+ );
84
+ const resultList: any = [];
85
+ const newRouter = cloneDeep(router);
86
+ const deep = (router: any) => {
87
+ if (router && Array.isArray(router)) {
88
+ router.forEach((item) => {
89
+ if (item.children && Array.isArray(item.children)) {
90
+ deep(item.children);
91
+ } else if (
92
+ !item.hideInMenu &&
93
+ (name ? item.name.indexOf(name) !== -1 : true) &&
94
+ btnAuth.find((d: any) => d === item.code)
95
+ ) {
96
+ resultList.push({
97
+ ...item,
98
+ });
99
+ }
100
+ });
101
+ // } else if ((name ? router.name.indexOf(name) !== -1 : true) && btnAuth.find((d: any) => d.code === router.code)) {
102
+ } else if (
103
+ (name ? router.name.indexOf(name) !== -1 : true) &&
104
+ btnAuth.find((d: any) => d === router.code)
105
+ ) {
106
+ resultList.push({
107
+ ...router,
108
+ });
109
+ }
110
+ };
111
+ deep(newRouter);
112
+ callBack([...resultList]);
113
+ };
114
+
115
+ export const setMenuTreeData = (routesData: Array<any>) => {
116
+ const authButton = localStorage.getItem(ENUM.BROWSER_CACHE.MAIN_AUTH_CODES)
117
+ ? JSON.parse(localStorage.getItem(ENUM.BROWSER_CACHE.MAIN_AUTH_CODES) as string)
118
+ : [];
119
+ for (let i = routesData.length - 1; i >= 0; i--) {
120
+ if (routesData[i].hideInMenu) {
121
+ routesData.splice(i, 1);
122
+ continue;
123
+ }
124
+ if (
125
+ routesData[i].code &&
126
+ authButton.every((item) => {
127
+ return routesData[i].code != item;
128
+ })
129
+ ) {
130
+ routesData.splice(i, 1);
131
+ continue;
132
+ }
133
+ if (routesData[i].children) {
134
+ setMenuTreeData(routesData[i].children);
135
+ }
136
+ }
137
+ };
138
+
139
+ export const setLoginOutPath = () => {
140
+ if (window.__POWERED_BY_WUJIE__) {
141
+ window.$wujie?.props.goToLogin();
142
+ } else {
143
+ history.push({
144
+ pathname: '/user/login'
145
+ })
146
+ }
147
+ };
148
+
149
+ export const getBreadcrumbNameMap = (menuData) => {
150
+ const routerMap = {};
151
+
152
+ const flattenMenuData = (data) => {
153
+ data.forEach((menuItem) => {
154
+ if (menuItem.children) {
155
+ flattenMenuData(menuItem.children);
156
+ }
157
+ // Reduce memory usage
158
+ routerMap[menuItem.path] = menuItem;
159
+ });
160
+ };
161
+ flattenMenuData(menuData);
162
+ return routerMap;
163
+ };
164
+
165
+ export const ergodicMenuRoutes = (routes) => {
166
+ const codeArray = [];
167
+
168
+ function ergodicRoutes(routesParam) {
169
+ routesParam.forEach((element) => {
170
+ // element.code &&
171
+ if (element.hideInMenu) {
172
+ codeArray.push(element);
173
+ }
174
+ if (element.routes) {
175
+ ergodicRoutes(element.routes);
176
+ }
177
+ });
178
+ }
179
+
180
+ ergodicRoutes(routes);
181
+
182
+ return codeArray;
183
+ };
184
+
185
+ export const encodeUrlQuery = (pathStr: any) => {
186
+ let newPathStr='';
187
+ if (pathStr.indexOf('#') > -1) {
188
+ let index = pathStr.indexOf('?');
189
+ let str1 = pathStr.substr(0, index+1);
190
+ let str2 = pathStr.substr(index+1, pathStr.length - index -1);
191
+ let queryArr = str2.split('&');
192
+ let newArr = queryArr.map(item => {
193
+ let index = item.indexOf('=');
194
+ let s1 = item.substr(0, index);
195
+ let s2 = item.substr(index+1, item.length - index -1);
196
+ return `${s1}=${encodeURIComponent(s2)}`;
197
+ })
198
+ newPathStr = `${str1}${newArr.join('&')}`;
199
+ } else {
200
+ newPathStr = pathStr;
201
+ }
202
+ return newPathStr;
203
+ }