Yansen 9 月之前
父節點
當前提交
9b367cf868
共有 73 個檔案被更改,包括 19190 行新增0 行删除
  1. 9
    0
      src/.umi-production/core/EmptyRoute.tsx
  2. 19
    0
      src/.umi-production/core/defineApp.ts
  3. 61
    0
      src/.umi-production/core/history.ts
  4. 57
    0
      src/.umi-production/core/plugin.ts
  5. 314
    0
      src/.umi-production/core/pluginConfig.d.ts
  6. 359
    0
      src/.umi-production/core/polyfill.ts
  7. 32
    0
      src/.umi-production/core/route.tsx
  8. 38
    0
      src/.umi-production/core/terminal.ts
  9. 18
    0
      src/.umi-production/exports.ts
  10. 5
    0
      src/.umi-production/plugin-access/context.ts
  11. 67
    0
      src/.umi-production/plugin-access/index.tsx
  12. 23
    0
      src/.umi-production/plugin-access/runtime.tsx
  13. 50
    0
      src/.umi-production/plugin-initialState/@@initialState.ts
  14. 19
    0
      src/.umi-production/plugin-initialState/Provider.tsx
  15. 8
    0
      src/.umi-production/plugin-initialState/runtime.tsx
  16. 5
    0
      src/.umi-production/plugin-initialState/runtimeConfig.d.ts
  17. 37
    0
      src/.umi-production/plugin-layout/Exception.tsx
  18. 52
    0
      src/.umi-production/plugin-layout/Layout.less
  19. 173
    0
      src/.umi-production/plugin-layout/Layout.tsx
  20. 94
    0
      src/.umi-production/plugin-layout/Logo.tsx
  21. 12
    0
      src/.umi-production/plugin-layout/icons.tsx
  22. 4
    0
      src/.umi-production/plugin-layout/index.ts
  23. 70
    0
      src/.umi-production/plugin-layout/rightRender.tsx
  24. 25
    0
      src/.umi-production/plugin-layout/runtime.tsx
  25. 6
    0
      src/.umi-production/plugin-layout/runtimeConfig.d.ts
  26. 34
    0
      src/.umi-production/plugin-layout/types.d.ts
  27. 181
    0
      src/.umi-production/plugin-model/index.tsx
  28. 8
    0
      src/.umi-production/plugin-model/model.ts
  29. 20
    0
      src/.umi-production/plugin-model/runtime.tsx
  30. 9
    0
      src/.umi-production/plugin-request/index.ts
  31. 265
    0
      src/.umi-production/plugin-request/request.ts
  32. 6
    0
      src/.umi-production/plugin-request/runtimeConfig.d.ts
  33. 10
    0
      src/.umi-production/plugin-request/types.d.ts
  34. 35
    0
      src/.umi-production/tsconfig.json
  35. 136
    0
      src/.umi-production/typings.d.ts
  36. 62
    0
      src/.umi-production/umi.ts
  37. 9
    0
      src/.umi/core/EmptyRoute.tsx
  38. 19
    0
      src/.umi/core/defineApp.ts
  39. 61
    0
      src/.umi/core/history.ts
  40. 57
    0
      src/.umi/core/plugin.ts
  41. 314
    0
      src/.umi/core/pluginConfig.d.ts
  42. 359
    0
      src/.umi/core/polyfill.ts
  43. 36
    0
      src/.umi/core/route.tsx
  44. 38
    0
      src/.umi/core/terminal.ts
  45. 18
    0
      src/.umi/exports.ts
  46. 5
    0
      src/.umi/plugin-access/context.ts
  47. 67
    0
      src/.umi/plugin-access/index.tsx
  48. 23
    0
      src/.umi/plugin-access/runtime.tsx
  49. 50
    0
      src/.umi/plugin-initialState/@@initialState.ts
  50. 19
    0
      src/.umi/plugin-initialState/Provider.tsx
  51. 8
    0
      src/.umi/plugin-initialState/runtime.tsx
  52. 5
    0
      src/.umi/plugin-initialState/runtimeConfig.d.ts
  53. 37
    0
      src/.umi/plugin-layout/Exception.tsx
  54. 52
    0
      src/.umi/plugin-layout/Layout.less
  55. 173
    0
      src/.umi/plugin-layout/Layout.tsx
  56. 94
    0
      src/.umi/plugin-layout/Logo.tsx
  57. 12
    0
      src/.umi/plugin-layout/icons.tsx
  58. 4
    0
      src/.umi/plugin-layout/index.ts
  59. 70
    0
      src/.umi/plugin-layout/rightRender.tsx
  60. 25
    0
      src/.umi/plugin-layout/runtime.tsx
  61. 6
    0
      src/.umi/plugin-layout/runtimeConfig.d.ts
  62. 34
    0
      src/.umi/plugin-layout/types.d.ts
  63. 181
    0
      src/.umi/plugin-model/index.tsx
  64. 8
    0
      src/.umi/plugin-model/model.ts
  65. 20
    0
      src/.umi/plugin-model/runtime.tsx
  66. 9
    0
      src/.umi/plugin-request/index.ts
  67. 265
    0
      src/.umi/plugin-request/request.ts
  68. 6
    0
      src/.umi/plugin-request/runtimeConfig.d.ts
  69. 10
    0
      src/.umi/plugin-request/types.d.ts
  70. 35
    0
      src/.umi/tsconfig.json
  71. 136
    0
      src/.umi/typings.d.ts
  72. 62
    0
      src/.umi/umi.ts
  73. 14540
    0
      yarn.lock

+ 9
- 0
src/.umi-production/core/EmptyRoute.tsx 查看文件

@@ -0,0 +1,9 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import React from 'react';
5
+import { Outlet, useOutletContext } from 'umi';
6
+export default function EmptyRoute() {
7
+  const context = useOutletContext();
8
+  return <Outlet context={context} />;
9
+}

+ 19
- 0
src/.umi-production/core/defineApp.ts 查看文件

@@ -0,0 +1,19 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import type { IRuntimeConfig as Plugin0 } from 'E:/work/jgz/admin/src/.umi-production/plugin-initialState/runtimeConfig.d'
5
+import type { IRuntimeConfig as Plugin1 } from 'E:/work/jgz/admin/src/.umi-production/plugin-layout/runtimeConfig.d'
6
+import type { IRuntimeConfig as Plugin2 } from 'E:/work/jgz/admin/src/.umi-production/plugin-request/runtimeConfig.d'
7
+interface IDefaultRuntimeConfig {
8
+  onRouteChange?: (props: { routes: any, clientRoutes: any, location: any, action:any }) => void;
9
+  patchRoutes?: (props: { routes: any }) => void;
10
+  patchClientRoutes?: (props: { routes: any }) => void;
11
+  render?: (oldRender: () => void) => void;
12
+  rootContainer?: (lastRootContainer: JSX.Element, args?: any) => void;
13
+  [key: string]: any;
14
+}
15
+export type RuntimeConfig = IDefaultRuntimeConfig & Plugin0 & Plugin1 & Plugin2
16
+
17
+export function defineApp(config: RuntimeConfig): RuntimeConfig {
18
+  return config;
19
+}

+ 61
- 0
src/.umi-production/core/history.ts 查看文件

@@ -0,0 +1,61 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import { createHashHistory, createMemoryHistory, createBrowserHistory, History } from 'E:/work/jgz/admin/node_modules/@umijs/preset-umi/node_modules/@umijs/renderer-react';
5
+
6
+let history: History;
7
+let basename: string = '/';
8
+export function createHistory(opts: any) {
9
+  let h;
10
+  if (opts.type === 'hash') {
11
+    h = createHashHistory();
12
+  } else if (opts.type === 'memory') {
13
+    h = createMemoryHistory(opts);
14
+  } else {
15
+    h = createBrowserHistory();
16
+  }
17
+  if (opts.basename) {
18
+    basename = opts.basename;
19
+  }
20
+
21
+  history = {
22
+    ...h,
23
+    push(to, state) {
24
+      h.push(patchTo(to), state);
25
+    },
26
+    replace(to, state) {
27
+      h.replace(patchTo(to), state);
28
+    },
29
+    get location() {
30
+      return h.location;
31
+    },
32
+    get action() {
33
+      return h.action;
34
+    }
35
+  }
36
+
37
+  return h;
38
+}
39
+
40
+// Patch `to` to support basename
41
+// Refs:
42
+// https://github.com/remix-run/history/blob/3e9dab4/packages/history/index.ts#L484
43
+// https://github.com/remix-run/history/blob/dev/docs/api-reference.md#to
44
+function patchTo(to: any) {
45
+  if (typeof to === 'string') {
46
+    return `${stripLastSlash(basename)}${to}`;
47
+  } else if (typeof to === 'object' && to.pathname) {
48
+    return {
49
+      ...to,
50
+      pathname: `${stripLastSlash(basename)}${to.pathname}`,
51
+    };
52
+  } else {
53
+    throw new Error(`Unexpected to: ${to}`);
54
+  }
55
+}
56
+
57
+function stripLastSlash(path) {
58
+  return path.slice(-1) === '/' ? path.slice(0, -1) : path;
59
+}
60
+
61
+export { history };

+ 57
- 0
src/.umi-production/core/plugin.ts 查看文件

@@ -0,0 +1,57 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import * as Plugin_0 from 'E:/work/jgz/admin/src/app.jsx';
5
+import * as Plugin_1 from 'E:/work/jgz/admin/src/.umi-production/plugin-access/runtime.tsx';
6
+import * as Plugin_2 from 'E:/work/jgz/admin/src/.umi-production/plugin-initialState/runtime.tsx';
7
+import * as Plugin_3 from 'E:/work/jgz/admin/src/.umi-production/plugin-layout/runtime.tsx';
8
+import * as Plugin_4 from 'E:/work/jgz/admin/src/.umi-production/plugin-model/runtime.tsx';
9
+import { PluginManager } from 'umi';
10
+
11
+function __defaultExport (obj) {
12
+  if (obj.default) {
13
+    return typeof obj.default === 'function' ? obj.default() :  obj.default
14
+  }
15
+  return obj;
16
+}
17
+export function getPlugins() {
18
+  return [
19
+    {
20
+      apply: __defaultExport(Plugin_0),
21
+      path: process.env.NODE_ENV === 'production' ? void 0 : 'E:/work/jgz/admin/src/app.jsx',
22
+    },
23
+    {
24
+      apply: Plugin_1,
25
+      path: process.env.NODE_ENV === 'production' ? void 0 : 'E:/work/jgz/admin/src/.umi-production/plugin-access/runtime.tsx',
26
+    },
27
+    {
28
+      apply: Plugin_2,
29
+      path: process.env.NODE_ENV === 'production' ? void 0 : 'E:/work/jgz/admin/src/.umi-production/plugin-initialState/runtime.tsx',
30
+    },
31
+    {
32
+      apply: Plugin_3,
33
+      path: process.env.NODE_ENV === 'production' ? void 0 : 'E:/work/jgz/admin/src/.umi-production/plugin-layout/runtime.tsx',
34
+    },
35
+    {
36
+      apply: Plugin_4,
37
+      path: process.env.NODE_ENV === 'production' ? void 0 : 'E:/work/jgz/admin/src/.umi-production/plugin-model/runtime.tsx',
38
+    },
39
+  ];
40
+}
41
+
42
+export function getValidKeys() {
43
+  return ['patchRoutes','patchClientRoutes','modifyContextOpts','rootContainer','innerProvider','i18nProvider','accessProvider','dataflowProvider','outerProvider','render','onRouteChange','getInitialState','layout','qiankun','request',];
44
+}
45
+
46
+let pluginManager = null;
47
+export function createPluginManager() {
48
+  pluginManager = PluginManager.create({
49
+    plugins: getPlugins(),
50
+    validKeys: getValidKeys(),
51
+  });
52
+  return pluginManager;
53
+}
54
+
55
+export function getPluginManager() {
56
+  return pluginManager;
57
+}

+ 314
- 0
src/.umi-production/core/pluginConfig.d.ts 查看文件

@@ -0,0 +1,314 @@
1
+// This file is generated by Umi automatically
2
+// DO NOT CHANGE IT MANUALLY!
3
+// Created by Umi Plugin
4
+
5
+export interface IConfigFromPlugins {
6
+clientLoader?: {
7
+
8
+}
9
+title?: string
10
+styles?: any[]
11
+scripts?: any[]
12
+routes?: {
13
+
14
+}[]
15
+reactRouter5Compat?: {
16
+
17
+}
18
+presets?: string[]
19
+plugins?: string[]
20
+npmClient?: ("pnpm" | "tnpm" | "cnpm" | "yarn" | "npm")
21
+mountElementId?: string
22
+metas?: any[]
23
+links?: any[]
24
+historyWithQuery?: {
25
+
26
+}
27
+history?: {
28
+type?: ("browser" | "hash" | "memory")
29
+}
30
+headScripts?: any[]
31
+conventionRoutes?: {
32
+base?: string
33
+exclude?: any[]
34
+}
35
+base?: string
36
+writeToDisk?: boolean
37
+theme?: {
38
+
39
+}
40
+targets?: {
41
+
42
+}
43
+svgr?: {
44
+
45
+}
46
+svgo?: ({
47
+
48
+} | boolean)
49
+styleLoader?: {
50
+
51
+}
52
+srcTranspiler?: ("babel" | "esbuild" | "swc" | "none")
53
+sassLoader?: {
54
+
55
+}
56
+runtimePublicPath?: {
57
+
58
+}
59
+purgeCSS?: {
60
+
61
+}
62
+publicPath?: string
63
+proxy?: ({
64
+
65
+} | any[])
66
+postcssLoader?: {
67
+
68
+}
69
+outputPath?: string
70
+mfsu?: ({
71
+cacheDirectory?: string
72
+chainWebpack?: (() => any)
73
+esbuild?: boolean
74
+exclude?: any[]
75
+include?: string[]
76
+mfName?: string
77
+remoteAliases?: string[]
78
+remoteName?: string
79
+runtimePublicPath?: boolean
80
+shared?: {
81
+
82
+}
83
+strategy?: ("eager" | "normal")
84
+} | boolean)
85
+mdx?: {
86
+loader?: string
87
+loaderOptions?: {
88
+
89
+}
90
+}
91
+manifest?: {
92
+
93
+}
94
+lessLoader?: {
95
+
96
+}
97
+jsMinifierOptions?: {
98
+
99
+}
100
+jsMinifier?: ("esbuild" | "swc" | "terser" | "uglifyJs" | "none")
101
+inlineLimit?: number
102
+ignoreMomentLocale?: boolean
103
+https?: {
104
+
105
+}
106
+hash?: boolean
107
+forkTSChecker?: {
108
+
109
+}
110
+fastRefresh?: boolean
111
+extraPostCSSPlugins?: any[]
112
+extraBabelPresets?: any[]
113
+extraBabelPlugins?: any[]
114
+extraBabelIncludes?: any[]
115
+externals?: ({
116
+
117
+} | string | (() => any))
118
+esm?: {
119
+
120
+}
121
+devtool?: (string | boolean)
122
+depTranspiler?: ("babel" | "esbuild" | "swc" | "none")
123
+define?: {
124
+
125
+}
126
+deadCode?: {
127
+
128
+}
129
+cssMinifierOptions?: {
130
+
131
+}
132
+cssMinifier?: ("cssnano" | "esbuild" | "parcelCSS" | "none")
133
+cssLoaderModules?: {
134
+
135
+}
136
+cssLoader?: {
137
+
138
+}
139
+copy?: any[]
140
+chainWebpack?: (() => any)
141
+cacheDirectoryPath?: string
142
+babelLoaderCustomize?: string
143
+autoprefixer?: {
144
+
145
+}
146
+autoCSSModules?: boolean
147
+alias?: {
148
+
149
+}
150
+crossorigin?: (boolean | {
151
+include?: {
152
+
153
+}[]
154
+})
155
+esmi?: {
156
+cdnOrigin?: string
157
+shimUrl?: string
158
+}
159
+favicons?: string[]
160
+mock?: {
161
+exclude?: string[]
162
+include?: string[]
163
+}
164
+mpa?: {
165
+template?: string
166
+getConfigFromEntryFile?: boolean
167
+}
168
+polyfill?: {
169
+imports?: string[]
170
+}
171
+routePrefetch?: {
172
+
173
+}
174
+ssr?: {
175
+serverBuildPath?: string
176
+platform?: string
177
+}
178
+terminal?: {
179
+
180
+}
181
+tmpFiles?: boolean
182
+lowImport?: {
183
+libs?: any[]
184
+css?: string
185
+}
186
+vite?: {
187
+
188
+}
189
+apiRoute?: {
190
+platform?: string
191
+}
192
+monorepoRedirect?: (boolean | {
193
+srcDir?: string[]
194
+exclude?: {
195
+
196
+}[]
197
+})
198
+clickToComponent?: {
199
+editor?: string
200
+}
201
+legacy?: {
202
+buildOnly?: boolean
203
+nodeModulesTransform?: boolean
204
+}
205
+verifyCommit?: {
206
+scope?: string[]
207
+allowEmoji?: boolean
208
+}
209
+run?: {
210
+globals?: string[]
211
+}
212
+access?: ({
213
+
214
+} | boolean)
215
+analytics?: ({
216
+
217
+} | boolean)
218
+antd?: ({
219
+configProvider?: {
220
+
221
+}
222
+dark?: boolean
223
+compact?: boolean
224
+import?: boolean
225
+style?: ("less" | "css")
226
+} | boolean)
227
+dva?: ({
228
+extraModels?: string[]
229
+immer?: {
230
+
231
+}
232
+} | boolean)
233
+initialState?: ({
234
+loading?: string
235
+} | boolean)
236
+layout?: ({
237
+
238
+} | boolean)
239
+locale?: ({
240
+default?: string
241
+useLocalStorage?: boolean
242
+baseNavigator?: boolean
243
+title?: boolean
244
+antd?: boolean
245
+baseSeparator?: string
246
+} | boolean)
247
+mf?: {
248
+name?: string
249
+remotes?: {
250
+aliasName?: string
251
+name?: string
252
+entry?: string
253
+entries?: {
254
+
255
+}
256
+keyResolver?: string
257
+}[]
258
+shared?: {
259
+
260
+}
261
+library?: {
262
+
263
+}
264
+}
265
+model?: ({
266
+extraModels?: string[]
267
+} | boolean)
268
+moment2dayjs?: ({
269
+preset?: string
270
+plugins?: any[]
271
+} | boolean)
272
+qiankun?: ({
273
+slave?: {
274
+
275
+}
276
+master?: {
277
+
278
+}
279
+externalQiankun?: boolean
280
+} | boolean)
281
+request?: ({
282
+dataField?: ""
283
+} | boolean)
284
+tailwindcss?: ({
285
+
286
+} | boolean)
287
+openAPI?: ({
288
+requestLibPath?: string
289
+schemaPath?: string
290
+mock?: boolean
291
+projectName?: string
292
+apiPrefix?: (string | (() => any))
293
+namespace?: string
294
+hook?: {
295
+customFunctionName?: (() => any)
296
+customClassName?: (() => any)
297
+}
298
+}[] | {
299
+requestLibPath?: string
300
+schemaPath?: string
301
+mock?: boolean
302
+projectName?: string
303
+apiPrefix?: (string | (() => any))
304
+namespace?: string
305
+hook?: {
306
+customFunctionName?: (() => any)
307
+customClassName?: (() => any)
308
+}
309
+})
310
+keepalive?: any[]
311
+tabsLayout?: (boolean | {
312
+hasCustomTabs?: boolean
313
+})
314
+}

+ 359
- 0
src/.umi-production/core/polyfill.ts 查看文件

@@ -0,0 +1,359 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.symbol.js";
5
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.symbol.description.js";
6
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.symbol.async-iterator.js";
7
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.symbol.has-instance.js";
8
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.symbol.is-concat-spreadable.js";
9
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.symbol.iterator.js";
10
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.symbol.match.js";
11
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.symbol.match-all.js";
12
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.symbol.replace.js";
13
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.symbol.search.js";
14
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.symbol.species.js";
15
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.symbol.split.js";
16
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.symbol.to-primitive.js";
17
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.symbol.to-string-tag.js";
18
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.symbol.unscopables.js";
19
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.error.cause.js";
20
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.aggregate-error.js";
21
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.aggregate-error.cause.js";
22
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.array.at.js";
23
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.array.concat.js";
24
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.array.copy-within.js";
25
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.array.fill.js";
26
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.array.filter.js";
27
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.array.find.js";
28
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.array.find-index.js";
29
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.array.flat.js";
30
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.array.flat-map.js";
31
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.array.from.js";
32
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.array.includes.js";
33
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.array.iterator.js";
34
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.array.join.js";
35
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.array.map.js";
36
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.array.of.js";
37
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.array.slice.js";
38
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.array.sort.js";
39
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.array.species.js";
40
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.array.splice.js";
41
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.array.unscopables.flat.js";
42
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.array.unscopables.flat-map.js";
43
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.array-buffer.constructor.js";
44
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.date.to-primitive.js";
45
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.function.has-instance.js";
46
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.function.name.js";
47
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.global-this.js";
48
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.json.stringify.js";
49
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.json.to-string-tag.js";
50
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.map.js";
51
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.math.acosh.js";
52
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.math.asinh.js";
53
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.math.atanh.js";
54
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.math.cbrt.js";
55
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.math.clz32.js";
56
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.math.cosh.js";
57
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.math.expm1.js";
58
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.math.fround.js";
59
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.math.hypot.js";
60
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.math.imul.js";
61
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.math.log10.js";
62
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.math.log1p.js";
63
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.math.log2.js";
64
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.math.sign.js";
65
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.math.sinh.js";
66
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.math.tanh.js";
67
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.math.to-string-tag.js";
68
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.math.trunc.js";
69
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.number.constructor.js";
70
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.number.epsilon.js";
71
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.number.is-finite.js";
72
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.number.is-integer.js";
73
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.number.is-nan.js";
74
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.number.is-safe-integer.js";
75
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.number.max-safe-integer.js";
76
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.number.min-safe-integer.js";
77
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.number.parse-float.js";
78
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.number.parse-int.js";
79
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.number.to-exponential.js";
80
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.number.to-fixed.js";
81
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.object.assign.js";
82
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.object.define-getter.js";
83
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.object.define-setter.js";
84
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.object.entries.js";
85
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.object.freeze.js";
86
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.object.from-entries.js";
87
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.object.get-own-property-descriptor.js";
88
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.object.get-own-property-descriptors.js";
89
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.object.get-own-property-names.js";
90
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.object.get-prototype-of.js";
91
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.object.has-own.js";
92
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.object.is.js";
93
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.object.is-extensible.js";
94
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.object.is-frozen.js";
95
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.object.is-sealed.js";
96
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.object.keys.js";
97
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.object.lookup-getter.js";
98
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.object.lookup-setter.js";
99
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.object.prevent-extensions.js";
100
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.object.seal.js";
101
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.object.to-string.js";
102
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.object.values.js";
103
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.promise.js";
104
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.promise.all-settled.js";
105
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.promise.any.js";
106
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.promise.finally.js";
107
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.reflect.apply.js";
108
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.reflect.construct.js";
109
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.reflect.define-property.js";
110
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.reflect.delete-property.js";
111
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.reflect.get.js";
112
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.reflect.get-own-property-descriptor.js";
113
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.reflect.get-prototype-of.js";
114
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.reflect.has.js";
115
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.reflect.is-extensible.js";
116
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.reflect.own-keys.js";
117
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.reflect.prevent-extensions.js";
118
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.reflect.set.js";
119
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.reflect.set-prototype-of.js";
120
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.reflect.to-string-tag.js";
121
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.regexp.constructor.js";
122
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.regexp.dot-all.js";
123
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.regexp.exec.js";
124
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.regexp.flags.js";
125
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.regexp.sticky.js";
126
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.regexp.test.js";
127
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.regexp.to-string.js";
128
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.set.js";
129
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.at-alternative.js";
130
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.code-point-at.js";
131
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.ends-with.js";
132
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.from-code-point.js";
133
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.includes.js";
134
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.iterator.js";
135
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.match.js";
136
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.match-all.js";
137
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.pad-end.js";
138
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.pad-start.js";
139
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.raw.js";
140
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.repeat.js";
141
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.replace.js";
142
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.replace-all.js";
143
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.search.js";
144
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.split.js";
145
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.starts-with.js";
146
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.trim.js";
147
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.trim-end.js";
148
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.trim-start.js";
149
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.anchor.js";
150
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.big.js";
151
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.blink.js";
152
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.bold.js";
153
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.fixed.js";
154
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.fontcolor.js";
155
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.fontsize.js";
156
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.italics.js";
157
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.link.js";
158
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.small.js";
159
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.strike.js";
160
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.sub.js";
161
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.string.sup.js";
162
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.float32-array.js";
163
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.float64-array.js";
164
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.int8-array.js";
165
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.int16-array.js";
166
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.int32-array.js";
167
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.uint8-array.js";
168
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.uint8-clamped-array.js";
169
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.uint16-array.js";
170
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.uint32-array.js";
171
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.at.js";
172
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.copy-within.js";
173
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.every.js";
174
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.fill.js";
175
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.filter.js";
176
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.find.js";
177
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.find-index.js";
178
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.for-each.js";
179
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.from.js";
180
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.includes.js";
181
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.index-of.js";
182
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.iterator.js";
183
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.join.js";
184
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.last-index-of.js";
185
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.map.js";
186
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.of.js";
187
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.reduce.js";
188
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.reduce-right.js";
189
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.reverse.js";
190
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.set.js";
191
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.slice.js";
192
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.some.js";
193
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.sort.js";
194
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.subarray.js";
195
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.to-locale-string.js";
196
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.typed-array.to-string.js";
197
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.weak-map.js";
198
+import "E:/work/jgz/admin/node_modules/core-js/modules/es.weak-set.js";
199
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.array.from-async.js";
200
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.array.filter-out.js";
201
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.array.filter-reject.js";
202
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.array.find-last.js";
203
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.array.find-last-index.js";
204
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.array.group-by.js";
205
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.array.group-by-to-map.js";
206
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.array.is-template-object.js";
207
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.array.last-index.js";
208
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.array.last-item.js";
209
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.array.to-reversed.js";
210
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.array.to-sorted.js";
211
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.array.to-spliced.js";
212
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.array.unique-by.js";
213
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.array.with.js";
214
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.async-iterator.constructor.js";
215
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.async-iterator.as-indexed-pairs.js";
216
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.async-iterator.drop.js";
217
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.async-iterator.every.js";
218
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.async-iterator.filter.js";
219
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.async-iterator.find.js";
220
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.async-iterator.flat-map.js";
221
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.async-iterator.for-each.js";
222
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.async-iterator.from.js";
223
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.async-iterator.map.js";
224
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.async-iterator.reduce.js";
225
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.async-iterator.some.js";
226
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.async-iterator.take.js";
227
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.async-iterator.to-array.js";
228
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.bigint.range.js";
229
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.composite-key.js";
230
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.composite-symbol.js";
231
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.function.is-callable.js";
232
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.function.is-constructor.js";
233
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.function.un-this.js";
234
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.iterator.constructor.js";
235
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.iterator.as-indexed-pairs.js";
236
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.iterator.drop.js";
237
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.iterator.every.js";
238
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.iterator.filter.js";
239
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.iterator.find.js";
240
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.iterator.flat-map.js";
241
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.iterator.for-each.js";
242
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.iterator.from.js";
243
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.iterator.map.js";
244
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.iterator.reduce.js";
245
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.iterator.some.js";
246
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.iterator.take.js";
247
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.iterator.to-array.js";
248
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.iterator.to-async.js";
249
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.map.delete-all.js";
250
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.map.emplace.js";
251
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.map.every.js";
252
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.map.filter.js";
253
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.map.find.js";
254
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.map.find-key.js";
255
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.map.from.js";
256
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.map.group-by.js";
257
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.map.includes.js";
258
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.map.key-by.js";
259
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.map.key-of.js";
260
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.map.map-keys.js";
261
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.map.map-values.js";
262
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.map.merge.js";
263
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.map.of.js";
264
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.map.reduce.js";
265
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.map.some.js";
266
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.map.update.js";
267
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.map.update-or-insert.js";
268
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.map.upsert.js";
269
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.math.clamp.js";
270
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.math.deg-per-rad.js";
271
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.math.degrees.js";
272
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.math.fscale.js";
273
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.math.iaddh.js";
274
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.math.imulh.js";
275
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.math.isubh.js";
276
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.math.rad-per-deg.js";
277
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.math.radians.js";
278
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.math.scale.js";
279
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.math.seeded-prng.js";
280
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.math.signbit.js";
281
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.math.umulh.js";
282
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.number.from-string.js";
283
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.number.range.js";
284
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.object.iterate-entries.js";
285
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.object.iterate-keys.js";
286
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.object.iterate-values.js";
287
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.observable.js";
288
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.promise.try.js";
289
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.reflect.define-metadata.js";
290
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.reflect.delete-metadata.js";
291
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.reflect.get-metadata.js";
292
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.reflect.get-metadata-keys.js";
293
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.reflect.get-own-metadata.js";
294
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.reflect.get-own-metadata-keys.js";
295
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.reflect.has-metadata.js";
296
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.reflect.has-own-metadata.js";
297
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.reflect.metadata.js";
298
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.set.add-all.js";
299
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.set.delete-all.js";
300
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.set.difference.js";
301
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.set.every.js";
302
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.set.filter.js";
303
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.set.find.js";
304
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.set.from.js";
305
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.set.intersection.js";
306
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.set.is-disjoint-from.js";
307
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.set.is-subset-of.js";
308
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.set.is-superset-of.js";
309
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.set.join.js";
310
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.set.map.js";
311
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.set.of.js";
312
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.set.reduce.js";
313
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.set.some.js";
314
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.set.symmetric-difference.js";
315
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.set.union.js";
316
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.string.at.js";
317
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.string.cooked.js";
318
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.string.code-points.js";
319
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.symbol.async-dispose.js";
320
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.symbol.dispose.js";
321
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.symbol.matcher.js";
322
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.symbol.metadata.js";
323
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.symbol.observable.js";
324
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.symbol.pattern-match.js";
325
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.symbol.replace-all.js";
326
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.typed-array.from-async.js";
327
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.typed-array.filter-out.js";
328
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.typed-array.filter-reject.js";
329
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.typed-array.find-last.js";
330
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.typed-array.find-last-index.js";
331
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.typed-array.group-by.js";
332
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.typed-array.to-reversed.js";
333
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.typed-array.to-sorted.js";
334
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.typed-array.to-spliced.js";
335
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.typed-array.unique-by.js";
336
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.typed-array.with.js";
337
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.weak-map.delete-all.js";
338
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.weak-map.from.js";
339
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.weak-map.of.js";
340
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.weak-map.emplace.js";
341
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.weak-map.upsert.js";
342
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.weak-set.add-all.js";
343
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.weak-set.delete-all.js";
344
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.weak-set.from.js";
345
+import "E:/work/jgz/admin/node_modules/core-js/modules/esnext.weak-set.of.js";
346
+import "E:/work/jgz/admin/node_modules/core-js/modules/web.atob.js";
347
+import "E:/work/jgz/admin/node_modules/core-js/modules/web.btoa.js";
348
+import "E:/work/jgz/admin/node_modules/core-js/modules/web.dom-collections.for-each.js";
349
+import "E:/work/jgz/admin/node_modules/core-js/modules/web.dom-collections.iterator.js";
350
+import "E:/work/jgz/admin/node_modules/core-js/modules/web.dom-exception.constructor.js";
351
+import "E:/work/jgz/admin/node_modules/core-js/modules/web.dom-exception.stack.js";
352
+import "E:/work/jgz/admin/node_modules/core-js/modules/web.dom-exception.to-string-tag.js";
353
+import "E:/work/jgz/admin/node_modules/core-js/modules/web.queue-microtask.js";
354
+import "E:/work/jgz/admin/node_modules/core-js/modules/web.structured-clone.js";
355
+import "E:/work/jgz/admin/node_modules/core-js/modules/web.url.js";
356
+import "E:/work/jgz/admin/node_modules/core-js/modules/web.url.to-json.js";
357
+import "E:/work/jgz/admin/node_modules/core-js/modules/web.url-search-params.js";
358
+import 'E:/work/jgz/admin/node_modules/regenerator-runtime/runtime.js';
359
+export {};

+ 32
- 0
src/.umi-production/core/route.tsx 查看文件

@@ -0,0 +1,32 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import React from 'react';
5
+
6
+export async function getRoutes() {
7
+  return {
8
+    routes: {"1":{"path":"/","redirect":"/rotationChart/list","parentId":"ant-design-pro-layout","id":"1"},"2":{"path":"/rotationChart/list","name":"轮播图管理","icon":"picCenter","file":"@/pages/rotationChart/list/index.jsx","parentId":"ant-design-pro-layout","id":"2"},"3":{"path":"/rotationChart/add","name":"轮播图新增","hideInMenu":true,"file":"@/pages/rotationChart/edit/index.jsx","parentId":"ant-design-pro-layout","id":"3"},"4":{"path":"/rotationChart/edit","name":"轮播图编辑","hideInMenu":true,"file":"@/pages/rotationChart/edit/index.jsx","parentId":"ant-design-pro-layout","id":"4"},"5":{"path":"/dish/list","name":"菜肴管理","icon":"VideoCameraOutlined","file":"@/pages/dish/list/index.jsx","parentId":"ant-design-pro-layout","id":"5"},"6":{"path":"/dish/add","name":"菜肴详情","icon":"smile","hideInMenu":true,"file":"@/pages/dish/edit/index.jsx","parentId":"ant-design-pro-layout","id":"6"},"7":{"path":"/dish/edit","name":"菜肴修改","hideInMenu":true,"file":"@/pages/dish/edit/index.jsx","parentId":"ant-design-pro-layout","id":"7"},"8":{"path":"/package/list","name":"套餐管理","icon":"shopping","file":"@/pages/package/index.jsx","parentId":"ant-design-pro-layout","id":"8"},"9":{"path":"/guaranteeTask/list","name":"任务管理","icon":"borderBottom","file":"@/pages/guaranteeTask/index.jsx","parentId":"ant-design-pro-layout","id":"9"},"10":{"path":"/guaranteeTask/edit","name":"任务详情","icon":"borderBottom","hideInMenu":true,"file":"@/pages/guaranteeTask/Edit/index.jsx","parentId":"ant-design-pro-layout","id":"10"},"11":{"path":"/stock/list","name":"库存管理","icon":"appstore","file":"@/pages/stock/list/index.jsx","parentId":"ant-design-pro-layout","id":"11"},"12":{"path":"/stock/add","name":"库存新增","hideInMenu":true,"file":"@/pages/stock/edit/index.jsx","parentId":"ant-design-pro-layout","id":"12"},"13":{"path":"/stock/edit","name":"库存详细","hideInMenu":true,"file":"@/pages/stock/edit/index.jsx","parentId":"ant-design-pro-layout","id":"13"},"14":{"path":"/stock/outAndIn","name":"出入库管理","hideInMenu":true,"file":"@/pages/stock/outAndIn/index.jsx","parentId":"ant-design-pro-layout","id":"14"},"15":{"path":"/stockLog/list","name":"库存日志","icon":"appstoreAdd","file":"@/pages/stock/stockLog/index.jsx","parentId":"ant-design-pro-layout","id":"15"},"16":{"path":"/stockClassification/list","name":"库存分类","icon":"sortAscending","file":"@/pages/stockClassification/list/index.jsx","parentId":"ant-design-pro-layout","id":"16"},"17":{"path":"/stockClassification/edit","name":"分类编辑","hideInMenu":true,"file":"@/pages/stockClassification/edit/index.jsx","parentId":"ant-design-pro-layout","id":"17"},"18":{"path":"/guaranteeTask/print","name":"保障单打印","hideInMenu":true,"layout":false,"file":"@/pages/guaranteeTask/print/index.jsx","id":"18"},"19":{"file":"@/pages/404.jsx","parentId":"ant-design-pro-layout","id":"19"},"ant-design-pro-layout":{"id":"ant-design-pro-layout","path":"/","file":"@/.umi-production/plugin-layout/Layout.tsx","isLayout":true}},
9
+    routeComponents: {
10
+'1': React.lazy(() => import( './EmptyRoute')),
11
+'2': React.lazy(() => import(/* webpackChunkName: "p__rotationChart__list__index" */'@/pages/rotationChart/list/index.jsx')),
12
+'3': React.lazy(() => import(/* webpackChunkName: "p__rotationChart__edit__index" */'@/pages/rotationChart/edit/index.jsx')),
13
+'4': React.lazy(() => import(/* webpackChunkName: "p__rotationChart__edit__index" */'@/pages/rotationChart/edit/index.jsx')),
14
+'5': React.lazy(() => import(/* webpackChunkName: "p__dish__list__index" */'@/pages/dish/list/index.jsx')),
15
+'6': React.lazy(() => import(/* webpackChunkName: "p__dish__edit__index" */'@/pages/dish/edit/index.jsx')),
16
+'7': React.lazy(() => import(/* webpackChunkName: "p__dish__edit__index" */'@/pages/dish/edit/index.jsx')),
17
+'8': React.lazy(() => import(/* webpackChunkName: "p__package__index" */'@/pages/package/index.jsx')),
18
+'9': React.lazy(() => import(/* webpackChunkName: "p__guaranteeTask__index" */'@/pages/guaranteeTask/index.jsx')),
19
+'10': React.lazy(() => import(/* webpackChunkName: "p__guaranteeTask__Edit__index" */'@/pages/guaranteeTask/Edit/index.jsx')),
20
+'11': React.lazy(() => import(/* webpackChunkName: "p__stock__list__index" */'@/pages/stock/list/index.jsx')),
21
+'12': React.lazy(() => import(/* webpackChunkName: "p__stock__edit__index" */'@/pages/stock/edit/index.jsx')),
22
+'13': React.lazy(() => import(/* webpackChunkName: "p__stock__edit__index" */'@/pages/stock/edit/index.jsx')),
23
+'14': React.lazy(() => import(/* webpackChunkName: "p__stock__outAndIn__index" */'@/pages/stock/outAndIn/index.jsx')),
24
+'15': React.lazy(() => import(/* webpackChunkName: "p__stock__stockLog__index" */'@/pages/stock/stockLog/index.jsx')),
25
+'16': React.lazy(() => import(/* webpackChunkName: "p__stockClassification__list__index" */'@/pages/stockClassification/list/index.jsx')),
26
+'17': React.lazy(() => import(/* webpackChunkName: "p__stockClassification__edit__index" */'@/pages/stockClassification/edit/index.jsx')),
27
+'18': React.lazy(() => import(/* webpackChunkName: "p__guaranteeTask__print__index" */'@/pages/guaranteeTask/print/index.jsx')),
28
+'19': React.lazy(() => import(/* webpackChunkName: "p__404" */'@/pages/404.jsx')),
29
+'ant-design-pro-layout': React.lazy(() => import(/* webpackChunkName: "t__plugin-layout__Layout" */'@/.umi-production/plugin-layout/Layout.tsx')),
30
+},
31
+  };
32
+}

+ 38
- 0
src/.umi-production/core/terminal.ts 查看文件

@@ -0,0 +1,38 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+const console = globalThis.console;
5
+let count = 0;
6
+let groupLevel = 0;
7
+function send(type: string, message?: string) {
8
+  if(process.env.NODE_ENV==='production'){
9
+    return;
10
+  }else{
11
+    const encodedMessage = message ? `&m=${encodeURI(message)}` : '';
12
+    fetch(`/__umi/api/terminal?type=${type}&t=${Date.now()}&c=${count++}&g=${groupLevel}${encodedMessage}`, { mode: 'no-cors' })
13
+  }
14
+}
15
+function prettyPrint(obj: any) {
16
+  return JSON.stringify(obj, null, 2);
17
+}
18
+function stringifyObjs(objs: any[]) {
19
+  const obj = objs.length > 1 ? objs.map(stringify).join(' ') : objs[0];
20
+  return typeof obj === 'object' ? `${prettyPrint(obj)}` : obj.toString();
21
+}
22
+function stringify(obj: any) {
23
+  return typeof obj === 'object' ? `${JSON.stringify(obj)}` : obj.toString();
24
+}
25
+const terminal = {
26
+  log(...objs: any[]) { send('log', stringifyObjs(objs)) },
27
+  info(...objs: any[]) { send('info', stringifyObjs(objs)) },
28
+  warn(...objs: any[]) { send('warn', stringifyObjs(objs)) },
29
+  error(...objs: any[]) { send('error', stringifyObjs(objs)) },
30
+  group() { groupLevel++ },
31
+  groupCollapsed() { groupLevel++ },
32
+  groupEnd() { groupLevel && --groupLevel },
33
+  clear() { send('clear') },
34
+  trace(...args: any[]) { console.trace(...args) },
35
+  profile(...args: any[]) { console.profile(...args) },
36
+  profileEnd(...args: any[]) { console.profileEnd(...args) },
37
+};
38
+export { terminal };

+ 18
- 0
src/.umi-production/exports.ts 查看文件

@@ -0,0 +1,18 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+// @umijs/renderer-*
5
+export { createBrowserHistory, createHashHistory, createMemoryHistory, createSearchParams, generatePath, matchPath, matchRoutes, Navigate, NavLink, Outlet, resolvePath, useLocation, useMatch, useNavigate, useOutlet, useOutletContext, useParams, useResolvedPath, useRoutes, useSearchParams, useAppData, useClientLoaderData, useServerLoaderData, renderClient, __getRoot, Link, useRouteData, __useFetcher, withRouter } from 'E:/work/jgz/admin/node_modules/@umijs/preset-umi/node_modules/@umijs/renderer-react';
6
+// umi/client/client/plugin
7
+export { ApplyPluginsType, PluginManager } from 'E:/work/jgz/admin/node_modules/umi/client/client/plugin.js';
8
+export { history, createHistory } from './core/history';
9
+export { terminal } from './core/terminal';
10
+// plugins
11
+export { Access, useAccess, useAccessMarkedRoutes } from 'E:/work/jgz/admin/src/.umi-production/plugin-access';
12
+export { Provider, useModel } from 'E:/work/jgz/admin/src/.umi-production/plugin-model';
13
+export { useRequest, UseRequestProvider, request, getRequestInstance } from 'E:/work/jgz/admin/src/.umi-production/plugin-request';
14
+// plugins types.d.ts
15
+export * from 'E:/work/jgz/admin/src/.umi-production/plugin-layout/types.d';
16
+export * from 'E:/work/jgz/admin/src/.umi-production/plugin-request/types.d';
17
+export { defineApp } from './core/defineApp'
18
+export type {  RuntimeConfig } from './core/defineApp'

+ 5
- 0
src/.umi-production/plugin-access/context.ts 查看文件

@@ -0,0 +1,5 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import React from 'react';
5
+export const AccessContext = React.createContext<any>(null);

+ 67
- 0
src/.umi-production/plugin-access/index.tsx 查看文件

@@ -0,0 +1,67 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import React, { PropsWithChildren } from 'react';
5
+import { AccessContext } from './context';
6
+import type { IRoute } from 'umi';
7
+
8
+export const useAccess = () => {
9
+  return React.useContext(AccessContext);
10
+};
11
+
12
+export interface AccessProps {
13
+  accessible: boolean;
14
+  fallback?: React.ReactNode;
15
+}
16
+export const Access: React.FC<PropsWithChildren<AccessProps>> = (props) => {
17
+  if (process.env.NODE_ENV === 'development' && typeof props.accessible !== 'boolean') {
18
+    throw new Error('[access] the `accessible` property on <Access /> should be a boolean');
19
+  }
20
+
21
+  return <>{ props.accessible ? props.children : props.fallback }</>;
22
+};
23
+
24
+export const useAccessMarkedRoutes = (routes: IRoute[]) => {
25
+  const access = useAccess();
26
+  const markdedRoutes: IRoute[] = React.useMemo(() => {
27
+    const process = (route, parentAccessCode) => {
28
+      const accessCode = route.access || parentAccessCode;
29
+
30
+      // set default status
31
+      route.unaccessible = false;
32
+
33
+      // check access code
34
+      if (typeof accessCode === 'string') {
35
+        const detector = access[accessCode];
36
+
37
+        if (typeof detector === 'function') {
38
+          route.unaccessible = !detector(route);
39
+        } else if (typeof detector === 'boolean') {
40
+          route.unaccessible = !detector;
41
+        } else if (typeof detector === 'undefined') {
42
+          route.unaccessible = true;
43
+        }
44
+      }
45
+
46
+      // check children access code
47
+      if (route.children?.length) {
48
+        const isNoAccessibleChild = !route.children.reduce((hasAccessibleChild, child) => {
49
+          process(child, accessCode);
50
+
51
+          return hasAccessibleChild || !child.unaccessible;
52
+        }, false);
53
+
54
+        // make sure parent route is unaccessible if all children are unaccessible
55
+        if (isNoAccessibleChild) {
56
+          route.unaccessible = true;
57
+        }
58
+      }
59
+
60
+      return route;
61
+    }
62
+
63
+    return routes.map(route => process(route));
64
+  }, [routes.length, access]);
65
+
66
+  return markdedRoutes;
67
+}

+ 23
- 0
src/.umi-production/plugin-access/runtime.tsx 查看文件

@@ -0,0 +1,23 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import React from 'react';
5
+import accessFactory from '@/access'
6
+import { useModel } from '@@/plugin-model';
7
+
8
+import { AccessContext } from './context';
9
+
10
+function Provider(props) {
11
+  const { initialState } = useModel('@@initialState');
12
+  const access = React.useMemo(() => accessFactory(initialState), [initialState]);
13
+
14
+  return (
15
+    <AccessContext.Provider value={access}>
16
+      { props.children }
17
+    </AccessContext.Provider>
18
+  );
19
+}
20
+
21
+export function accessProvider(container) {
22
+  return <Provider>{ container }</Provider>;
23
+}

+ 50
- 0
src/.umi-production/plugin-initialState/@@initialState.ts 查看文件

@@ -0,0 +1,50 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import { useState, useEffect, useCallback } from 'react';
5
+import { getInitialState } from '@/app';
6
+
7
+export type InitialStateType = Awaited<ReturnType<typeof getInitialState>> | undefined;
8
+
9
+const initState = {
10
+  initialState: undefined as InitialStateType,
11
+  loading: true,
12
+  error: undefined,
13
+};
14
+
15
+export default () => {
16
+  const [state, setState] = useState(initState);
17
+  const refresh = useCallback(async () => {
18
+    setState((s) => ({ ...s, loading: true, error: undefined }));
19
+    try {
20
+      const ret = await getInitialState();
21
+      setState((s) => ({ ...s, initialState: ret, loading: false }));
22
+    } catch (e) {
23
+      setState((s) => ({ ...s, error: e, loading: false }));
24
+    }
25
+  }, []);
26
+
27
+  const setInitialState = useCallback(
28
+    async (
29
+      initialState: InitialStateType | ((initialState: InitialStateType) => InitialStateType),
30
+    ) => {
31
+      setState((s) => {
32
+        if (typeof initialState === 'function') {
33
+          return { ...s, initialState: initialState(s.initialState), loading: false };
34
+        }
35
+        return { ...s, initialState, loading: false };
36
+      });
37
+    },
38
+    [],
39
+  );
40
+
41
+  useEffect(() => {
42
+    refresh();
43
+  }, []);
44
+
45
+  return {
46
+    ...state,
47
+    refresh,
48
+    setInitialState,
49
+  };
50
+}

+ 19
- 0
src/.umi-production/plugin-initialState/Provider.tsx 查看文件

@@ -0,0 +1,19 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import React from 'react';
5
+import { useModel } from '@@/plugin-model';
6
+function Loading() { return <div />; }
7
+export default function InitialStateProvider(props: any) {
8
+  const appLoaded = React.useRef(false);
9
+  const { loading = false } = useModel("@@initialState") || {};
10
+  React.useEffect(() => {
11
+    if (!loading) {
12
+      appLoaded.current = true;
13
+    }
14
+  }, [loading]);
15
+  if (loading && !appLoaded.current) {
16
+    return <Loading />;
17
+  }
18
+  return props.children;
19
+}

+ 8
- 0
src/.umi-production/plugin-initialState/runtime.tsx 查看文件

@@ -0,0 +1,8 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import React from 'react';
5
+import Provider from './Provider';
6
+export function dataflowProvider(container) {
7
+  return <Provider>{ container }</Provider>;
8
+}

+ 5
- 0
src/.umi-production/plugin-initialState/runtimeConfig.d.ts 查看文件

@@ -0,0 +1,5 @@
1
+// This file is generated by Umi automatically
2
+// DO NOT CHANGE IT MANUALLY!
3
+export interface IRuntimeConfig {
4
+  getInitialState?: () => Promise<Record<string, any>>
5
+}

+ 37
- 0
src/.umi-production/plugin-layout/Exception.tsx 查看文件

@@ -0,0 +1,37 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import React from 'react';
5
+import { history, type IRoute } from 'umi';
6
+import { Result, Button } from 'antd';
7
+
8
+const Exception: React.FC<{
9
+  children: React.ReactNode;
10
+  route?: IRoute;
11
+  notFound?: React.ReactNode;
12
+  noAccessible?: React.ReactNode;
13
+  unAccessible?: React.ReactNode;
14
+  noFound?: React.ReactNode;
15
+}> = (props) => (
16
+  // render custom 404
17
+  (!props.route && (props.noFound || props.notFound)) ||
18
+  // render custom 403
19
+  (props.route.unaccessible && (props.unAccessible || props.noAccessible)) ||
20
+  // render default exception
21
+  ((!props.route || props.route.unaccessible) && (
22
+    <Result
23
+      status={props.route ? '403' : '404'}
24
+      title={props.route ? '403' : '404'}
25
+      subTitle={props.route ? '抱歉,你无权访问该页面' : '抱歉,你访问的页面不存在'}
26
+      extra={
27
+        <Button type="primary" onClick={() => history.push('/')}>
28
+          返回首页
29
+        </Button>
30
+      }
31
+    />
32
+  )) ||
33
+  // normal render
34
+  props.children
35
+);
36
+
37
+export default Exception;

+ 52
- 0
src/.umi-production/plugin-layout/Layout.less 查看文件

@@ -0,0 +1,52 @@
1
+@import '~antd/es/style/themes/default.less';
2
+@media screen and (max-width: 480px) {
3
+  // 在小屏幕的时候可以有更好的体验
4
+  .umi-plugin-layout-container {
5
+    width: 100% !important;
6
+  }
7
+  .umi-plugin-layout-container > * {
8
+    border-radius: 0 !important;
9
+  }
10
+}
11
+.umi-plugin-layout-menu {
12
+  .anticon {
13
+    margin-right: 8px;
14
+  }
15
+  .ant-dropdown-menu-item {
16
+    min-width: 160px;
17
+  }
18
+}
19
+.umi-plugin-layout-right {
20
+  display: flex !important;
21
+  float: right;
22
+  height: 100%;
23
+  margin-left: auto;
24
+  overflow: hidden;
25
+  .umi-plugin-layout-action {
26
+    display: flex;
27
+    align-items: center;
28
+    height: 100%;
29
+    padding: 0 12px;
30
+    cursor: pointer;
31
+    transition: all 0.3s;
32
+    > i {
33
+      color: rgba(255, 255, 255, 0.85);
34
+      vertical-align: middle;
35
+    }
36
+    &:hover {
37
+      background: rgba(0, 0, 0, 0.025);
38
+    }
39
+    &:global(.opened) {
40
+      background: rgba(0, 0, 0, 0.025);
41
+    }
42
+  }
43
+  .umi-plugin-layout-search {
44
+    padding: 0 12px;
45
+    &:hover {
46
+      background: transparent;
47
+    }
48
+  }
49
+}
50
+.umi-plugin-layout-name {
51
+  margin-left: 8px;
52
+}

+ 173
- 0
src/.umi-production/plugin-layout/Layout.tsx 查看文件

@@ -0,0 +1,173 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import { Link, useLocation, useNavigate, Outlet, useAppData, useRouteData, matchRoutes } from 'umi';
5
+import type { IRoute } from 'umi';
6
+import React, { useMemo } from 'react';
7
+import {
8
+  ProLayout,
9
+} from "E:/work/jgz/admin/node_modules/@ant-design/pro-components";
10
+import './Layout.less';
11
+import Logo from './Logo';
12
+import Exception from './Exception';
13
+import { getRightRenderContent } from './rightRender';
14
+import { useModel } from '@@/plugin-model';
15
+import { useAccessMarkedRoutes } from '@@/plugin-access';
16
+
17
+
18
+// 过滤出需要显示的路由, 这里的filterFn 指 不希望显示的层级
19
+const filterRoutes = (routes: IRoute[], filterFn: (route: IRoute) => boolean) => {
20
+  if (routes.length === 0) {
21
+    return []
22
+  }
23
+
24
+  let newRoutes = []
25
+  for (const route of routes) {
26
+    if (filterFn(route)) {
27
+      if (Array.isArray(route.routes)) {
28
+        newRoutes.push(...filterRoutes(route.routes, filterFn))
29
+      }
30
+    } else {
31
+      newRoutes.push(route);
32
+      if (Array.isArray(route.routes)) {
33
+        route.routes = filterRoutes(route.routes, filterFn);
34
+      }
35
+    }
36
+  }
37
+
38
+  return newRoutes;
39
+}
40
+
41
+// 格式化路由 处理因 wrapper 导致的 菜单 path 不一致
42
+const mapRoutes = (routes: IRoute[]) => {
43
+  if (routes.length === 0) {
44
+    return []
45
+  }
46
+  return routes.map(route => {
47
+    // 需要 copy 一份, 否则会污染原始数据
48
+    const newRoute = {...route}
49
+    if (route.originPath) {
50
+      newRoute.path = route.originPath
51
+    }
52
+
53
+    if (Array.isArray(route.routes)) {
54
+      newRoute.routes = mapRoutes(route.routes);
55
+    }
56
+
57
+    return newRoute
58
+  })
59
+}
60
+
61
+export default (props: any) => {
62
+  const location = useLocation();
63
+  const navigate = useNavigate();
64
+  const { clientRoutes, pluginManager } = useAppData();
65
+  const initialInfo = (useModel && useModel('@@initialState')) || {
66
+    initialState: undefined,
67
+    loading: false,
68
+    setInitialState: null,
69
+  };
70
+  const { initialState, loading, setInitialState } = initialInfo;
71
+  const userConfig = {
72
+  "locale": false,
73
+  "siderWidth": 208,
74
+  "navTheme": "dark",
75
+  "primaryColor": "#1890ff",
76
+  "layout": "side",
77
+  "contentWidth": "Fluid",
78
+  "fixedHeader": false,
79
+  "fixSiderbar": true,
80
+  "colorWeak": false,
81
+  "title": "海安军供",
82
+  "pwa": false,
83
+  "logo": "/w2/logo.png",
84
+  "iconfontUrl": "",
85
+  "splitMenus": false,
86
+  "headerRender": false,
87
+  "footerRender": false
88
+};
89
+const formatMessage = undefined;
90
+  const runtimeConfig = pluginManager.applyPlugins({
91
+    key: 'layout',
92
+    type: 'modify',
93
+    initialValue: {
94
+      ...initialInfo
95
+    },
96
+  });
97
+
98
+  const matchedRoute = useMemo(() => matchRoutes(clientRoutes, location.pathname).pop()?.route, [location.pathname]);
99
+  const newRoutes = filterRoutes(clientRoutes.filter(route => route.id === 'ant-design-pro-layout'), (route) => {
100
+    return (!!route.isLayout && route.id !== 'ant-design-pro-layout') || !!route.isWrapper;
101
+  })
102
+  const [route] = useAccessMarkedRoutes(mapRoutes(newRoutes));
103
+
104
+  return (
105
+    <ProLayout
106
+      route={route}
107
+      location={location}
108
+      title={userConfig.title || 'plugin-layout'}
109
+      navTheme="dark"
110
+      siderWidth={256}
111
+      onMenuHeaderClick={(e) => {
112
+        e.stopPropagation();
113
+        e.preventDefault();
114
+        navigate('/');
115
+      }}
116
+      formatMessage={userConfig.formatMessage || formatMessage}
117
+      menu={{ locale: userConfig.locale }}
118
+      logo={Logo}
119
+      menuItemRender={(menuItemProps, defaultDom) => {
120
+        if (menuItemProps.isUrl || menuItemProps.children) {
121
+          return defaultDom;
122
+        }
123
+        if (menuItemProps.path && location.pathname !== menuItemProps.path) {
124
+          return (
125
+            // handle wildcard route path, for example /slave/* from qiankun
126
+            <Link to={menuItemProps.path.replace('/*', '')} target={menuItemProps.target}>
127
+              {defaultDom}
128
+            </Link>
129
+          );
130
+        }
131
+        return defaultDom;
132
+      }}
133
+      itemRender={(route) => <Link to={route.path}>{route.breadcrumbName}</Link>}
134
+      disableContentMargin
135
+      fixSiderbar
136
+      fixedHeader
137
+      {...runtimeConfig}
138
+      rightContentRender={
139
+        runtimeConfig.rightContentRender !== false &&
140
+        ((layoutProps) => {
141
+          const dom = getRightRenderContent({
142
+            runtimeConfig,
143
+            loading,
144
+            initialState,
145
+            setInitialState,
146
+          });
147
+          if (runtimeConfig.rightContentRender) {
148
+            return runtimeConfig.rightContentRender(layoutProps, dom, {
149
+              // BREAK CHANGE userConfig > runtimeConfig
150
+              userConfig,
151
+              runtimeConfig,
152
+              loading,
153
+              initialState,
154
+              setInitialState,
155
+            });
156
+          }
157
+          return dom;
158
+        })
159
+      }
160
+    >
161
+      <Exception
162
+        route={matchedRoute}
163
+        notFound={runtimeConfig.notFound}
164
+        noAccessible={runtimeConfig.noAccessible}
165
+      >
166
+        {runtimeConfig.childrenRender
167
+          ? runtimeConfig.childrenRender(<Outlet />, props)
168
+          : <Outlet />
169
+        }
170
+      </Exception>
171
+    </ProLayout>
172
+  );
173
+}

+ 94
- 0
src/.umi-production/plugin-layout/Logo.tsx 查看文件

@@ -0,0 +1,94 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import React from 'react';
5
+
6
+const LogoIcon: React.FC = () => {
7
+  return (
8
+    <svg
9
+      xmlns="http://www.w3.org/2000/svg"
10
+      width="32"
11
+      height="32"
12
+      viewBox="0 0 200 200"
13
+    >
14
+      <defs>
15
+        <linearGradient
16
+          id="linearGradient-1"
17
+          x1="62.102%"
18
+          x2="108.197%"
19
+          y1="0%"
20
+          y2="37.864%"
21
+        >
22
+          <stop offset="0%" stopColor="#4285EB"></stop>
23
+          <stop offset="100%" stopColor="#2EC7FF"></stop>
24
+        </linearGradient>
25
+        <linearGradient
26
+          id="linearGradient-2"
27
+          x1="69.644%"
28
+          x2="54.043%"
29
+          y1="0%"
30
+          y2="108.457%"
31
+        >
32
+          <stop offset="0%" stopColor="#29CDFF"></stop>
33
+          <stop offset="37.86%" stopColor="#148EFF"></stop>
34
+          <stop offset="100%" stopColor="#0A60FF"></stop>
35
+        </linearGradient>
36
+        <linearGradient
37
+          id="linearGradient-3"
38
+          x1="69.691%"
39
+          x2="16.723%"
40
+          y1="-12.974%"
41
+          y2="117.391%"
42
+        >
43
+          <stop offset="0%" stopColor="#FA816E"></stop>
44
+          <stop offset="41.473%" stopColor="#F74A5C"></stop>
45
+          <stop offset="100%" stopColor="#F51D2C"></stop>
46
+        </linearGradient>
47
+        <linearGradient
48
+          id="linearGradient-4"
49
+          x1="68.128%"
50
+          x2="30.44%"
51
+          y1="-35.691%"
52
+          y2="114.943%"
53
+        >
54
+          <stop offset="0%" stopColor="#FA8E7D"></stop>
55
+          <stop offset="51.264%" stopColor="#F74A5C"></stop>
56
+          <stop offset="100%" stopColor="#F51D2C"></stop>
57
+        </linearGradient>
58
+      </defs>
59
+      <g fill="none" fillRule="evenodd" stroke="none" strokeWidth="1">
60
+        <g transform="translate(-20 -20)">
61
+          <g transform="translate(20 20)">
62
+            <g>
63
+              <g fillRule="nonzero">
64
+                <g>
65
+                  <path
66
+                    fill="url(#linearGradient-1)"
67
+                    d="M91.588 4.177L4.18 91.513a11.981 11.981 0 000 16.974l87.408 87.336a12.005 12.005 0 0016.989 0l36.648-36.618c4.209-4.205 4.209-11.023 0-15.228-4.208-4.205-11.031-4.205-15.24 0l-27.783 27.76c-1.17 1.169-2.945 1.169-4.114 0l-69.802-69.744c-1.17-1.169-1.17-2.942 0-4.11l69.802-69.745c1.17-1.169 2.944-1.169 4.114 0l27.783 27.76c4.209 4.205 11.032 4.205 15.24 0 4.209-4.205 4.209-11.022 0-15.227L108.581 4.056c-4.719-4.594-12.312-4.557-16.993.12z"
68
+                  ></path>
69
+                  <path
70
+                    fill="url(#linearGradient-2)"
71
+                    d="M91.588 4.177L4.18 91.513a11.981 11.981 0 000 16.974l87.408 87.336a12.005 12.005 0 0016.989 0l36.648-36.618c4.209-4.205 4.209-11.023 0-15.228-4.208-4.205-11.031-4.205-15.24 0l-27.783 27.76c-1.17 1.169-2.945 1.169-4.114 0l-69.802-69.744c-1.17-1.169-1.17-2.942 0-4.11l69.802-69.745c2.912-2.51 7.664-7.596 14.642-8.786 5.186-.883 10.855 1.062 17.009 5.837L108.58 4.056c-4.719-4.594-12.312-4.557-16.993.12z"
72
+                  ></path>
73
+                </g>
74
+                <path
75
+                  fill="url(#linearGradient-3)"
76
+                  d="M153.686 135.855c4.208 4.205 11.031 4.205 15.24 0l27.034-27.012c4.7-4.696 4.7-12.28 0-16.974l-27.27-27.15c-4.218-4.2-11.043-4.195-15.254.013-4.209 4.205-4.209 11.022 0 15.227l18.418 18.403c1.17 1.169 1.17 2.943 0 4.111l-18.168 18.154c-4.209 4.205-4.209 11.023 0 15.228z"
77
+                ></path>
78
+              </g>
79
+              <ellipse
80
+                cx="100.519"
81
+                cy="100.437"
82
+                fill="url(#linearGradient-4)"
83
+                rx="23.6"
84
+                ry="23.581"
85
+              ></ellipse>
86
+            </g>
87
+          </g>
88
+        </g>
89
+      </g>
90
+    </svg>
91
+  );
92
+};
93
+
94
+export default LogoIcon;

+ 12
- 0
src/.umi-production/plugin-layout/icons.tsx 查看文件

@@ -0,0 +1,12 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import PicCenterOutlined from 'E:/work/jgz/admin/node_modules/@ant-design/icons/es/icons/PicCenterOutlined';
5
+import VideoCameraOutlined from 'E:/work/jgz/admin/node_modules/@ant-design/icons/es/icons/VideoCameraOutlined';
6
+import SmileOutlined from 'E:/work/jgz/admin/node_modules/@ant-design/icons/es/icons/SmileOutlined';
7
+import ShoppingOutlined from 'E:/work/jgz/admin/node_modules/@ant-design/icons/es/icons/ShoppingOutlined';
8
+import BorderBottomOutlined from 'E:/work/jgz/admin/node_modules/@ant-design/icons/es/icons/BorderBottomOutlined';
9
+import AppstoreOutlined from 'E:/work/jgz/admin/node_modules/@ant-design/icons/es/icons/AppstoreOutlined';
10
+import AppstoreAddOutlined from 'E:/work/jgz/admin/node_modules/@ant-design/icons/es/icons/AppstoreAddOutlined';
11
+import SortAscendingOutlined from 'E:/work/jgz/admin/node_modules/@ant-design/icons/es/icons/SortAscendingOutlined';
12
+export default { PicCenterOutlined, VideoCameraOutlined, SmileOutlined, ShoppingOutlined, BorderBottomOutlined, AppstoreOutlined, AppstoreAddOutlined, SortAscendingOutlined };

+ 4
- 0
src/.umi-production/plugin-layout/index.ts 查看文件

@@ -0,0 +1,4 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+export type TempType = string

+ 70
- 0
src/.umi-production/plugin-layout/rightRender.tsx 查看文件

@@ -0,0 +1,70 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import React from 'react';
5
+import { Avatar, Dropdown, Menu, Spin } from 'antd';
6
+import { LogoutOutlined } from '@ant-design/icons';
7
+
8
+export function getRightRenderContent (opts: {
9
+   runtimeConfig: any,
10
+   loading: boolean,
11
+   initialState: any,
12
+   setInitialState: any,
13
+ }) {
14
+  if (opts.runtimeConfig.rightRender) {
15
+    return opts.runtimeConfig.rightRender(
16
+      opts.initialState,
17
+      opts.setInitialState,
18
+      opts.runtimeConfig,
19
+    );
20
+  }
21
+
22
+  const menu = (
23
+    <Menu className="umi-plugin-layout-menu">
24
+      <Menu.Item
25
+        key="logout"
26
+        onClick={() =>
27
+          opts.runtimeConfig.logout && opts.runtimeConfig?.logout(opts.initialState)
28
+        }
29
+      >
30
+        <LogoutOutlined />
31
+        退出登录
32
+      </Menu.Item>
33
+    </Menu>
34
+  );
35
+
36
+  const avatar = (
37
+    <span className="umi-plugin-layout-action">
38
+        <Avatar
39
+          size="small"
40
+          className="umi-plugin-layout-avatar"
41
+          src={
42
+            opts.initialState?.avatar ||
43
+            'https://gw.alipayobjects.com/zos/antfincdn/XAosXuNZyF/BiazfanxmamNRoxxVxka.png'
44
+          }
45
+          alt="avatar"
46
+        />
47
+        <span className="umi-plugin-layout-name">{opts.initialState?.name}</span>
48
+      </span>
49
+  );
50
+
51
+  if (opts.loading) {
52
+    return (
53
+      <div className="umi-plugin-layout-right">
54
+        <Spin size="small" style={ { marginLeft: 8, marginRight: 8 } } />
55
+      </div>
56
+    );
57
+  }
58
+
59
+  return (
60
+    <div className="umi-plugin-layout-right anticon">
61
+      {opts.runtimeConfig.logout ? (
62
+        <Dropdown overlay={menu} overlayClassName="umi-plugin-layout-container">
63
+          {avatar}
64
+        </Dropdown>
65
+      ) : (
66
+        avatar
67
+      )}
68
+    </div>
69
+  );
70
+}

+ 25
- 0
src/.umi-production/plugin-layout/runtime.tsx 查看文件

@@ -0,0 +1,25 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import React from 'react';
5
+import icons from './icons';
6
+
7
+function formatIcon(name: string) {
8
+  return name
9
+    .replace(name[0], name[0].toUpperCase())
10
+    .replace(/-(w)/g, function(all, letter) {
11
+      return letter.toUpperCase();
12
+    });
13
+}
14
+
15
+export function patchRoutes({ routes }) {
16
+  Object.keys(routes).forEach(key => {
17
+    const { icon } = routes[key];
18
+    if (icon && typeof icon === 'string') {
19
+      const upperIcon = formatIcon(icon);
20
+      if (icons[upperIcon] || icons[upperIcon + 'Outlined']) {
21
+        routes[key].icon = React.createElement(icons[upperIcon] || icons[upperIcon + 'Outlined']);
22
+      }
23
+    }
24
+  });
25
+}

+ 6
- 0
src/.umi-production/plugin-layout/runtimeConfig.d.ts 查看文件

@@ -0,0 +1,6 @@
1
+// This file is generated by Umi automatically
2
+// DO NOT CHANGE IT MANUALLY!
3
+import type { RunTimeLayoutConfig } from './types.d';
4
+export interface IRuntimeConfig {
5
+  layout?: RunTimeLayoutConfig
6
+}

+ 34
- 0
src/.umi-production/plugin-layout/types.d.ts 查看文件

@@ -0,0 +1,34 @@
1
+// This file is generated by Umi automatically
2
+// DO NOT CHANGE IT MANUALLY!
3
+import type { ProLayoutProps, HeaderProps } from "E:/work/jgz/admin/node_modules/@ant-design/pro-components";
4
+    import type InitialStateType from '@@/plugin-initialState/@@initialState';
5
+           type InitDataType = ReturnType<typeof InitialStateType>;
6
+        
7
+
8
+    import type { IConfigFromPlugins } from '@@/core/pluginConfig';
9
+
10
+    export type RunTimeLayoutConfig = (initData: InitDataType) => Omit<
11
+      ProLayoutProps,
12
+      'rightContentRender'
13
+    > & {
14
+      childrenRender?: (dom: JSX.Element, props: ProLayoutProps) => React.ReactNode;
15
+      unAccessible?: JSX.Element;
16
+      noFound?: JSX.Element;
17
+      logout?: (initialState: InitDataType['initialState']) => Promise<void> | void;
18
+      rightContentRender?: (
19
+        headerProps: HeaderProps,
20
+        dom: JSX.Element,
21
+        props: {
22
+          userConfig: IConfigFromPlugins['layout'];
23
+          runtimeConfig: RunTimeLayoutConfig;
24
+          loading: InitDataType['loading'];
25
+          initialState: InitDataType['initialState'];
26
+          setInitialState: InitDataType['setInitialState'];
27
+        },
28
+      ) => JSX.Element;
29
+      rightRender?: (
30
+        initialState: InitDataType['initialState'],
31
+        setInitialState: InitDataType['setInitialState'],
32
+        runtimeConfig: RunTimeLayoutConfig,
33
+      ) => JSX.Element;
34
+    };

+ 181
- 0
src/.umi-production/plugin-model/index.tsx 查看文件

@@ -0,0 +1,181 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+// @ts-ignore
5
+import type { models as rawModels } from '@@/plugin-model/model';
6
+import isEqual from 'E:/work/jgz/admin/node_modules/fast-deep-equal/index.js';
7
+import React, { useContext, useEffect, useMemo, useRef, useState } from 'react';
8
+
9
+type Models = typeof rawModels;
10
+
11
+type GetNamespaces<M> = {
12
+  [K in keyof M]: M[K] extends { namespace: string }
13
+    ? M[K]['namespace']
14
+    : never;
15
+}[keyof M];
16
+
17
+type Namespaces = GetNamespaces<Models>;
18
+
19
+// @ts-ignore
20
+const Context = React.createContext<{ dispatcher: Dispatcher }>(null);
21
+
22
+class Dispatcher {
23
+  callbacks: Record<Namespaces, Set<Function>> = {};
24
+  data: Record<Namespaces, unknown> = {};
25
+  update = (namespace: Namespaces) => {
26
+    if (this.callbacks[namespace]) {
27
+      this.callbacks[namespace].forEach((cb) => {
28
+        try {
29
+          const data = this.data[namespace];
30
+          cb(data);
31
+        } catch (e) {
32
+          cb(undefined);
33
+        }
34
+      });
35
+    }
36
+  };
37
+}
38
+
39
+interface ExecutorProps {
40
+  hook: () => any;
41
+  onUpdate: (val: any) => void;
42
+  namespace: string;
43
+}
44
+
45
+function Executor(props: ExecutorProps) {
46
+  const { hook, onUpdate, namespace } = props;
47
+
48
+  const updateRef = useRef(onUpdate);
49
+  const initialLoad = useRef(false);
50
+
51
+  let data: any;
52
+  try {
53
+    data = hook();
54
+  } catch (e) {
55
+    console.error(
56
+      `plugin-model: Invoking '${namespace || 'unknown'}' model failed:`,
57
+      e,
58
+    );
59
+  }
60
+
61
+  // 首次执行时立刻返回初始值
62
+  useMemo(() => {
63
+    updateRef.current(data);
64
+  }, []);
65
+
66
+  // React 16.13 后 update 函数用 useEffect 包裹
67
+  useEffect(() => {
68
+    if (initialLoad.current) {
69
+      updateRef.current(data);
70
+    } else {
71
+      initialLoad.current = true;
72
+    }
73
+  });
74
+
75
+  return null;
76
+}
77
+
78
+const dispatcher = new Dispatcher();
79
+
80
+export function Provider(props: {
81
+  models: Record<string, any>;
82
+  children: React.ReactNode;
83
+}) {
84
+  return (
85
+    <Context.Provider value={{ dispatcher }}>
86
+      {Object.keys(props.models).map((namespace) => {
87
+        return (
88
+          <Executor
89
+            key={namespace}
90
+            hook={props.models[namespace]}
91
+            namespace={namespace}
92
+            onUpdate={(val) => {
93
+              dispatcher.data[namespace] = val;
94
+              dispatcher.update(namespace);
95
+            }}
96
+          />
97
+        );
98
+      })}
99
+      {props.children}
100
+    </Context.Provider>
101
+  );
102
+}
103
+
104
+type GetModelByNamespace<M, N> = {
105
+  [K in keyof M]: M[K] extends { namespace: string; model: unknown }
106
+    ? M[K]['namespace'] extends N
107
+      ? M[K]['model'] extends (...args: any) => any
108
+        ? ReturnType<M[K]['model']>
109
+        : never
110
+      : never
111
+    : never;
112
+}[keyof M];
113
+
114
+type Model<N> = GetModelByNamespace<Models, N>;
115
+type Selector<N, S> = (model: Model<N>) => S;
116
+
117
+type SelectedModel<N, T> = T extends (...args: any) => any
118
+  ? ReturnType<NonNullable<T>>
119
+  : Model<N>;
120
+
121
+export function useModel<N extends Namespaces>(namespace: N): Model<N>;
122
+
123
+export function useModel<N extends Namespaces, S>(
124
+  namespace: N,
125
+  selector: Selector<N, S>,
126
+): SelectedModel<N, typeof selector>;
127
+
128
+export function useModel<N extends Namespaces, S>(
129
+  namespace: N,
130
+  selector?: Selector<N, S>,
131
+): SelectedModel<N, typeof selector> {
132
+  const { dispatcher } = useContext<{ dispatcher: Dispatcher }>(Context);
133
+  const selectorRef = useRef(selector);
134
+  selectorRef.current = selector;
135
+  const [state, setState] = useState(() =>
136
+    selectorRef.current
137
+      ? selectorRef.current(dispatcher.data[namespace])
138
+      : dispatcher.data[namespace],
139
+  );
140
+  const stateRef = useRef<any>(state);
141
+  stateRef.current = state;
142
+
143
+  const isMount = useRef(false);
144
+  useEffect(() => {
145
+    isMount.current = true;
146
+    return () => {
147
+      isMount.current = false;
148
+    };
149
+  }, []);
150
+
151
+  useEffect(() => {
152
+    const handler = (data: any) => {
153
+      if (!isMount.current) {
154
+        // 如果 handler 执行过程中,组件被卸载了,则强制更新全局 data
155
+        // TODO: 需要加个 example 测试
156
+        setTimeout(() => {
157
+          dispatcher.data[namespace] = data;
158
+          dispatcher.update(namespace);
159
+        });
160
+      } else {
161
+        const currentState = selectorRef.current
162
+          ? selectorRef.current(data)
163
+          : data;
164
+        const previousState = stateRef.current;
165
+        if (!isEqual(currentState, previousState)) {
166
+          setState(currentState);
167
+        }
168
+      }
169
+    };
170
+
171
+    dispatcher.callbacks[namespace] ||= new Set() as any; // rawModels 是 umi 动态生成的文件,导致前面 callback[namespace] 的类型无法推导出来,所以用 as any 来忽略掉
172
+    dispatcher.callbacks[namespace].add(handler);
173
+    dispatcher.update(namespace);
174
+
175
+    return () => {
176
+      dispatcher.callbacks[namespace].delete(handler);
177
+    };
178
+  }, [namespace]);
179
+
180
+  return state;
181
+}

+ 8
- 0
src/.umi-production/plugin-model/model.ts 查看文件

@@ -0,0 +1,8 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import model_1 from 'E:/work/jgz/admin/src/.umi-production/plugin-initialState/@@initialState';
5
+
6
+export const models = {
7
+model_1: { namespace: '@@initialState', model: model_1 },
8
+} as const

+ 20
- 0
src/.umi-production/plugin-model/runtime.tsx 查看文件

@@ -0,0 +1,20 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import React  from 'react';
5
+import { Provider } from './';
6
+import { models as rawModels } from './model';
7
+
8
+function ProviderWrapper(props: any) {
9
+  const models = React.useMemo(() => {
10
+    return Object.keys(rawModels).reduce((memo, key) => {
11
+      memo[rawModels[key].namespace] = rawModels[key].model;
12
+      return memo;
13
+    }, {});
14
+  }, []);
15
+  return <Provider models={models} {...props}>{ props.children }</Provider>
16
+}
17
+
18
+export function dataflowProvider(container, opts) {
19
+  return <ProviderWrapper {...opts}>{ container }</ProviderWrapper>;
20
+}

+ 9
- 0
src/.umi-production/plugin-request/index.ts 查看文件

@@ -0,0 +1,9 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+export {
5
+  useRequest,
6
+  UseRequestProvider,
7
+  request,
8
+  getRequestInstance,
9
+} from './request';

+ 265
- 0
src/.umi-production/plugin-request/request.ts 查看文件

@@ -0,0 +1,265 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import axios, {
5
+  type AxiosInstance,
6
+  type AxiosRequestConfig,
7
+  type AxiosResponse,
8
+  type AxiosError,
9
+} from 'E:/work/jgz/admin/node_modules/axios';
10
+import useUmiRequest, { UseRequestProvider } from 'E:/work/jgz/admin/node_modules/@ahooksjs/use-request';
11
+import { ApplyPluginsType } from 'umi';
12
+import { getPluginManager } from '../core/plugin';
13
+
14
+import {
15
+  BaseOptions,
16
+  BasePaginatedOptions,
17
+  BaseResult,
18
+  CombineService,
19
+  LoadMoreFormatReturn,
20
+  LoadMoreOptions,
21
+  LoadMoreOptionsWithFormat,
22
+  LoadMoreParams,
23
+  LoadMoreResult,
24
+  OptionsWithFormat,
25
+  PaginatedFormatReturn,
26
+  PaginatedOptionsWithFormat,
27
+  PaginatedParams,
28
+  PaginatedResult,
29
+} from 'E:/work/jgz/admin/node_modules/@ahooksjs/use-request/es/types';
30
+
31
+type ResultWithData< T = any > = { data?: T; [key: string]: any };
32
+
33
+function useRequest<
34
+  R = any,
35
+  P extends any[] = any,
36
+  U = any,
37
+  UU extends U = any,
38
+>(
39
+  service: CombineService<R, P>,
40
+  options: OptionsWithFormat<R, P, U, UU>,
41
+): BaseResult<U, P>;
42
+function useRequest<R extends ResultWithData = any, P extends any[] = any>(
43
+  service: CombineService<R, P>,
44
+  options?: BaseOptions<R['data'], P>,
45
+): BaseResult<R['data'], P>;
46
+function useRequest<R extends LoadMoreFormatReturn = any, RR = any>(
47
+  service: CombineService<RR, LoadMoreParams<R>>,
48
+  options: LoadMoreOptionsWithFormat<R, RR>,
49
+): LoadMoreResult<R>;
50
+function useRequest<
51
+  R extends ResultWithData<LoadMoreFormatReturn | any> = any,
52
+  RR extends R = any,
53
+>(
54
+  service: CombineService<R, LoadMoreParams<R['data']>>,
55
+  options: LoadMoreOptions<RR['data']>,
56
+): LoadMoreResult<R['data']>;
57
+
58
+function useRequest<R = any, Item = any, U extends Item = any>(
59
+  service: CombineService<R, PaginatedParams>,
60
+  options: PaginatedOptionsWithFormat<R, Item, U>,
61
+): PaginatedResult<Item>;
62
+function useRequest<Item = any, U extends Item = any>(
63
+  service: CombineService<
64
+    ResultWithData<PaginatedFormatReturn<Item>>,
65
+    PaginatedParams
66
+  >,
67
+  options: BasePaginatedOptions<U>,
68
+): PaginatedResult<Item>;
69
+function useRequest(service: any, options: any = {}) {
70
+  return useUmiRequest(service, {
71
+    formatResult: result => result?.data,
72
+    requestMethod: (requestOptions: any) => {
73
+      if (typeof requestOptions === 'string') {
74
+        return request(requestOptions);
75
+      }
76
+      if (typeof requestOptions === 'object') {
77
+        const { url, ...rest } = requestOptions;
78
+        return request(url, rest);
79
+      }
80
+      throw new Error('request options error');
81
+    },
82
+    ...options,
83
+  });
84
+}
85
+
86
+// request 方法 opts 参数的接口
87
+interface IRequestOptions extends AxiosRequestConfig {
88
+  skipErrorHandler?: boolean;
89
+  requestInterceptors?: IRequestInterceptorTuple[];
90
+  responseInterceptors?: IResponseInterceptorTuple[];
91
+  [key: string]: any;
92
+}
93
+
94
+interface IRequestOptionsWithResponse extends IRequestOptions {
95
+  getResponse: true;
96
+}
97
+
98
+interface IRequestOptionsWithoutResponse extends IRequestOptions{
99
+  getResponse: false;
100
+}
101
+
102
+interface IRequest{
103
+   <T = any>(url: string, opts: IRequestOptionsWithResponse): Promise<AxiosResponse<T>>;
104
+   <T = any>(url: string, opts: IRequestOptionsWithoutResponse): Promise<T>;
105
+   <T = any>(url: string, opts: IRequestOptions): Promise<T>; // getResponse 默认是 false, 因此不提供该参数时,只返回 data
106
+   <T = any>(url: string): Promise<T>;  // 不提供 opts 时,默认使用 'GET' method,并且默认返回 data
107
+}
108
+
109
+type RequestError = AxiosError | Error
110
+
111
+interface IErrorHandler {
112
+  (error: RequestError, opts: IRequestOptions): void;
113
+}
114
+type IRequestInterceptorAxios = (config: RequestOptions) => RequestOptions;
115
+type IRequestInterceptorUmiRequest = (url: string, config : RequestOptions) => { url: string, options: RequestOptions };
116
+type IRequestInterceptor = IRequestInterceptorAxios | IRequestInterceptorUmiRequest;
117
+type IErrorInterceptor = (error: Error) => Promise<Error>;
118
+type IResponseInterceptor = <T = any>(response : AxiosResponse<T>) => AxiosResponse<T> ;
119
+type IRequestInterceptorTuple = [IRequestInterceptor , IErrorInterceptor] | [ IRequestInterceptor ] | IRequestInterceptor
120
+type IResponseInterceptorTuple = [IResponseInterceptor, IErrorInterceptor] | [IResponseInterceptor] | IResponseInterceptor
121
+
122
+export interface RequestConfig<T = any> extends AxiosRequestConfig {
123
+  errorConfig?: {
124
+    errorHandler?: IErrorHandler;
125
+    errorThrower?: ( res: T ) => void
126
+  };
127
+  requestInterceptors?: IRequestInterceptorTuple[];
128
+  responseInterceptors?: IResponseInterceptorTuple[];
129
+}
130
+
131
+let requestInstance: AxiosInstance;
132
+let config: RequestConfig;
133
+const getConfig = (): RequestConfig => {
134
+  if (config) return config;
135
+  config = getPluginManager().applyPlugins({
136
+    key: 'request',
137
+    type: ApplyPluginsType.modify,
138
+    initialValue: {},
139
+  });
140
+  return config;
141
+};
142
+
143
+const getRequestInstance = (): AxiosInstance => {
144
+  if (requestInstance) return requestInstance;
145
+  const config = getConfig();
146
+  requestInstance = axios.create(config);
147
+
148
+  config?.requestInterceptors?.forEach((interceptor) => {
149
+    if(interceptor instanceof Array){
150
+      requestInstance.interceptors.request.use((config) => {
151
+        const { url } = config;
152
+        if(interceptor[0].length === 2){
153
+          const { url: newUrl, options } = interceptor[0](url, config);
154
+          return { ...options, url: newUrl };
155
+        }
156
+        return interceptor[0](config);
157
+      }, interceptor[1]);
158
+    } else {
159
+      requestInstance.interceptors.request.use((config) => {
160
+        const { url } = config;
161
+        if(interceptor.length === 2){
162
+          const { url: newUrl, options } = interceptor(url, config);
163
+          return { ...options, url: newUrl };
164
+        }
165
+        return interceptor(config);
166
+      })
167
+    }
168
+  });
169
+
170
+  config?.responseInterceptors?.forEach((interceptor) => {
171
+    interceptor instanceof Array ?
172
+      requestInstance.interceptors.response.use(interceptor[0], interceptor[1]):
173
+       requestInstance.interceptors.response.use(interceptor);
174
+  });
175
+
176
+  // 当响应的数据 success 是 false 的时候,抛出 error 以供 errorHandler 处理。
177
+  requestInstance.interceptors.response.use((response) => {
178
+    const { data } = response;
179
+    if(data?.success === false && config?.errorConfig?.errorThrower){
180
+      config.errorConfig.errorThrower(data);
181
+    }
182
+    return response;
183
+  })
184
+  return requestInstance;
185
+};
186
+
187
+const request: IRequest = (url: string, opts: any = { method: 'GET' }) => {
188
+  const requestInstance = getRequestInstance();
189
+  const config = getConfig();
190
+  const { getResponse = false, requestInterceptors, responseInterceptors } = opts;
191
+  const requestInterceptorsToEject = requestInterceptors?.map((interceptor) => {
192
+    if(interceptor instanceof Array){
193
+      return requestInstance.interceptors.request.use((config) => {
194
+        const { url } = config;
195
+        if(interceptor[0].length === 2){
196
+          const { url: newUrl, options } = interceptor[0](url, config);
197
+          return { ...options, url: newUrl };
198
+        }
199
+        return interceptor[0](config);
200
+      }, interceptor[1]);
201
+    } else {
202
+      return requestInstance.interceptors.request.use((config) => {
203
+        const { url } = config;
204
+        if(interceptor.length === 2){
205
+          const { url: newUrl, options } = interceptor(url, config);
206
+          return { ...options, url: newUrl };
207
+        }
208
+        return interceptor(config);
209
+      })
210
+    }
211
+    });
212
+  const responseInterceptorsToEject = responseInterceptors?.map((interceptor) => {
213
+    return interceptor instanceof Array ?
214
+      requestInstance.interceptors.response.use(interceptor[0], interceptor[1]):
215
+       requestInstance.interceptors.response.use(interceptor);
216
+    });
217
+  return new Promise((resolve, reject)=>{
218
+    requestInstance
219
+      .request({...opts, url})
220
+      .then((res)=>{
221
+        requestInterceptorsToEject?.forEach((interceptor) => {
222
+          requestInstance.interceptors.request.eject(interceptor);
223
+        });
224
+        responseInterceptorsToEject?.forEach((interceptor) => {
225
+          requestInstance.interceptors.response.eject(interceptor);
226
+        });
227
+        resolve(getResponse ? res : res.data);
228
+      })
229
+      .catch((error)=>{
230
+        requestInterceptorsToEject?.forEach((interceptor) => {
231
+          requestInstance.interceptors.request.eject(interceptor);
232
+        });
233
+        responseInterceptorsToEject?.forEach((interceptor) => {
234
+          requestInstance.interceptors.response.eject(interceptor);
235
+        });
236
+        try {
237
+          const handler =
238
+            config?.errorConfig?.errorHandler;
239
+          if(handler)
240
+            handler(error, opts, config);
241
+        } catch (e) {
242
+          reject(e);
243
+        }
244
+        reject(error);
245
+      })
246
+  })
247
+}
248
+
249
+export {
250
+  useRequest,
251
+  UseRequestProvider,
252
+  request,
253
+  getRequestInstance,
254
+};
255
+
256
+export type {
257
+  AxiosInstance,
258
+  AxiosRequestConfig,
259
+  AxiosResponse,
260
+  AxiosError,
261
+  RequestError,
262
+  IResponseInterceptor as ResponseInterceptor,
263
+  IRequestOptions as RequestOptions,
264
+  IRequest as Request,
265
+};

+ 6
- 0
src/.umi-production/plugin-request/runtimeConfig.d.ts 查看文件

@@ -0,0 +1,6 @@
1
+// This file is generated by Umi automatically
2
+// DO NOT CHANGE IT MANUALLY!
3
+import type { RequestConfig } from './types.d'
4
+export type IRuntimeConfig = {
5
+  request?: RequestConfig
6
+};

+ 10
- 0
src/.umi-production/plugin-request/types.d.ts 查看文件

@@ -0,0 +1,10 @@
1
+// This file is generated by Umi automatically
2
+// DO NOT CHANGE IT MANUALLY!
3
+export type {
4
+  RequestConfig,
5
+  AxiosInstance,
6
+  AxiosRequestConfig,
7
+  AxiosResponse,
8
+  AxiosError,
9
+  RequestError,
10
+  ResponseInterceptor } from './request';

+ 35
- 0
src/.umi-production/tsconfig.json 查看文件

@@ -0,0 +1,35 @@
1
+{
2
+  "compilerOptions": {
3
+    "target": "esnext",
4
+    "module": "esnext",
5
+    "moduleResolution": "node",
6
+    "importHelpers": true,
7
+    "jsx": "react-jsx",
8
+    "esModuleInterop": true,
9
+    "sourceMap": true,
10
+    "baseUrl": "../../",
11
+    "strict": true,
12
+    "resolveJsonModule": true,
13
+    "allowSyntheticDefaultImports": true,
14
+    "paths": {
15
+      "@/*": [
16
+        "src/*"
17
+      ],
18
+      "@@/*": [
19
+        "src/.umi/*"
20
+      ],
21
+      "@umijs/max": [
22
+        "E:\\work\\jgz\\admin\\node_modules\\umi"
23
+      ],
24
+      "@umijs/max/typings": [
25
+        "src/.umi/typings"
26
+      ]
27
+    }
28
+  },
29
+  "include": [
30
+    "../../.umirc.ts",
31
+    "../../**/*.d.ts",
32
+    "../../**/*.ts",
33
+    "../../**/*.tsx"
34
+  ]
35
+}

+ 136
- 0
src/.umi-production/typings.d.ts 查看文件

@@ -0,0 +1,136 @@
1
+// This file is generated by Umi automatically
2
+// DO NOT CHANGE IT MANUALLY!
3
+type CSSModuleClasses = { readonly [key: string]: string }
4
+declare module '*.css' {
5
+  const classes: CSSModuleClasses
6
+  export default classes
7
+}
8
+declare module '*.scss' {
9
+  const classes: CSSModuleClasses
10
+  export default classes
11
+}
12
+declare module '*.sass' {
13
+  const classes: CSSModuleClasses
14
+  export default classes
15
+}
16
+declare module '*.less' {
17
+  const classes: CSSModuleClasses
18
+  export default classes
19
+}
20
+declare module '*.styl' {
21
+  const classes: CSSModuleClasses
22
+  export default classes
23
+}
24
+declare module '*.stylus' {
25
+  const classes: CSSModuleClasses
26
+  export default classes
27
+}
28
+
29
+// images
30
+declare module '*.jpg' {
31
+  const src: string
32
+  export default src
33
+}
34
+declare module '*.jpeg' {
35
+  const src: string
36
+  export default src
37
+}
38
+declare module '*.png' {
39
+  const src: string
40
+  export default src
41
+}
42
+declare module '*.gif' {
43
+  const src: string
44
+  export default src
45
+}
46
+declare module '*.svg' {
47
+  import * as React from 'react';
48
+  export const ReactComponent: React.FunctionComponent<React.SVGProps<
49
+  SVGSVGElement
50
+  > & { title?: string }>;
51
+
52
+  const src: string
53
+  export default src
54
+}
55
+declare module '*.ico' {
56
+  const src: string
57
+  export default src
58
+}
59
+declare module '*.webp' {
60
+  const src: string
61
+  export default src
62
+}
63
+declare module '*.avif' {
64
+  const src: string
65
+  export default src
66
+}
67
+
68
+// media
69
+declare module '*.mp4' {
70
+  const src: string
71
+  export default src
72
+}
73
+declare module '*.webm' {
74
+  const src: string
75
+  export default src
76
+}
77
+declare module '*.ogg' {
78
+  const src: string
79
+  export default src
80
+}
81
+declare module '*.mp3' {
82
+  const src: string
83
+  export default src
84
+}
85
+declare module '*.wav' {
86
+  const src: string
87
+  export default src
88
+}
89
+declare module '*.flac' {
90
+  const src: string
91
+  export default src
92
+}
93
+declare module '*.aac' {
94
+  const src: string
95
+  export default src
96
+}
97
+
98
+// fonts
99
+declare module '*.woff' {
100
+  const src: string
101
+  export default src
102
+}
103
+declare module '*.woff2' {
104
+  const src: string
105
+  export default src
106
+}
107
+declare module '*.eot' {
108
+  const src: string
109
+  export default src
110
+}
111
+declare module '*.ttf' {
112
+  const src: string
113
+  export default src
114
+}
115
+declare module '*.otf' {
116
+  const src: string
117
+  export default src
118
+}
119
+
120
+// other
121
+declare module '*.wasm' {
122
+  const initWasm: (options: WebAssembly.Imports) => Promise<WebAssembly.Exports>
123
+  export default initWasm
124
+}
125
+declare module '*.webmanifest' {
126
+  const src: string
127
+  export default src
128
+}
129
+declare module '*.pdf' {
130
+  const src: string
131
+  export default src
132
+}
133
+declare module '*.txt' {
134
+  const src: string
135
+  export default src
136
+}

+ 62
- 0
src/.umi-production/umi.ts 查看文件

@@ -0,0 +1,62 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import './core/polyfill';
5
+import 'E:/work/jgz/admin/src/global.less';
6
+import 'E:/work/jgz/admin/src/global.jsx';
7
+import 'antd/dist/antd.less';
8
+import { renderClient } from 'E:/work/jgz/admin/node_modules/@umijs/preset-umi/node_modules/@umijs/renderer-react';
9
+import { getRoutes } from './core/route';
10
+import { createPluginManager } from './core/plugin';
11
+import { createHistory } from './core/history';
12
+import { ApplyPluginsType } from 'umi';
13
+
14
+
15
+const publicPath = "/w2/";
16
+const runtimePublicPath = false;
17
+
18
+async function render() {
19
+  const pluginManager = createPluginManager();
20
+  const { routes, routeComponents } = await getRoutes(pluginManager);
21
+
22
+  // allow user to extend routes
23
+  await pluginManager.applyPlugins({
24
+    key: 'patchRoutes',
25
+    type: ApplyPluginsType.event,
26
+    args: {
27
+      routes,
28
+      routeComponents,
29
+    },
30
+  });
31
+
32
+  return (pluginManager.applyPlugins({
33
+    key: 'render',
34
+    type: ApplyPluginsType.compose,
35
+    initialValue() {
36
+      const contextOpts = pluginManager.applyPlugins({
37
+        key: 'modifyContextOpts',
38
+        type: ApplyPluginsType.modify,
39
+        initialValue: {},
40
+      });
41
+      const basename = contextOpts.basename || '/';
42
+      const context = {
43
+        routes,
44
+        routeComponents,
45
+        pluginManager,
46
+        rootElement: contextOpts.rootElement || document.getElementById('root'),
47
+        publicPath,
48
+        runtimePublicPath,
49
+        history: createHistory({
50
+          type: contextOpts.historyType || 'hash',
51
+          basename,
52
+          ...contextOpts.historyOpts,
53
+        }),
54
+        basename,
55
+      };
56
+      return renderClient(context);
57
+    },
58
+  }))();
59
+}
60
+
61
+
62
+render();

+ 9
- 0
src/.umi/core/EmptyRoute.tsx 查看文件

@@ -0,0 +1,9 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import React from 'react';
5
+import { Outlet, useOutletContext } from 'umi';
6
+export default function EmptyRoute() {
7
+  const context = useOutletContext();
8
+  return <Outlet context={context} />;
9
+}

+ 19
- 0
src/.umi/core/defineApp.ts 查看文件

@@ -0,0 +1,19 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import type { IRuntimeConfig as Plugin0 } from 'E:/work/jgz/admin2/src/.umi/plugin-initialState/runtimeConfig.d'
5
+import type { IRuntimeConfig as Plugin1 } from 'E:/work/jgz/admin2/src/.umi/plugin-layout/runtimeConfig.d'
6
+import type { IRuntimeConfig as Plugin2 } from 'E:/work/jgz/admin2/src/.umi/plugin-request/runtimeConfig.d'
7
+interface IDefaultRuntimeConfig {
8
+  onRouteChange?: (props: { routes: any, clientRoutes: any, location: any, action:any }) => void;
9
+  patchRoutes?: (props: { routes: any }) => void;
10
+  patchClientRoutes?: (props: { routes: any }) => void;
11
+  render?: (oldRender: () => void) => void;
12
+  rootContainer?: (lastRootContainer: JSX.Element, args?: any) => void;
13
+  [key: string]: any;
14
+}
15
+export type RuntimeConfig = IDefaultRuntimeConfig & Plugin0 & Plugin1 & Plugin2
16
+
17
+export function defineApp(config: RuntimeConfig): RuntimeConfig {
18
+  return config;
19
+}

+ 61
- 0
src/.umi/core/history.ts 查看文件

@@ -0,0 +1,61 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import { createHashHistory, createMemoryHistory, createBrowserHistory, History } from 'E:/work/jgz/admin2/node_modules/@umijs/preset-umi/node_modules/@umijs/renderer-react';
5
+
6
+let history: History;
7
+let basename: string = '/';
8
+export function createHistory(opts: any) {
9
+  let h;
10
+  if (opts.type === 'hash') {
11
+    h = createHashHistory();
12
+  } else if (opts.type === 'memory') {
13
+    h = createMemoryHistory(opts);
14
+  } else {
15
+    h = createBrowserHistory();
16
+  }
17
+  if (opts.basename) {
18
+    basename = opts.basename;
19
+  }
20
+
21
+  history = {
22
+    ...h,
23
+    push(to, state) {
24
+      h.push(patchTo(to), state);
25
+    },
26
+    replace(to, state) {
27
+      h.replace(patchTo(to), state);
28
+    },
29
+    get location() {
30
+      return h.location;
31
+    },
32
+    get action() {
33
+      return h.action;
34
+    }
35
+  }
36
+
37
+  return h;
38
+}
39
+
40
+// Patch `to` to support basename
41
+// Refs:
42
+// https://github.com/remix-run/history/blob/3e9dab4/packages/history/index.ts#L484
43
+// https://github.com/remix-run/history/blob/dev/docs/api-reference.md#to
44
+function patchTo(to: any) {
45
+  if (typeof to === 'string') {
46
+    return `${stripLastSlash(basename)}${to}`;
47
+  } else if (typeof to === 'object' && to.pathname) {
48
+    return {
49
+      ...to,
50
+      pathname: `${stripLastSlash(basename)}${to.pathname}`,
51
+    };
52
+  } else {
53
+    throw new Error(`Unexpected to: ${to}`);
54
+  }
55
+}
56
+
57
+function stripLastSlash(path) {
58
+  return path.slice(-1) === '/' ? path.slice(0, -1) : path;
59
+}
60
+
61
+export { history };

+ 57
- 0
src/.umi/core/plugin.ts 查看文件

@@ -0,0 +1,57 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import * as Plugin_0 from 'E:/work/jgz/admin2/src/app.jsx';
5
+import * as Plugin_1 from 'E:/work/jgz/admin2/src/.umi/plugin-access/runtime.tsx';
6
+import * as Plugin_2 from 'E:/work/jgz/admin2/src/.umi/plugin-initialState/runtime.tsx';
7
+import * as Plugin_3 from 'E:/work/jgz/admin2/src/.umi/plugin-layout/runtime.tsx';
8
+import * as Plugin_4 from 'E:/work/jgz/admin2/src/.umi/plugin-model/runtime.tsx';
9
+import { PluginManager } from 'umi';
10
+
11
+function __defaultExport (obj) {
12
+  if (obj.default) {
13
+    return typeof obj.default === 'function' ? obj.default() :  obj.default
14
+  }
15
+  return obj;
16
+}
17
+export function getPlugins() {
18
+  return [
19
+    {
20
+      apply: __defaultExport(Plugin_0),
21
+      path: process.env.NODE_ENV === 'production' ? void 0 : 'E:/work/jgz/admin2/src/app.jsx',
22
+    },
23
+    {
24
+      apply: Plugin_1,
25
+      path: process.env.NODE_ENV === 'production' ? void 0 : 'E:/work/jgz/admin2/src/.umi/plugin-access/runtime.tsx',
26
+    },
27
+    {
28
+      apply: Plugin_2,
29
+      path: process.env.NODE_ENV === 'production' ? void 0 : 'E:/work/jgz/admin2/src/.umi/plugin-initialState/runtime.tsx',
30
+    },
31
+    {
32
+      apply: Plugin_3,
33
+      path: process.env.NODE_ENV === 'production' ? void 0 : 'E:/work/jgz/admin2/src/.umi/plugin-layout/runtime.tsx',
34
+    },
35
+    {
36
+      apply: Plugin_4,
37
+      path: process.env.NODE_ENV === 'production' ? void 0 : 'E:/work/jgz/admin2/src/.umi/plugin-model/runtime.tsx',
38
+    },
39
+  ];
40
+}
41
+
42
+export function getValidKeys() {
43
+  return ['patchRoutes','patchClientRoutes','modifyContextOpts','rootContainer','innerProvider','i18nProvider','accessProvider','dataflowProvider','outerProvider','render','onRouteChange','getInitialState','layout','qiankun','request',];
44
+}
45
+
46
+let pluginManager = null;
47
+export function createPluginManager() {
48
+  pluginManager = PluginManager.create({
49
+    plugins: getPlugins(),
50
+    validKeys: getValidKeys(),
51
+  });
52
+  return pluginManager;
53
+}
54
+
55
+export function getPluginManager() {
56
+  return pluginManager;
57
+}

+ 314
- 0
src/.umi/core/pluginConfig.d.ts 查看文件

@@ -0,0 +1,314 @@
1
+// This file is generated by Umi automatically
2
+// DO NOT CHANGE IT MANUALLY!
3
+// Created by Umi Plugin
4
+
5
+export interface IConfigFromPlugins {
6
+clientLoader?: {
7
+
8
+}
9
+title?: string
10
+styles?: any[]
11
+scripts?: any[]
12
+routes?: {
13
+
14
+}[]
15
+reactRouter5Compat?: {
16
+
17
+}
18
+presets?: string[]
19
+plugins?: string[]
20
+npmClient?: ("pnpm" | "tnpm" | "cnpm" | "yarn" | "npm")
21
+mountElementId?: string
22
+metas?: any[]
23
+links?: any[]
24
+historyWithQuery?: {
25
+
26
+}
27
+history?: {
28
+type?: ("browser" | "hash" | "memory")
29
+}
30
+headScripts?: any[]
31
+conventionRoutes?: {
32
+base?: string
33
+exclude?: any[]
34
+}
35
+base?: string
36
+writeToDisk?: boolean
37
+theme?: {
38
+
39
+}
40
+targets?: {
41
+
42
+}
43
+svgr?: {
44
+
45
+}
46
+svgo?: ({
47
+
48
+} | boolean)
49
+styleLoader?: {
50
+
51
+}
52
+srcTranspiler?: ("babel" | "esbuild" | "swc" | "none")
53
+sassLoader?: {
54
+
55
+}
56
+runtimePublicPath?: {
57
+
58
+}
59
+purgeCSS?: {
60
+
61
+}
62
+publicPath?: string
63
+proxy?: ({
64
+
65
+} | any[])
66
+postcssLoader?: {
67
+
68
+}
69
+outputPath?: string
70
+mfsu?: ({
71
+cacheDirectory?: string
72
+chainWebpack?: (() => any)
73
+esbuild?: boolean
74
+exclude?: any[]
75
+include?: string[]
76
+mfName?: string
77
+remoteAliases?: string[]
78
+remoteName?: string
79
+runtimePublicPath?: boolean
80
+shared?: {
81
+
82
+}
83
+strategy?: ("eager" | "normal")
84
+} | boolean)
85
+mdx?: {
86
+loader?: string
87
+loaderOptions?: {
88
+
89
+}
90
+}
91
+manifest?: {
92
+
93
+}
94
+lessLoader?: {
95
+
96
+}
97
+jsMinifierOptions?: {
98
+
99
+}
100
+jsMinifier?: ("esbuild" | "swc" | "terser" | "uglifyJs" | "none")
101
+inlineLimit?: number
102
+ignoreMomentLocale?: boolean
103
+https?: {
104
+
105
+}
106
+hash?: boolean
107
+forkTSChecker?: {
108
+
109
+}
110
+fastRefresh?: boolean
111
+extraPostCSSPlugins?: any[]
112
+extraBabelPresets?: any[]
113
+extraBabelPlugins?: any[]
114
+extraBabelIncludes?: any[]
115
+externals?: ({
116
+
117
+} | string | (() => any))
118
+esm?: {
119
+
120
+}
121
+devtool?: (string | boolean)
122
+depTranspiler?: ("babel" | "esbuild" | "swc" | "none")
123
+define?: {
124
+
125
+}
126
+deadCode?: {
127
+
128
+}
129
+cssMinifierOptions?: {
130
+
131
+}
132
+cssMinifier?: ("cssnano" | "esbuild" | "parcelCSS" | "none")
133
+cssLoaderModules?: {
134
+
135
+}
136
+cssLoader?: {
137
+
138
+}
139
+copy?: any[]
140
+chainWebpack?: (() => any)
141
+cacheDirectoryPath?: string
142
+babelLoaderCustomize?: string
143
+autoprefixer?: {
144
+
145
+}
146
+autoCSSModules?: boolean
147
+alias?: {
148
+
149
+}
150
+crossorigin?: (boolean | {
151
+include?: {
152
+
153
+}[]
154
+})
155
+esmi?: {
156
+cdnOrigin?: string
157
+shimUrl?: string
158
+}
159
+favicons?: string[]
160
+mock?: {
161
+exclude?: string[]
162
+include?: string[]
163
+}
164
+mpa?: {
165
+template?: string
166
+getConfigFromEntryFile?: boolean
167
+}
168
+polyfill?: {
169
+imports?: string[]
170
+}
171
+routePrefetch?: {
172
+
173
+}
174
+ssr?: {
175
+serverBuildPath?: string
176
+platform?: string
177
+}
178
+terminal?: {
179
+
180
+}
181
+tmpFiles?: boolean
182
+lowImport?: {
183
+libs?: any[]
184
+css?: string
185
+}
186
+vite?: {
187
+
188
+}
189
+apiRoute?: {
190
+platform?: string
191
+}
192
+monorepoRedirect?: (boolean | {
193
+srcDir?: string[]
194
+exclude?: {
195
+
196
+}[]
197
+})
198
+clickToComponent?: {
199
+editor?: string
200
+}
201
+legacy?: {
202
+buildOnly?: boolean
203
+nodeModulesTransform?: boolean
204
+}
205
+verifyCommit?: {
206
+scope?: string[]
207
+allowEmoji?: boolean
208
+}
209
+run?: {
210
+globals?: string[]
211
+}
212
+access?: ({
213
+
214
+} | boolean)
215
+analytics?: ({
216
+
217
+} | boolean)
218
+antd?: ({
219
+configProvider?: {
220
+
221
+}
222
+dark?: boolean
223
+compact?: boolean
224
+import?: boolean
225
+style?: ("less" | "css")
226
+} | boolean)
227
+dva?: ({
228
+extraModels?: string[]
229
+immer?: {
230
+
231
+}
232
+} | boolean)
233
+initialState?: ({
234
+loading?: string
235
+} | boolean)
236
+layout?: ({
237
+
238
+} | boolean)
239
+locale?: ({
240
+default?: string
241
+useLocalStorage?: boolean
242
+baseNavigator?: boolean
243
+title?: boolean
244
+antd?: boolean
245
+baseSeparator?: string
246
+} | boolean)
247
+mf?: {
248
+name?: string
249
+remotes?: {
250
+aliasName?: string
251
+name?: string
252
+entry?: string
253
+entries?: {
254
+
255
+}
256
+keyResolver?: string
257
+}[]
258
+shared?: {
259
+
260
+}
261
+library?: {
262
+
263
+}
264
+}
265
+model?: ({
266
+extraModels?: string[]
267
+} | boolean)
268
+moment2dayjs?: ({
269
+preset?: string
270
+plugins?: any[]
271
+} | boolean)
272
+qiankun?: ({
273
+slave?: {
274
+
275
+}
276
+master?: {
277
+
278
+}
279
+externalQiankun?: boolean
280
+} | boolean)
281
+request?: ({
282
+dataField?: ""
283
+} | boolean)
284
+tailwindcss?: ({
285
+
286
+} | boolean)
287
+openAPI?: ({
288
+requestLibPath?: string
289
+schemaPath?: string
290
+mock?: boolean
291
+projectName?: string
292
+apiPrefix?: (string | (() => any))
293
+namespace?: string
294
+hook?: {
295
+customFunctionName?: (() => any)
296
+customClassName?: (() => any)
297
+}
298
+}[] | {
299
+requestLibPath?: string
300
+schemaPath?: string
301
+mock?: boolean
302
+projectName?: string
303
+apiPrefix?: (string | (() => any))
304
+namespace?: string
305
+hook?: {
306
+customFunctionName?: (() => any)
307
+customClassName?: (() => any)
308
+}
309
+})
310
+keepalive?: any[]
311
+tabsLayout?: (boolean | {
312
+hasCustomTabs?: boolean
313
+})
314
+}

+ 359
- 0
src/.umi/core/polyfill.ts 查看文件

@@ -0,0 +1,359 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.symbol.js";
5
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.symbol.description.js";
6
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.symbol.async-iterator.js";
7
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.symbol.has-instance.js";
8
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.symbol.is-concat-spreadable.js";
9
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.symbol.iterator.js";
10
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.symbol.match.js";
11
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.symbol.match-all.js";
12
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.symbol.replace.js";
13
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.symbol.search.js";
14
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.symbol.species.js";
15
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.symbol.split.js";
16
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.symbol.to-primitive.js";
17
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.symbol.to-string-tag.js";
18
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.symbol.unscopables.js";
19
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.error.cause.js";
20
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.aggregate-error.js";
21
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.aggregate-error.cause.js";
22
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.array.at.js";
23
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.array.concat.js";
24
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.array.copy-within.js";
25
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.array.fill.js";
26
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.array.filter.js";
27
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.array.find.js";
28
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.array.find-index.js";
29
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.array.flat.js";
30
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.array.flat-map.js";
31
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.array.from.js";
32
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.array.includes.js";
33
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.array.iterator.js";
34
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.array.join.js";
35
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.array.map.js";
36
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.array.of.js";
37
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.array.slice.js";
38
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.array.sort.js";
39
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.array.species.js";
40
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.array.splice.js";
41
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.array.unscopables.flat.js";
42
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.array.unscopables.flat-map.js";
43
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.array-buffer.constructor.js";
44
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.date.to-primitive.js";
45
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.function.has-instance.js";
46
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.function.name.js";
47
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.global-this.js";
48
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.json.stringify.js";
49
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.json.to-string-tag.js";
50
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.map.js";
51
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.math.acosh.js";
52
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.math.asinh.js";
53
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.math.atanh.js";
54
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.math.cbrt.js";
55
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.math.clz32.js";
56
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.math.cosh.js";
57
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.math.expm1.js";
58
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.math.fround.js";
59
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.math.hypot.js";
60
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.math.imul.js";
61
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.math.log10.js";
62
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.math.log1p.js";
63
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.math.log2.js";
64
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.math.sign.js";
65
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.math.sinh.js";
66
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.math.tanh.js";
67
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.math.to-string-tag.js";
68
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.math.trunc.js";
69
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.number.constructor.js";
70
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.number.epsilon.js";
71
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.number.is-finite.js";
72
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.number.is-integer.js";
73
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.number.is-nan.js";
74
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.number.is-safe-integer.js";
75
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.number.max-safe-integer.js";
76
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.number.min-safe-integer.js";
77
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.number.parse-float.js";
78
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.number.parse-int.js";
79
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.number.to-exponential.js";
80
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.number.to-fixed.js";
81
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.object.assign.js";
82
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.object.define-getter.js";
83
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.object.define-setter.js";
84
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.object.entries.js";
85
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.object.freeze.js";
86
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.object.from-entries.js";
87
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.object.get-own-property-descriptor.js";
88
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.object.get-own-property-descriptors.js";
89
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.object.get-own-property-names.js";
90
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.object.get-prototype-of.js";
91
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.object.has-own.js";
92
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.object.is.js";
93
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.object.is-extensible.js";
94
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.object.is-frozen.js";
95
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.object.is-sealed.js";
96
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.object.keys.js";
97
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.object.lookup-getter.js";
98
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.object.lookup-setter.js";
99
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.object.prevent-extensions.js";
100
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.object.seal.js";
101
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.object.to-string.js";
102
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.object.values.js";
103
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.promise.js";
104
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.promise.all-settled.js";
105
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.promise.any.js";
106
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.promise.finally.js";
107
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.reflect.apply.js";
108
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.reflect.construct.js";
109
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.reflect.define-property.js";
110
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.reflect.delete-property.js";
111
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.reflect.get.js";
112
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.reflect.get-own-property-descriptor.js";
113
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.reflect.get-prototype-of.js";
114
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.reflect.has.js";
115
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.reflect.is-extensible.js";
116
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.reflect.own-keys.js";
117
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.reflect.prevent-extensions.js";
118
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.reflect.set.js";
119
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.reflect.set-prototype-of.js";
120
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.reflect.to-string-tag.js";
121
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.regexp.constructor.js";
122
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.regexp.dot-all.js";
123
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.regexp.exec.js";
124
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.regexp.flags.js";
125
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.regexp.sticky.js";
126
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.regexp.test.js";
127
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.regexp.to-string.js";
128
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.set.js";
129
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.at-alternative.js";
130
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.code-point-at.js";
131
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.ends-with.js";
132
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.from-code-point.js";
133
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.includes.js";
134
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.iterator.js";
135
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.match.js";
136
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.match-all.js";
137
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.pad-end.js";
138
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.pad-start.js";
139
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.raw.js";
140
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.repeat.js";
141
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.replace.js";
142
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.replace-all.js";
143
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.search.js";
144
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.split.js";
145
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.starts-with.js";
146
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.trim.js";
147
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.trim-end.js";
148
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.trim-start.js";
149
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.anchor.js";
150
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.big.js";
151
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.blink.js";
152
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.bold.js";
153
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.fixed.js";
154
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.fontcolor.js";
155
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.fontsize.js";
156
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.italics.js";
157
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.link.js";
158
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.small.js";
159
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.strike.js";
160
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.sub.js";
161
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.string.sup.js";
162
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.float32-array.js";
163
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.float64-array.js";
164
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.int8-array.js";
165
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.int16-array.js";
166
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.int32-array.js";
167
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.uint8-array.js";
168
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.uint8-clamped-array.js";
169
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.uint16-array.js";
170
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.uint32-array.js";
171
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.at.js";
172
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.copy-within.js";
173
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.every.js";
174
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.fill.js";
175
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.filter.js";
176
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.find.js";
177
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.find-index.js";
178
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.for-each.js";
179
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.from.js";
180
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.includes.js";
181
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.index-of.js";
182
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.iterator.js";
183
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.join.js";
184
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.last-index-of.js";
185
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.map.js";
186
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.of.js";
187
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.reduce.js";
188
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.reduce-right.js";
189
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.reverse.js";
190
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.set.js";
191
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.slice.js";
192
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.some.js";
193
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.sort.js";
194
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.subarray.js";
195
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.to-locale-string.js";
196
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.typed-array.to-string.js";
197
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.weak-map.js";
198
+import "E:/work/jgz/admin2/node_modules/core-js/modules/es.weak-set.js";
199
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.array.from-async.js";
200
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.array.filter-out.js";
201
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.array.filter-reject.js";
202
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.array.find-last.js";
203
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.array.find-last-index.js";
204
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.array.group-by.js";
205
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.array.group-by-to-map.js";
206
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.array.is-template-object.js";
207
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.array.last-index.js";
208
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.array.last-item.js";
209
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.array.to-reversed.js";
210
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.array.to-sorted.js";
211
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.array.to-spliced.js";
212
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.array.unique-by.js";
213
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.array.with.js";
214
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.async-iterator.constructor.js";
215
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.async-iterator.as-indexed-pairs.js";
216
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.async-iterator.drop.js";
217
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.async-iterator.every.js";
218
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.async-iterator.filter.js";
219
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.async-iterator.find.js";
220
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.async-iterator.flat-map.js";
221
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.async-iterator.for-each.js";
222
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.async-iterator.from.js";
223
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.async-iterator.map.js";
224
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.async-iterator.reduce.js";
225
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.async-iterator.some.js";
226
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.async-iterator.take.js";
227
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.async-iterator.to-array.js";
228
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.bigint.range.js";
229
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.composite-key.js";
230
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.composite-symbol.js";
231
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.function.is-callable.js";
232
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.function.is-constructor.js";
233
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.function.un-this.js";
234
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.iterator.constructor.js";
235
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.iterator.as-indexed-pairs.js";
236
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.iterator.drop.js";
237
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.iterator.every.js";
238
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.iterator.filter.js";
239
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.iterator.find.js";
240
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.iterator.flat-map.js";
241
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.iterator.for-each.js";
242
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.iterator.from.js";
243
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.iterator.map.js";
244
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.iterator.reduce.js";
245
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.iterator.some.js";
246
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.iterator.take.js";
247
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.iterator.to-array.js";
248
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.iterator.to-async.js";
249
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.map.delete-all.js";
250
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.map.emplace.js";
251
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.map.every.js";
252
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.map.filter.js";
253
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.map.find.js";
254
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.map.find-key.js";
255
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.map.from.js";
256
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.map.group-by.js";
257
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.map.includes.js";
258
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.map.key-by.js";
259
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.map.key-of.js";
260
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.map.map-keys.js";
261
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.map.map-values.js";
262
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.map.merge.js";
263
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.map.of.js";
264
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.map.reduce.js";
265
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.map.some.js";
266
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.map.update.js";
267
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.map.update-or-insert.js";
268
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.map.upsert.js";
269
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.math.clamp.js";
270
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.math.deg-per-rad.js";
271
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.math.degrees.js";
272
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.math.fscale.js";
273
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.math.iaddh.js";
274
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.math.imulh.js";
275
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.math.isubh.js";
276
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.math.rad-per-deg.js";
277
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.math.radians.js";
278
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.math.scale.js";
279
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.math.seeded-prng.js";
280
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.math.signbit.js";
281
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.math.umulh.js";
282
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.number.from-string.js";
283
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.number.range.js";
284
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.object.iterate-entries.js";
285
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.object.iterate-keys.js";
286
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.object.iterate-values.js";
287
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.observable.js";
288
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.promise.try.js";
289
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.reflect.define-metadata.js";
290
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.reflect.delete-metadata.js";
291
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.reflect.get-metadata.js";
292
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.reflect.get-metadata-keys.js";
293
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.reflect.get-own-metadata.js";
294
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.reflect.get-own-metadata-keys.js";
295
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.reflect.has-metadata.js";
296
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.reflect.has-own-metadata.js";
297
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.reflect.metadata.js";
298
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.set.add-all.js";
299
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.set.delete-all.js";
300
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.set.difference.js";
301
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.set.every.js";
302
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.set.filter.js";
303
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.set.find.js";
304
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.set.from.js";
305
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.set.intersection.js";
306
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.set.is-disjoint-from.js";
307
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.set.is-subset-of.js";
308
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.set.is-superset-of.js";
309
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.set.join.js";
310
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.set.map.js";
311
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.set.of.js";
312
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.set.reduce.js";
313
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.set.some.js";
314
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.set.symmetric-difference.js";
315
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.set.union.js";
316
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.string.at.js";
317
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.string.cooked.js";
318
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.string.code-points.js";
319
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.symbol.async-dispose.js";
320
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.symbol.dispose.js";
321
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.symbol.matcher.js";
322
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.symbol.metadata.js";
323
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.symbol.observable.js";
324
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.symbol.pattern-match.js";
325
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.symbol.replace-all.js";
326
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.typed-array.from-async.js";
327
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.typed-array.filter-out.js";
328
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.typed-array.filter-reject.js";
329
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.typed-array.find-last.js";
330
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.typed-array.find-last-index.js";
331
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.typed-array.group-by.js";
332
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.typed-array.to-reversed.js";
333
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.typed-array.to-sorted.js";
334
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.typed-array.to-spliced.js";
335
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.typed-array.unique-by.js";
336
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.typed-array.with.js";
337
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.weak-map.delete-all.js";
338
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.weak-map.from.js";
339
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.weak-map.of.js";
340
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.weak-map.emplace.js";
341
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.weak-map.upsert.js";
342
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.weak-set.add-all.js";
343
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.weak-set.delete-all.js";
344
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.weak-set.from.js";
345
+import "E:/work/jgz/admin2/node_modules/core-js/modules/esnext.weak-set.of.js";
346
+import "E:/work/jgz/admin2/node_modules/core-js/modules/web.atob.js";
347
+import "E:/work/jgz/admin2/node_modules/core-js/modules/web.btoa.js";
348
+import "E:/work/jgz/admin2/node_modules/core-js/modules/web.dom-collections.for-each.js";
349
+import "E:/work/jgz/admin2/node_modules/core-js/modules/web.dom-collections.iterator.js";
350
+import "E:/work/jgz/admin2/node_modules/core-js/modules/web.dom-exception.constructor.js";
351
+import "E:/work/jgz/admin2/node_modules/core-js/modules/web.dom-exception.stack.js";
352
+import "E:/work/jgz/admin2/node_modules/core-js/modules/web.dom-exception.to-string-tag.js";
353
+import "E:/work/jgz/admin2/node_modules/core-js/modules/web.queue-microtask.js";
354
+import "E:/work/jgz/admin2/node_modules/core-js/modules/web.structured-clone.js";
355
+import "E:/work/jgz/admin2/node_modules/core-js/modules/web.url.js";
356
+import "E:/work/jgz/admin2/node_modules/core-js/modules/web.url.to-json.js";
357
+import "E:/work/jgz/admin2/node_modules/core-js/modules/web.url-search-params.js";
358
+import 'E:/work/jgz/admin2/node_modules/regenerator-runtime/runtime.js';
359
+export {};

+ 36
- 0
src/.umi/core/route.tsx 查看文件

@@ -0,0 +1,36 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import React from 'react';
5
+
6
+export async function getRoutes() {
7
+  return {
8
+    routes: {"1":{"path":"/user","layout":false,"id":"1"},"2":{"name":"login","path":"/user/login","file":"@/pages/User/Login/index.jsx","parentId":"1","id":"2"},"3":{"file":"@/pages/404.jsx","parentId":"1","id":"3"},"4":{"path":"/","redirect":"/rotationChart/list","parentId":"ant-design-pro-layout","id":"4"},"5":{"path":"/rotationChart","name":"轮播图管理","icon":"picCenter","parentId":"ant-design-pro-layout","id":"5"},"6":{"path":"/rotationChart/list","name":"轮播图管理","file":"@/pages/rotationChart/list/index.jsx","parentId":"5","id":"6"},"7":{"path":"/rotationChart/add","name":"轮播图新增","hideInMenu":true,"file":"@/pages/rotationChart/edit/index.jsx","parentId":"ant-design-pro-layout","id":"7"},"8":{"path":"/rotationChart/edit","name":"轮播图编辑","hideInMenu":true,"file":"@/pages/rotationChart/edit/index.jsx","parentId":"ant-design-pro-layout","id":"8"},"9":{"path":"/dish/list","name":"菜肴管理","icon":"VideoCameraOutlined","file":"@/pages/dish/list/index.jsx","parentId":"ant-design-pro-layout","id":"9"},"10":{"path":"/dish/add","name":"菜肴详情","icon":"smile","hideInMenu":true,"file":"@/pages/dish/edit/index.jsx","parentId":"ant-design-pro-layout","id":"10"},"11":{"path":"/dish/edit","name":"菜肴修改","hideInMenu":true,"file":"@/pages/dish/edit/index.jsx","parentId":"ant-design-pro-layout","id":"11"},"12":{"path":"/package/list","name":"套餐管理","icon":"shopping","file":"@/pages/package/index.jsx","parentId":"ant-design-pro-layout","id":"12"},"13":{"path":"/guaranteeTask/list","name":"任务管理","icon":"borderBottom","file":"@/pages/guaranteeTask/index.jsx","parentId":"ant-design-pro-layout","id":"13"},"14":{"path":"/guaranteeTask/edit","name":"任务详情","icon":"borderBottom","hideInMenu":true,"file":"@/pages/guaranteeTask/Edit/index.jsx","parentId":"ant-design-pro-layout","id":"14"},"15":{"path":"/stock/list","name":"库存管理","icon":"appstore","file":"@/pages/stock/list/index.jsx","parentId":"ant-design-pro-layout","id":"15"},"16":{"path":"/stock/add","name":"库存新增","hideInMenu":true,"file":"@/pages/stock/edit/index.jsx","parentId":"ant-design-pro-layout","id":"16"},"17":{"path":"/stock/edit","name":"库存详细","hideInMenu":true,"file":"@/pages/stock/edit/index.jsx","parentId":"ant-design-pro-layout","id":"17"},"18":{"path":"/stock/outAndIn","name":"出入库管理","hideInMenu":true,"file":"@/pages/stock/outAndIn/index.jsx","parentId":"ant-design-pro-layout","id":"18"},"19":{"path":"/stockLog/list","name":"库存日志","icon":"appstoreAdd","file":"@/pages/stock/stockLog/index.jsx","parentId":"ant-design-pro-layout","id":"19"},"20":{"path":"/stockClassification/list","name":"库存分类","icon":"sortAscending","file":"@/pages/stockClassification/list/index.jsx","parentId":"ant-design-pro-layout","id":"20"},"21":{"path":"/stockClassification/edit","name":"分类编辑","hideInMenu":true,"file":"@/pages/stockClassification/edit/index.jsx","parentId":"ant-design-pro-layout","id":"21"},"22":{"path":"/guaranteeTask/print","name":"保障单打印","hideInMenu":true,"layout":false,"file":"@/pages/guaranteeTask/print/index.jsx","id":"22"},"23":{"file":"@/pages/404.jsx","parentId":"ant-design-pro-layout","id":"23"},"ant-design-pro-layout":{"id":"ant-design-pro-layout","path":"/","file":"@/.umi/plugin-layout/Layout.tsx","isLayout":true}},
9
+    routeComponents: {
10
+'1': React.lazy(() => import( './EmptyRoute')),
11
+'2': React.lazy(() => import(/* webpackChunkName: "p__User__Login__index" */'@/pages/User/Login/index.jsx')),
12
+'3': React.lazy(() => import(/* webpackChunkName: "p__404" */'@/pages/404.jsx')),
13
+'4': React.lazy(() => import( './EmptyRoute')),
14
+'5': React.lazy(() => import( './EmptyRoute')),
15
+'6': React.lazy(() => import(/* webpackChunkName: "p__rotationChart__list__index" */'@/pages/rotationChart/list/index.jsx')),
16
+'7': React.lazy(() => import(/* webpackChunkName: "p__rotationChart__edit__index" */'@/pages/rotationChart/edit/index.jsx')),
17
+'8': React.lazy(() => import(/* webpackChunkName: "p__rotationChart__edit__index" */'@/pages/rotationChart/edit/index.jsx')),
18
+'9': React.lazy(() => import(/* webpackChunkName: "p__dish__list__index" */'@/pages/dish/list/index.jsx')),
19
+'10': React.lazy(() => import(/* webpackChunkName: "p__dish__edit__index" */'@/pages/dish/edit/index.jsx')),
20
+'11': React.lazy(() => import(/* webpackChunkName: "p__dish__edit__index" */'@/pages/dish/edit/index.jsx')),
21
+'12': React.lazy(() => import(/* webpackChunkName: "p__package__index" */'@/pages/package/index.jsx')),
22
+'13': React.lazy(() => import(/* webpackChunkName: "p__guaranteeTask__index" */'@/pages/guaranteeTask/index.jsx')),
23
+'14': React.lazy(() => import(/* webpackChunkName: "p__guaranteeTask__Edit__index" */'@/pages/guaranteeTask/Edit/index.jsx')),
24
+'15': React.lazy(() => import(/* webpackChunkName: "p__stock__list__index" */'@/pages/stock/list/index.jsx')),
25
+'16': React.lazy(() => import(/* webpackChunkName: "p__stock__edit__index" */'@/pages/stock/edit/index.jsx')),
26
+'17': React.lazy(() => import(/* webpackChunkName: "p__stock__edit__index" */'@/pages/stock/edit/index.jsx')),
27
+'18': React.lazy(() => import(/* webpackChunkName: "p__stock__outAndIn__index" */'@/pages/stock/outAndIn/index.jsx')),
28
+'19': React.lazy(() => import(/* webpackChunkName: "p__stock__stockLog__index" */'@/pages/stock/stockLog/index.jsx')),
29
+'20': React.lazy(() => import(/* webpackChunkName: "p__stockClassification__list__index" */'@/pages/stockClassification/list/index.jsx')),
30
+'21': React.lazy(() => import(/* webpackChunkName: "p__stockClassification__edit__index" */'@/pages/stockClassification/edit/index.jsx')),
31
+'22': React.lazy(() => import(/* webpackChunkName: "p__guaranteeTask__print__index" */'@/pages/guaranteeTask/print/index.jsx')),
32
+'23': React.lazy(() => import(/* webpackChunkName: "p__404" */'@/pages/404.jsx')),
33
+'ant-design-pro-layout': React.lazy(() => import(/* webpackChunkName: ".umi__plugin-layout__Layout" */'@/.umi/plugin-layout/Layout.tsx')),
34
+},
35
+  };
36
+}

+ 38
- 0
src/.umi/core/terminal.ts 查看文件

@@ -0,0 +1,38 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+const console = globalThis.console;
5
+let count = 0;
6
+let groupLevel = 0;
7
+function send(type: string, message?: string) {
8
+  if(process.env.NODE_ENV==='production'){
9
+    return;
10
+  }else{
11
+    const encodedMessage = message ? `&m=${encodeURI(message)}` : '';
12
+    fetch(`/__umi/api/terminal?type=${type}&t=${Date.now()}&c=${count++}&g=${groupLevel}${encodedMessage}`, { mode: 'no-cors' })
13
+  }
14
+}
15
+function prettyPrint(obj: any) {
16
+  return JSON.stringify(obj, null, 2);
17
+}
18
+function stringifyObjs(objs: any[]) {
19
+  const obj = objs.length > 1 ? objs.map(stringify).join(' ') : objs[0];
20
+  return typeof obj === 'object' ? `${prettyPrint(obj)}` : obj.toString();
21
+}
22
+function stringify(obj: any) {
23
+  return typeof obj === 'object' ? `${JSON.stringify(obj)}` : obj.toString();
24
+}
25
+const terminal = {
26
+  log(...objs: any[]) { send('log', stringifyObjs(objs)) },
27
+  info(...objs: any[]) { send('info', stringifyObjs(objs)) },
28
+  warn(...objs: any[]) { send('warn', stringifyObjs(objs)) },
29
+  error(...objs: any[]) { send('error', stringifyObjs(objs)) },
30
+  group() { groupLevel++ },
31
+  groupCollapsed() { groupLevel++ },
32
+  groupEnd() { groupLevel && --groupLevel },
33
+  clear() { send('clear') },
34
+  trace(...args: any[]) { console.trace(...args) },
35
+  profile(...args: any[]) { console.profile(...args) },
36
+  profileEnd(...args: any[]) { console.profileEnd(...args) },
37
+};
38
+export { terminal };

+ 18
- 0
src/.umi/exports.ts 查看文件

@@ -0,0 +1,18 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+// @umijs/renderer-*
5
+export { createBrowserHistory, createHashHistory, createMemoryHistory, createSearchParams, generatePath, matchPath, matchRoutes, Navigate, NavLink, Outlet, resolvePath, useLocation, useMatch, useNavigate, useOutlet, useOutletContext, useParams, useResolvedPath, useRoutes, useSearchParams, useAppData, useClientLoaderData, useServerLoaderData, renderClient, __getRoot, Link, useRouteData, __useFetcher, withRouter } from 'E:/work/jgz/admin2/node_modules/@umijs/preset-umi/node_modules/@umijs/renderer-react';
6
+// umi/client/client/plugin
7
+export { ApplyPluginsType, PluginManager } from 'E:/work/jgz/admin2/node_modules/umi/client/client/plugin.js';
8
+export { history, createHistory } from './core/history';
9
+export { terminal } from './core/terminal';
10
+// plugins
11
+export { Access, useAccess, useAccessMarkedRoutes } from 'E:/work/jgz/admin2/src/.umi/plugin-access';
12
+export { Provider, useModel } from 'E:/work/jgz/admin2/src/.umi/plugin-model';
13
+export { useRequest, UseRequestProvider, request, getRequestInstance } from 'E:/work/jgz/admin2/src/.umi/plugin-request';
14
+// plugins types.d.ts
15
+export * from 'E:/work/jgz/admin2/src/.umi/plugin-layout/types.d';
16
+export * from 'E:/work/jgz/admin2/src/.umi/plugin-request/types.d';
17
+export { defineApp } from './core/defineApp'
18
+export type {  RuntimeConfig } from './core/defineApp'

+ 5
- 0
src/.umi/plugin-access/context.ts 查看文件

@@ -0,0 +1,5 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import React from 'react';
5
+export const AccessContext = React.createContext<any>(null);

+ 67
- 0
src/.umi/plugin-access/index.tsx 查看文件

@@ -0,0 +1,67 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import React, { PropsWithChildren } from 'react';
5
+import { AccessContext } from './context';
6
+import type { IRoute } from 'umi';
7
+
8
+export const useAccess = () => {
9
+  return React.useContext(AccessContext);
10
+};
11
+
12
+export interface AccessProps {
13
+  accessible: boolean;
14
+  fallback?: React.ReactNode;
15
+}
16
+export const Access: React.FC<PropsWithChildren<AccessProps>> = (props) => {
17
+  if (process.env.NODE_ENV === 'development' && typeof props.accessible !== 'boolean') {
18
+    throw new Error('[access] the `accessible` property on <Access /> should be a boolean');
19
+  }
20
+
21
+  return <>{ props.accessible ? props.children : props.fallback }</>;
22
+};
23
+
24
+export const useAccessMarkedRoutes = (routes: IRoute[]) => {
25
+  const access = useAccess();
26
+  const markdedRoutes: IRoute[] = React.useMemo(() => {
27
+    const process = (route, parentAccessCode) => {
28
+      const accessCode = route.access || parentAccessCode;
29
+
30
+      // set default status
31
+      route.unaccessible = false;
32
+
33
+      // check access code
34
+      if (typeof accessCode === 'string') {
35
+        const detector = access[accessCode];
36
+
37
+        if (typeof detector === 'function') {
38
+          route.unaccessible = !detector(route);
39
+        } else if (typeof detector === 'boolean') {
40
+          route.unaccessible = !detector;
41
+        } else if (typeof detector === 'undefined') {
42
+          route.unaccessible = true;
43
+        }
44
+      }
45
+
46
+      // check children access code
47
+      if (route.children?.length) {
48
+        const isNoAccessibleChild = !route.children.reduce((hasAccessibleChild, child) => {
49
+          process(child, accessCode);
50
+
51
+          return hasAccessibleChild || !child.unaccessible;
52
+        }, false);
53
+
54
+        // make sure parent route is unaccessible if all children are unaccessible
55
+        if (isNoAccessibleChild) {
56
+          route.unaccessible = true;
57
+        }
58
+      }
59
+
60
+      return route;
61
+    }
62
+
63
+    return routes.map(route => process(route));
64
+  }, [routes.length, access]);
65
+
66
+  return markdedRoutes;
67
+}

+ 23
- 0
src/.umi/plugin-access/runtime.tsx 查看文件

@@ -0,0 +1,23 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import React from 'react';
5
+import accessFactory from '@/access'
6
+import { useModel } from '@@/plugin-model';
7
+
8
+import { AccessContext } from './context';
9
+
10
+function Provider(props) {
11
+  const { initialState } = useModel('@@initialState');
12
+  const access = React.useMemo(() => accessFactory(initialState), [initialState]);
13
+
14
+  return (
15
+    <AccessContext.Provider value={access}>
16
+      { props.children }
17
+    </AccessContext.Provider>
18
+  );
19
+}
20
+
21
+export function accessProvider(container) {
22
+  return <Provider>{ container }</Provider>;
23
+}

+ 50
- 0
src/.umi/plugin-initialState/@@initialState.ts 查看文件

@@ -0,0 +1,50 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import { useState, useEffect, useCallback } from 'react';
5
+import { getInitialState } from '@/app';
6
+
7
+export type InitialStateType = Awaited<ReturnType<typeof getInitialState>> | undefined;
8
+
9
+const initState = {
10
+  initialState: undefined as InitialStateType,
11
+  loading: true,
12
+  error: undefined,
13
+};
14
+
15
+export default () => {
16
+  const [state, setState] = useState(initState);
17
+  const refresh = useCallback(async () => {
18
+    setState((s) => ({ ...s, loading: true, error: undefined }));
19
+    try {
20
+      const ret = await getInitialState();
21
+      setState((s) => ({ ...s, initialState: ret, loading: false }));
22
+    } catch (e) {
23
+      setState((s) => ({ ...s, error: e, loading: false }));
24
+    }
25
+  }, []);
26
+
27
+  const setInitialState = useCallback(
28
+    async (
29
+      initialState: InitialStateType | ((initialState: InitialStateType) => InitialStateType),
30
+    ) => {
31
+      setState((s) => {
32
+        if (typeof initialState === 'function') {
33
+          return { ...s, initialState: initialState(s.initialState), loading: false };
34
+        }
35
+        return { ...s, initialState, loading: false };
36
+      });
37
+    },
38
+    [],
39
+  );
40
+
41
+  useEffect(() => {
42
+    refresh();
43
+  }, []);
44
+
45
+  return {
46
+    ...state,
47
+    refresh,
48
+    setInitialState,
49
+  };
50
+}

+ 19
- 0
src/.umi/plugin-initialState/Provider.tsx 查看文件

@@ -0,0 +1,19 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import React from 'react';
5
+import { useModel } from '@@/plugin-model';
6
+function Loading() { return <div />; }
7
+export default function InitialStateProvider(props: any) {
8
+  const appLoaded = React.useRef(false);
9
+  const { loading = false } = useModel("@@initialState") || {};
10
+  React.useEffect(() => {
11
+    if (!loading) {
12
+      appLoaded.current = true;
13
+    }
14
+  }, [loading]);
15
+  if (loading && !appLoaded.current) {
16
+    return <Loading />;
17
+  }
18
+  return props.children;
19
+}

+ 8
- 0
src/.umi/plugin-initialState/runtime.tsx 查看文件

@@ -0,0 +1,8 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import React from 'react';
5
+import Provider from './Provider';
6
+export function dataflowProvider(container) {
7
+  return <Provider>{ container }</Provider>;
8
+}

+ 5
- 0
src/.umi/plugin-initialState/runtimeConfig.d.ts 查看文件

@@ -0,0 +1,5 @@
1
+// This file is generated by Umi automatically
2
+// DO NOT CHANGE IT MANUALLY!
3
+export interface IRuntimeConfig {
4
+  getInitialState?: () => Promise<Record<string, any>>
5
+}

+ 37
- 0
src/.umi/plugin-layout/Exception.tsx 查看文件

@@ -0,0 +1,37 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import React from 'react';
5
+import { history, type IRoute } from 'umi';
6
+import { Result, Button } from 'antd';
7
+
8
+const Exception: React.FC<{
9
+  children: React.ReactNode;
10
+  route?: IRoute;
11
+  notFound?: React.ReactNode;
12
+  noAccessible?: React.ReactNode;
13
+  unAccessible?: React.ReactNode;
14
+  noFound?: React.ReactNode;
15
+}> = (props) => (
16
+  // render custom 404
17
+  (!props.route && (props.noFound || props.notFound)) ||
18
+  // render custom 403
19
+  (props.route.unaccessible && (props.unAccessible || props.noAccessible)) ||
20
+  // render default exception
21
+  ((!props.route || props.route.unaccessible) && (
22
+    <Result
23
+      status={props.route ? '403' : '404'}
24
+      title={props.route ? '403' : '404'}
25
+      subTitle={props.route ? '抱歉,你无权访问该页面' : '抱歉,你访问的页面不存在'}
26
+      extra={
27
+        <Button type="primary" onClick={() => history.push('/')}>
28
+          返回首页
29
+        </Button>
30
+      }
31
+    />
32
+  )) ||
33
+  // normal render
34
+  props.children
35
+);
36
+
37
+export default Exception;

+ 52
- 0
src/.umi/plugin-layout/Layout.less 查看文件

@@ -0,0 +1,52 @@
1
+@import '~antd/es/style/themes/default.less';
2
+@media screen and (max-width: 480px) {
3
+  // 在小屏幕的时候可以有更好的体验
4
+  .umi-plugin-layout-container {
5
+    width: 100% !important;
6
+  }
7
+  .umi-plugin-layout-container > * {
8
+    border-radius: 0 !important;
9
+  }
10
+}
11
+.umi-plugin-layout-menu {
12
+  .anticon {
13
+    margin-right: 8px;
14
+  }
15
+  .ant-dropdown-menu-item {
16
+    min-width: 160px;
17
+  }
18
+}
19
+.umi-plugin-layout-right {
20
+  display: flex !important;
21
+  float: right;
22
+  height: 100%;
23
+  margin-left: auto;
24
+  overflow: hidden;
25
+  .umi-plugin-layout-action {
26
+    display: flex;
27
+    align-items: center;
28
+    height: 100%;
29
+    padding: 0 12px;
30
+    cursor: pointer;
31
+    transition: all 0.3s;
32
+    > i {
33
+      color: rgba(255, 255, 255, 0.85);
34
+      vertical-align: middle;
35
+    }
36
+    &:hover {
37
+      background: rgba(0, 0, 0, 0.025);
38
+    }
39
+    &:global(.opened) {
40
+      background: rgba(0, 0, 0, 0.025);
41
+    }
42
+  }
43
+  .umi-plugin-layout-search {
44
+    padding: 0 12px;
45
+    &:hover {
46
+      background: transparent;
47
+    }
48
+  }
49
+}
50
+.umi-plugin-layout-name {
51
+  margin-left: 8px;
52
+}

+ 173
- 0
src/.umi/plugin-layout/Layout.tsx 查看文件

@@ -0,0 +1,173 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import { Link, useLocation, useNavigate, Outlet, useAppData, useRouteData, matchRoutes } from 'umi';
5
+import type { IRoute } from 'umi';
6
+import React, { useMemo } from 'react';
7
+import {
8
+  ProLayout,
9
+} from "E:/work/jgz/admin2/node_modules/@ant-design/pro-components";
10
+import './Layout.less';
11
+import Logo from './Logo';
12
+import Exception from './Exception';
13
+import { getRightRenderContent } from './rightRender';
14
+import { useModel } from '@@/plugin-model';
15
+import { useAccessMarkedRoutes } from '@@/plugin-access';
16
+
17
+
18
+// 过滤出需要显示的路由, 这里的filterFn 指 不希望显示的层级
19
+const filterRoutes = (routes: IRoute[], filterFn: (route: IRoute) => boolean) => {
20
+  if (routes.length === 0) {
21
+    return []
22
+  }
23
+
24
+  let newRoutes = []
25
+  for (const route of routes) {
26
+    if (filterFn(route)) {
27
+      if (Array.isArray(route.routes)) {
28
+        newRoutes.push(...filterRoutes(route.routes, filterFn))
29
+      }
30
+    } else {
31
+      newRoutes.push(route);
32
+      if (Array.isArray(route.routes)) {
33
+        route.routes = filterRoutes(route.routes, filterFn);
34
+      }
35
+    }
36
+  }
37
+
38
+  return newRoutes;
39
+}
40
+
41
+// 格式化路由 处理因 wrapper 导致的 菜单 path 不一致
42
+const mapRoutes = (routes: IRoute[]) => {
43
+  if (routes.length === 0) {
44
+    return []
45
+  }
46
+  return routes.map(route => {
47
+    // 需要 copy 一份, 否则会污染原始数据
48
+    const newRoute = {...route}
49
+    if (route.originPath) {
50
+      newRoute.path = route.originPath
51
+    }
52
+
53
+    if (Array.isArray(route.routes)) {
54
+      newRoute.routes = mapRoutes(route.routes);
55
+    }
56
+
57
+    return newRoute
58
+  })
59
+}
60
+
61
+export default (props: any) => {
62
+  const location = useLocation();
63
+  const navigate = useNavigate();
64
+  const { clientRoutes, pluginManager } = useAppData();
65
+  const initialInfo = (useModel && useModel('@@initialState')) || {
66
+    initialState: undefined,
67
+    loading: false,
68
+    setInitialState: null,
69
+  };
70
+  const { initialState, loading, setInitialState } = initialInfo;
71
+  const userConfig = {
72
+  "locale": false,
73
+  "siderWidth": 208,
74
+  "navTheme": "dark",
75
+  "primaryColor": "#1890ff",
76
+  "contentWidth": "Fluid",
77
+  "colorWeak": false,
78
+  "title": "",
79
+  "pwa": false,
80
+  "iconfontUrl": "",
81
+  "footerRender": false,
82
+  "menu": {
83
+    "type": "group"
84
+  },
85
+  "fixSiderbar": true,
86
+  "layout": "mix",
87
+  "splitMenus": true
88
+};
89
+const formatMessage = undefined;
90
+  const runtimeConfig = pluginManager.applyPlugins({
91
+    key: 'layout',
92
+    type: 'modify',
93
+    initialValue: {
94
+      ...initialInfo
95
+    },
96
+  });
97
+
98
+  const matchedRoute = useMemo(() => matchRoutes(clientRoutes, location.pathname).pop()?.route, [location.pathname]);
99
+  const newRoutes = filterRoutes(clientRoutes.filter(route => route.id === 'ant-design-pro-layout'), (route) => {
100
+    return (!!route.isLayout && route.id !== 'ant-design-pro-layout') || !!route.isWrapper;
101
+  })
102
+  const [route] = useAccessMarkedRoutes(mapRoutes(newRoutes));
103
+
104
+  return (
105
+    <ProLayout
106
+      route={route}
107
+      location={location}
108
+      title={userConfig.title || 'plugin-layout'}
109
+      navTheme="dark"
110
+      siderWidth={256}
111
+      onMenuHeaderClick={(e) => {
112
+        e.stopPropagation();
113
+        e.preventDefault();
114
+        navigate('/');
115
+      }}
116
+      formatMessage={userConfig.formatMessage || formatMessage}
117
+      menu={{ locale: userConfig.locale }}
118
+      logo={Logo}
119
+      menuItemRender={(menuItemProps, defaultDom) => {
120
+        if (menuItemProps.isUrl || menuItemProps.children) {
121
+          return defaultDom;
122
+        }
123
+        if (menuItemProps.path && location.pathname !== menuItemProps.path) {
124
+          return (
125
+            // handle wildcard route path, for example /slave/* from qiankun
126
+            <Link to={menuItemProps.path.replace('/*', '')} target={menuItemProps.target}>
127
+              {defaultDom}
128
+            </Link>
129
+          );
130
+        }
131
+        return defaultDom;
132
+      }}
133
+      itemRender={(route) => <Link to={route.path}>{route.breadcrumbName}</Link>}
134
+      disableContentMargin
135
+      fixSiderbar
136
+      fixedHeader
137
+      {...runtimeConfig}
138
+      rightContentRender={
139
+        runtimeConfig.rightContentRender !== false &&
140
+        ((layoutProps) => {
141
+          const dom = getRightRenderContent({
142
+            runtimeConfig,
143
+            loading,
144
+            initialState,
145
+            setInitialState,
146
+          });
147
+          if (runtimeConfig.rightContentRender) {
148
+            return runtimeConfig.rightContentRender(layoutProps, dom, {
149
+              // BREAK CHANGE userConfig > runtimeConfig
150
+              userConfig,
151
+              runtimeConfig,
152
+              loading,
153
+              initialState,
154
+              setInitialState,
155
+            });
156
+          }
157
+          return dom;
158
+        })
159
+      }
160
+    >
161
+      <Exception
162
+        route={matchedRoute}
163
+        notFound={runtimeConfig.notFound}
164
+        noAccessible={runtimeConfig.noAccessible}
165
+      >
166
+        {runtimeConfig.childrenRender
167
+          ? runtimeConfig.childrenRender(<Outlet />, props)
168
+          : <Outlet />
169
+        }
170
+      </Exception>
171
+    </ProLayout>
172
+  );
173
+}

+ 94
- 0
src/.umi/plugin-layout/Logo.tsx 查看文件

@@ -0,0 +1,94 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import React from 'react';
5
+
6
+const LogoIcon: React.FC = () => {
7
+  return (
8
+    <svg
9
+      xmlns="http://www.w3.org/2000/svg"
10
+      width="32"
11
+      height="32"
12
+      viewBox="0 0 200 200"
13
+    >
14
+      <defs>
15
+        <linearGradient
16
+          id="linearGradient-1"
17
+          x1="62.102%"
18
+          x2="108.197%"
19
+          y1="0%"
20
+          y2="37.864%"
21
+        >
22
+          <stop offset="0%" stopColor="#4285EB"></stop>
23
+          <stop offset="100%" stopColor="#2EC7FF"></stop>
24
+        </linearGradient>
25
+        <linearGradient
26
+          id="linearGradient-2"
27
+          x1="69.644%"
28
+          x2="54.043%"
29
+          y1="0%"
30
+          y2="108.457%"
31
+        >
32
+          <stop offset="0%" stopColor="#29CDFF"></stop>
33
+          <stop offset="37.86%" stopColor="#148EFF"></stop>
34
+          <stop offset="100%" stopColor="#0A60FF"></stop>
35
+        </linearGradient>
36
+        <linearGradient
37
+          id="linearGradient-3"
38
+          x1="69.691%"
39
+          x2="16.723%"
40
+          y1="-12.974%"
41
+          y2="117.391%"
42
+        >
43
+          <stop offset="0%" stopColor="#FA816E"></stop>
44
+          <stop offset="41.473%" stopColor="#F74A5C"></stop>
45
+          <stop offset="100%" stopColor="#F51D2C"></stop>
46
+        </linearGradient>
47
+        <linearGradient
48
+          id="linearGradient-4"
49
+          x1="68.128%"
50
+          x2="30.44%"
51
+          y1="-35.691%"
52
+          y2="114.943%"
53
+        >
54
+          <stop offset="0%" stopColor="#FA8E7D"></stop>
55
+          <stop offset="51.264%" stopColor="#F74A5C"></stop>
56
+          <stop offset="100%" stopColor="#F51D2C"></stop>
57
+        </linearGradient>
58
+      </defs>
59
+      <g fill="none" fillRule="evenodd" stroke="none" strokeWidth="1">
60
+        <g transform="translate(-20 -20)">
61
+          <g transform="translate(20 20)">
62
+            <g>
63
+              <g fillRule="nonzero">
64
+                <g>
65
+                  <path
66
+                    fill="url(#linearGradient-1)"
67
+                    d="M91.588 4.177L4.18 91.513a11.981 11.981 0 000 16.974l87.408 87.336a12.005 12.005 0 0016.989 0l36.648-36.618c4.209-4.205 4.209-11.023 0-15.228-4.208-4.205-11.031-4.205-15.24 0l-27.783 27.76c-1.17 1.169-2.945 1.169-4.114 0l-69.802-69.744c-1.17-1.169-1.17-2.942 0-4.11l69.802-69.745c1.17-1.169 2.944-1.169 4.114 0l27.783 27.76c4.209 4.205 11.032 4.205 15.24 0 4.209-4.205 4.209-11.022 0-15.227L108.581 4.056c-4.719-4.594-12.312-4.557-16.993.12z"
68
+                  ></path>
69
+                  <path
70
+                    fill="url(#linearGradient-2)"
71
+                    d="M91.588 4.177L4.18 91.513a11.981 11.981 0 000 16.974l87.408 87.336a12.005 12.005 0 0016.989 0l36.648-36.618c4.209-4.205 4.209-11.023 0-15.228-4.208-4.205-11.031-4.205-15.24 0l-27.783 27.76c-1.17 1.169-2.945 1.169-4.114 0l-69.802-69.744c-1.17-1.169-1.17-2.942 0-4.11l69.802-69.745c2.912-2.51 7.664-7.596 14.642-8.786 5.186-.883 10.855 1.062 17.009 5.837L108.58 4.056c-4.719-4.594-12.312-4.557-16.993.12z"
72
+                  ></path>
73
+                </g>
74
+                <path
75
+                  fill="url(#linearGradient-3)"
76
+                  d="M153.686 135.855c4.208 4.205 11.031 4.205 15.24 0l27.034-27.012c4.7-4.696 4.7-12.28 0-16.974l-27.27-27.15c-4.218-4.2-11.043-4.195-15.254.013-4.209 4.205-4.209 11.022 0 15.227l18.418 18.403c1.17 1.169 1.17 2.943 0 4.111l-18.168 18.154c-4.209 4.205-4.209 11.023 0 15.228z"
77
+                ></path>
78
+              </g>
79
+              <ellipse
80
+                cx="100.519"
81
+                cy="100.437"
82
+                fill="url(#linearGradient-4)"
83
+                rx="23.6"
84
+                ry="23.581"
85
+              ></ellipse>
86
+            </g>
87
+          </g>
88
+        </g>
89
+      </g>
90
+    </svg>
91
+  );
92
+};
93
+
94
+export default LogoIcon;

+ 12
- 0
src/.umi/plugin-layout/icons.tsx 查看文件

@@ -0,0 +1,12 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import PicCenterOutlined from 'E:/work/jgz/admin2/node_modules/@ant-design/icons/es/icons/PicCenterOutlined';
5
+import VideoCameraOutlined from 'E:/work/jgz/admin2/node_modules/@ant-design/icons/es/icons/VideoCameraOutlined';
6
+import SmileOutlined from 'E:/work/jgz/admin2/node_modules/@ant-design/icons/es/icons/SmileOutlined';
7
+import ShoppingOutlined from 'E:/work/jgz/admin2/node_modules/@ant-design/icons/es/icons/ShoppingOutlined';
8
+import BorderBottomOutlined from 'E:/work/jgz/admin2/node_modules/@ant-design/icons/es/icons/BorderBottomOutlined';
9
+import AppstoreOutlined from 'E:/work/jgz/admin2/node_modules/@ant-design/icons/es/icons/AppstoreOutlined';
10
+import AppstoreAddOutlined from 'E:/work/jgz/admin2/node_modules/@ant-design/icons/es/icons/AppstoreAddOutlined';
11
+import SortAscendingOutlined from 'E:/work/jgz/admin2/node_modules/@ant-design/icons/es/icons/SortAscendingOutlined';
12
+export default { PicCenterOutlined, VideoCameraOutlined, SmileOutlined, ShoppingOutlined, BorderBottomOutlined, AppstoreOutlined, AppstoreAddOutlined, SortAscendingOutlined };

+ 4
- 0
src/.umi/plugin-layout/index.ts 查看文件

@@ -0,0 +1,4 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+export type TempType = string

+ 70
- 0
src/.umi/plugin-layout/rightRender.tsx 查看文件

@@ -0,0 +1,70 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import React from 'react';
5
+import { Avatar, Dropdown, Menu, Spin } from 'antd';
6
+import { LogoutOutlined } from '@ant-design/icons';
7
+
8
+export function getRightRenderContent (opts: {
9
+   runtimeConfig: any,
10
+   loading: boolean,
11
+   initialState: any,
12
+   setInitialState: any,
13
+ }) {
14
+  if (opts.runtimeConfig.rightRender) {
15
+    return opts.runtimeConfig.rightRender(
16
+      opts.initialState,
17
+      opts.setInitialState,
18
+      opts.runtimeConfig,
19
+    );
20
+  }
21
+
22
+  const menu = (
23
+    <Menu className="umi-plugin-layout-menu">
24
+      <Menu.Item
25
+        key="logout"
26
+        onClick={() =>
27
+          opts.runtimeConfig.logout && opts.runtimeConfig?.logout(opts.initialState)
28
+        }
29
+      >
30
+        <LogoutOutlined />
31
+        退出登录
32
+      </Menu.Item>
33
+    </Menu>
34
+  );
35
+
36
+  const avatar = (
37
+    <span className="umi-plugin-layout-action">
38
+        <Avatar
39
+          size="small"
40
+          className="umi-plugin-layout-avatar"
41
+          src={
42
+            opts.initialState?.avatar ||
43
+            'https://gw.alipayobjects.com/zos/antfincdn/XAosXuNZyF/BiazfanxmamNRoxxVxka.png'
44
+          }
45
+          alt="avatar"
46
+        />
47
+        <span className="umi-plugin-layout-name">{opts.initialState?.name}</span>
48
+      </span>
49
+  );
50
+
51
+  if (opts.loading) {
52
+    return (
53
+      <div className="umi-plugin-layout-right">
54
+        <Spin size="small" style={ { marginLeft: 8, marginRight: 8 } } />
55
+      </div>
56
+    );
57
+  }
58
+
59
+  return (
60
+    <div className="umi-plugin-layout-right anticon">
61
+      {opts.runtimeConfig.logout ? (
62
+        <Dropdown overlay={menu} overlayClassName="umi-plugin-layout-container">
63
+          {avatar}
64
+        </Dropdown>
65
+      ) : (
66
+        avatar
67
+      )}
68
+    </div>
69
+  );
70
+}

+ 25
- 0
src/.umi/plugin-layout/runtime.tsx 查看文件

@@ -0,0 +1,25 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import React from 'react';
5
+import icons from './icons';
6
+
7
+function formatIcon(name: string) {
8
+  return name
9
+    .replace(name[0], name[0].toUpperCase())
10
+    .replace(/-(w)/g, function(all, letter) {
11
+      return letter.toUpperCase();
12
+    });
13
+}
14
+
15
+export function patchRoutes({ routes }) {
16
+  Object.keys(routes).forEach(key => {
17
+    const { icon } = routes[key];
18
+    if (icon && typeof icon === 'string') {
19
+      const upperIcon = formatIcon(icon);
20
+      if (icons[upperIcon] || icons[upperIcon + 'Outlined']) {
21
+        routes[key].icon = React.createElement(icons[upperIcon] || icons[upperIcon + 'Outlined']);
22
+      }
23
+    }
24
+  });
25
+}

+ 6
- 0
src/.umi/plugin-layout/runtimeConfig.d.ts 查看文件

@@ -0,0 +1,6 @@
1
+// This file is generated by Umi automatically
2
+// DO NOT CHANGE IT MANUALLY!
3
+import type { RunTimeLayoutConfig } from './types.d';
4
+export interface IRuntimeConfig {
5
+  layout?: RunTimeLayoutConfig
6
+}

+ 34
- 0
src/.umi/plugin-layout/types.d.ts 查看文件

@@ -0,0 +1,34 @@
1
+// This file is generated by Umi automatically
2
+// DO NOT CHANGE IT MANUALLY!
3
+import type { ProLayoutProps, HeaderProps } from "E:/work/jgz/admin2/node_modules/@ant-design/pro-components";
4
+    import type InitialStateType from '@@/plugin-initialState/@@initialState';
5
+           type InitDataType = ReturnType<typeof InitialStateType>;
6
+        
7
+
8
+    import type { IConfigFromPlugins } from '@@/core/pluginConfig';
9
+
10
+    export type RunTimeLayoutConfig = (initData: InitDataType) => Omit<
11
+      ProLayoutProps,
12
+      'rightContentRender'
13
+    > & {
14
+      childrenRender?: (dom: JSX.Element, props: ProLayoutProps) => React.ReactNode;
15
+      unAccessible?: JSX.Element;
16
+      noFound?: JSX.Element;
17
+      logout?: (initialState: InitDataType['initialState']) => Promise<void> | void;
18
+      rightContentRender?: (
19
+        headerProps: HeaderProps,
20
+        dom: JSX.Element,
21
+        props: {
22
+          userConfig: IConfigFromPlugins['layout'];
23
+          runtimeConfig: RunTimeLayoutConfig;
24
+          loading: InitDataType['loading'];
25
+          initialState: InitDataType['initialState'];
26
+          setInitialState: InitDataType['setInitialState'];
27
+        },
28
+      ) => JSX.Element;
29
+      rightRender?: (
30
+        initialState: InitDataType['initialState'],
31
+        setInitialState: InitDataType['setInitialState'],
32
+        runtimeConfig: RunTimeLayoutConfig,
33
+      ) => JSX.Element;
34
+    };

+ 181
- 0
src/.umi/plugin-model/index.tsx 查看文件

@@ -0,0 +1,181 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+// @ts-ignore
5
+import type { models as rawModels } from '@@/plugin-model/model';
6
+import isEqual from 'E:/work/jgz/admin2/node_modules/fast-deep-equal/index.js';
7
+import React, { useContext, useEffect, useMemo, useRef, useState } from 'react';
8
+
9
+type Models = typeof rawModels;
10
+
11
+type GetNamespaces<M> = {
12
+  [K in keyof M]: M[K] extends { namespace: string }
13
+    ? M[K]['namespace']
14
+    : never;
15
+}[keyof M];
16
+
17
+type Namespaces = GetNamespaces<Models>;
18
+
19
+// @ts-ignore
20
+const Context = React.createContext<{ dispatcher: Dispatcher }>(null);
21
+
22
+class Dispatcher {
23
+  callbacks: Record<Namespaces, Set<Function>> = {};
24
+  data: Record<Namespaces, unknown> = {};
25
+  update = (namespace: Namespaces) => {
26
+    if (this.callbacks[namespace]) {
27
+      this.callbacks[namespace].forEach((cb) => {
28
+        try {
29
+          const data = this.data[namespace];
30
+          cb(data);
31
+        } catch (e) {
32
+          cb(undefined);
33
+        }
34
+      });
35
+    }
36
+  };
37
+}
38
+
39
+interface ExecutorProps {
40
+  hook: () => any;
41
+  onUpdate: (val: any) => void;
42
+  namespace: string;
43
+}
44
+
45
+function Executor(props: ExecutorProps) {
46
+  const { hook, onUpdate, namespace } = props;
47
+
48
+  const updateRef = useRef(onUpdate);
49
+  const initialLoad = useRef(false);
50
+
51
+  let data: any;
52
+  try {
53
+    data = hook();
54
+  } catch (e) {
55
+    console.error(
56
+      `plugin-model: Invoking '${namespace || 'unknown'}' model failed:`,
57
+      e,
58
+    );
59
+  }
60
+
61
+  // 首次执行时立刻返回初始值
62
+  useMemo(() => {
63
+    updateRef.current(data);
64
+  }, []);
65
+
66
+  // React 16.13 后 update 函数用 useEffect 包裹
67
+  useEffect(() => {
68
+    if (initialLoad.current) {
69
+      updateRef.current(data);
70
+    } else {
71
+      initialLoad.current = true;
72
+    }
73
+  });
74
+
75
+  return null;
76
+}
77
+
78
+const dispatcher = new Dispatcher();
79
+
80
+export function Provider(props: {
81
+  models: Record<string, any>;
82
+  children: React.ReactNode;
83
+}) {
84
+  return (
85
+    <Context.Provider value={{ dispatcher }}>
86
+      {Object.keys(props.models).map((namespace) => {
87
+        return (
88
+          <Executor
89
+            key={namespace}
90
+            hook={props.models[namespace]}
91
+            namespace={namespace}
92
+            onUpdate={(val) => {
93
+              dispatcher.data[namespace] = val;
94
+              dispatcher.update(namespace);
95
+            }}
96
+          />
97
+        );
98
+      })}
99
+      {props.children}
100
+    </Context.Provider>
101
+  );
102
+}
103
+
104
+type GetModelByNamespace<M, N> = {
105
+  [K in keyof M]: M[K] extends { namespace: string; model: unknown }
106
+    ? M[K]['namespace'] extends N
107
+      ? M[K]['model'] extends (...args: any) => any
108
+        ? ReturnType<M[K]['model']>
109
+        : never
110
+      : never
111
+    : never;
112
+}[keyof M];
113
+
114
+type Model<N> = GetModelByNamespace<Models, N>;
115
+type Selector<N, S> = (model: Model<N>) => S;
116
+
117
+type SelectedModel<N, T> = T extends (...args: any) => any
118
+  ? ReturnType<NonNullable<T>>
119
+  : Model<N>;
120
+
121
+export function useModel<N extends Namespaces>(namespace: N): Model<N>;
122
+
123
+export function useModel<N extends Namespaces, S>(
124
+  namespace: N,
125
+  selector: Selector<N, S>,
126
+): SelectedModel<N, typeof selector>;
127
+
128
+export function useModel<N extends Namespaces, S>(
129
+  namespace: N,
130
+  selector?: Selector<N, S>,
131
+): SelectedModel<N, typeof selector> {
132
+  const { dispatcher } = useContext<{ dispatcher: Dispatcher }>(Context);
133
+  const selectorRef = useRef(selector);
134
+  selectorRef.current = selector;
135
+  const [state, setState] = useState(() =>
136
+    selectorRef.current
137
+      ? selectorRef.current(dispatcher.data[namespace])
138
+      : dispatcher.data[namespace],
139
+  );
140
+  const stateRef = useRef<any>(state);
141
+  stateRef.current = state;
142
+
143
+  const isMount = useRef(false);
144
+  useEffect(() => {
145
+    isMount.current = true;
146
+    return () => {
147
+      isMount.current = false;
148
+    };
149
+  }, []);
150
+
151
+  useEffect(() => {
152
+    const handler = (data: any) => {
153
+      if (!isMount.current) {
154
+        // 如果 handler 执行过程中,组件被卸载了,则强制更新全局 data
155
+        // TODO: 需要加个 example 测试
156
+        setTimeout(() => {
157
+          dispatcher.data[namespace] = data;
158
+          dispatcher.update(namespace);
159
+        });
160
+      } else {
161
+        const currentState = selectorRef.current
162
+          ? selectorRef.current(data)
163
+          : data;
164
+        const previousState = stateRef.current;
165
+        if (!isEqual(currentState, previousState)) {
166
+          setState(currentState);
167
+        }
168
+      }
169
+    };
170
+
171
+    dispatcher.callbacks[namespace] ||= new Set() as any; // rawModels 是 umi 动态生成的文件,导致前面 callback[namespace] 的类型无法推导出来,所以用 as any 来忽略掉
172
+    dispatcher.callbacks[namespace].add(handler);
173
+    dispatcher.update(namespace);
174
+
175
+    return () => {
176
+      dispatcher.callbacks[namespace].delete(handler);
177
+    };
178
+  }, [namespace]);
179
+
180
+  return state;
181
+}

+ 8
- 0
src/.umi/plugin-model/model.ts 查看文件

@@ -0,0 +1,8 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import model_1 from 'E:/work/jgz/admin2/src/.umi/plugin-initialState/@@initialState';
5
+
6
+export const models = {
7
+model_1: { namespace: '@@initialState', model: model_1 },
8
+} as const

+ 20
- 0
src/.umi/plugin-model/runtime.tsx 查看文件

@@ -0,0 +1,20 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import React  from 'react';
5
+import { Provider } from './';
6
+import { models as rawModels } from './model';
7
+
8
+function ProviderWrapper(props: any) {
9
+  const models = React.useMemo(() => {
10
+    return Object.keys(rawModels).reduce((memo, key) => {
11
+      memo[rawModels[key].namespace] = rawModels[key].model;
12
+      return memo;
13
+    }, {});
14
+  }, []);
15
+  return <Provider models={models} {...props}>{ props.children }</Provider>
16
+}
17
+
18
+export function dataflowProvider(container, opts) {
19
+  return <ProviderWrapper {...opts}>{ container }</ProviderWrapper>;
20
+}

+ 9
- 0
src/.umi/plugin-request/index.ts 查看文件

@@ -0,0 +1,9 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+export {
5
+  useRequest,
6
+  UseRequestProvider,
7
+  request,
8
+  getRequestInstance,
9
+} from './request';

+ 265
- 0
src/.umi/plugin-request/request.ts 查看文件

@@ -0,0 +1,265 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import axios, {
5
+  type AxiosInstance,
6
+  type AxiosRequestConfig,
7
+  type AxiosResponse,
8
+  type AxiosError,
9
+} from 'E:/work/jgz/admin2/node_modules/axios';
10
+import useUmiRequest, { UseRequestProvider } from 'E:/work/jgz/admin2/node_modules/@ahooksjs/use-request';
11
+import { ApplyPluginsType } from 'umi';
12
+import { getPluginManager } from '../core/plugin';
13
+
14
+import {
15
+  BaseOptions,
16
+  BasePaginatedOptions,
17
+  BaseResult,
18
+  CombineService,
19
+  LoadMoreFormatReturn,
20
+  LoadMoreOptions,
21
+  LoadMoreOptionsWithFormat,
22
+  LoadMoreParams,
23
+  LoadMoreResult,
24
+  OptionsWithFormat,
25
+  PaginatedFormatReturn,
26
+  PaginatedOptionsWithFormat,
27
+  PaginatedParams,
28
+  PaginatedResult,
29
+} from 'E:/work/jgz/admin2/node_modules/@ahooksjs/use-request/es/types';
30
+
31
+type ResultWithData< T = any > = { data?: T; [key: string]: any };
32
+
33
+function useRequest<
34
+  R = any,
35
+  P extends any[] = any,
36
+  U = any,
37
+  UU extends U = any,
38
+>(
39
+  service: CombineService<R, P>,
40
+  options: OptionsWithFormat<R, P, U, UU>,
41
+): BaseResult<U, P>;
42
+function useRequest<R extends ResultWithData = any, P extends any[] = any>(
43
+  service: CombineService<R, P>,
44
+  options?: BaseOptions<R['data'], P>,
45
+): BaseResult<R['data'], P>;
46
+function useRequest<R extends LoadMoreFormatReturn = any, RR = any>(
47
+  service: CombineService<RR, LoadMoreParams<R>>,
48
+  options: LoadMoreOptionsWithFormat<R, RR>,
49
+): LoadMoreResult<R>;
50
+function useRequest<
51
+  R extends ResultWithData<LoadMoreFormatReturn | any> = any,
52
+  RR extends R = any,
53
+>(
54
+  service: CombineService<R, LoadMoreParams<R['data']>>,
55
+  options: LoadMoreOptions<RR['data']>,
56
+): LoadMoreResult<R['data']>;
57
+
58
+function useRequest<R = any, Item = any, U extends Item = any>(
59
+  service: CombineService<R, PaginatedParams>,
60
+  options: PaginatedOptionsWithFormat<R, Item, U>,
61
+): PaginatedResult<Item>;
62
+function useRequest<Item = any, U extends Item = any>(
63
+  service: CombineService<
64
+    ResultWithData<PaginatedFormatReturn<Item>>,
65
+    PaginatedParams
66
+  >,
67
+  options: BasePaginatedOptions<U>,
68
+): PaginatedResult<Item>;
69
+function useRequest(service: any, options: any = {}) {
70
+  return useUmiRequest(service, {
71
+    formatResult: result => result?.data,
72
+    requestMethod: (requestOptions: any) => {
73
+      if (typeof requestOptions === 'string') {
74
+        return request(requestOptions);
75
+      }
76
+      if (typeof requestOptions === 'object') {
77
+        const { url, ...rest } = requestOptions;
78
+        return request(url, rest);
79
+      }
80
+      throw new Error('request options error');
81
+    },
82
+    ...options,
83
+  });
84
+}
85
+
86
+// request 方法 opts 参数的接口
87
+interface IRequestOptions extends AxiosRequestConfig {
88
+  skipErrorHandler?: boolean;
89
+  requestInterceptors?: IRequestInterceptorTuple[];
90
+  responseInterceptors?: IResponseInterceptorTuple[];
91
+  [key: string]: any;
92
+}
93
+
94
+interface IRequestOptionsWithResponse extends IRequestOptions {
95
+  getResponse: true;
96
+}
97
+
98
+interface IRequestOptionsWithoutResponse extends IRequestOptions{
99
+  getResponse: false;
100
+}
101
+
102
+interface IRequest{
103
+   <T = any>(url: string, opts: IRequestOptionsWithResponse): Promise<AxiosResponse<T>>;
104
+   <T = any>(url: string, opts: IRequestOptionsWithoutResponse): Promise<T>;
105
+   <T = any>(url: string, opts: IRequestOptions): Promise<T>; // getResponse 默认是 false, 因此不提供该参数时,只返回 data
106
+   <T = any>(url: string): Promise<T>;  // 不提供 opts 时,默认使用 'GET' method,并且默认返回 data
107
+}
108
+
109
+type RequestError = AxiosError | Error
110
+
111
+interface IErrorHandler {
112
+  (error: RequestError, opts: IRequestOptions): void;
113
+}
114
+type IRequestInterceptorAxios = (config: RequestOptions) => RequestOptions;
115
+type IRequestInterceptorUmiRequest = (url: string, config : RequestOptions) => { url: string, options: RequestOptions };
116
+type IRequestInterceptor = IRequestInterceptorAxios | IRequestInterceptorUmiRequest;
117
+type IErrorInterceptor = (error: Error) => Promise<Error>;
118
+type IResponseInterceptor = <T = any>(response : AxiosResponse<T>) => AxiosResponse<T> ;
119
+type IRequestInterceptorTuple = [IRequestInterceptor , IErrorInterceptor] | [ IRequestInterceptor ] | IRequestInterceptor
120
+type IResponseInterceptorTuple = [IResponseInterceptor, IErrorInterceptor] | [IResponseInterceptor] | IResponseInterceptor
121
+
122
+export interface RequestConfig<T = any> extends AxiosRequestConfig {
123
+  errorConfig?: {
124
+    errorHandler?: IErrorHandler;
125
+    errorThrower?: ( res: T ) => void
126
+  };
127
+  requestInterceptors?: IRequestInterceptorTuple[];
128
+  responseInterceptors?: IResponseInterceptorTuple[];
129
+}
130
+
131
+let requestInstance: AxiosInstance;
132
+let config: RequestConfig;
133
+const getConfig = (): RequestConfig => {
134
+  if (config) return config;
135
+  config = getPluginManager().applyPlugins({
136
+    key: 'request',
137
+    type: ApplyPluginsType.modify,
138
+    initialValue: {},
139
+  });
140
+  return config;
141
+};
142
+
143
+const getRequestInstance = (): AxiosInstance => {
144
+  if (requestInstance) return requestInstance;
145
+  const config = getConfig();
146
+  requestInstance = axios.create(config);
147
+
148
+  config?.requestInterceptors?.forEach((interceptor) => {
149
+    if(interceptor instanceof Array){
150
+      requestInstance.interceptors.request.use((config) => {
151
+        const { url } = config;
152
+        if(interceptor[0].length === 2){
153
+          const { url: newUrl, options } = interceptor[0](url, config);
154
+          return { ...options, url: newUrl };
155
+        }
156
+        return interceptor[0](config);
157
+      }, interceptor[1]);
158
+    } else {
159
+      requestInstance.interceptors.request.use((config) => {
160
+        const { url } = config;
161
+        if(interceptor.length === 2){
162
+          const { url: newUrl, options } = interceptor(url, config);
163
+          return { ...options, url: newUrl };
164
+        }
165
+        return interceptor(config);
166
+      })
167
+    }
168
+  });
169
+
170
+  config?.responseInterceptors?.forEach((interceptor) => {
171
+    interceptor instanceof Array ?
172
+      requestInstance.interceptors.response.use(interceptor[0], interceptor[1]):
173
+       requestInstance.interceptors.response.use(interceptor);
174
+  });
175
+
176
+  // 当响应的数据 success 是 false 的时候,抛出 error 以供 errorHandler 处理。
177
+  requestInstance.interceptors.response.use((response) => {
178
+    const { data } = response;
179
+    if(data?.success === false && config?.errorConfig?.errorThrower){
180
+      config.errorConfig.errorThrower(data);
181
+    }
182
+    return response;
183
+  })
184
+  return requestInstance;
185
+};
186
+
187
+const request: IRequest = (url: string, opts: any = { method: 'GET' }) => {
188
+  const requestInstance = getRequestInstance();
189
+  const config = getConfig();
190
+  const { getResponse = false, requestInterceptors, responseInterceptors } = opts;
191
+  const requestInterceptorsToEject = requestInterceptors?.map((interceptor) => {
192
+    if(interceptor instanceof Array){
193
+      return requestInstance.interceptors.request.use((config) => {
194
+        const { url } = config;
195
+        if(interceptor[0].length === 2){
196
+          const { url: newUrl, options } = interceptor[0](url, config);
197
+          return { ...options, url: newUrl };
198
+        }
199
+        return interceptor[0](config);
200
+      }, interceptor[1]);
201
+    } else {
202
+      return requestInstance.interceptors.request.use((config) => {
203
+        const { url } = config;
204
+        if(interceptor.length === 2){
205
+          const { url: newUrl, options } = interceptor(url, config);
206
+          return { ...options, url: newUrl };
207
+        }
208
+        return interceptor(config);
209
+      })
210
+    }
211
+    });
212
+  const responseInterceptorsToEject = responseInterceptors?.map((interceptor) => {
213
+    return interceptor instanceof Array ?
214
+      requestInstance.interceptors.response.use(interceptor[0], interceptor[1]):
215
+       requestInstance.interceptors.response.use(interceptor);
216
+    });
217
+  return new Promise((resolve, reject)=>{
218
+    requestInstance
219
+      .request({...opts, url})
220
+      .then((res)=>{
221
+        requestInterceptorsToEject?.forEach((interceptor) => {
222
+          requestInstance.interceptors.request.eject(interceptor);
223
+        });
224
+        responseInterceptorsToEject?.forEach((interceptor) => {
225
+          requestInstance.interceptors.response.eject(interceptor);
226
+        });
227
+        resolve(getResponse ? res : res.data);
228
+      })
229
+      .catch((error)=>{
230
+        requestInterceptorsToEject?.forEach((interceptor) => {
231
+          requestInstance.interceptors.request.eject(interceptor);
232
+        });
233
+        responseInterceptorsToEject?.forEach((interceptor) => {
234
+          requestInstance.interceptors.response.eject(interceptor);
235
+        });
236
+        try {
237
+          const handler =
238
+            config?.errorConfig?.errorHandler;
239
+          if(handler)
240
+            handler(error, opts, config);
241
+        } catch (e) {
242
+          reject(e);
243
+        }
244
+        reject(error);
245
+      })
246
+  })
247
+}
248
+
249
+export {
250
+  useRequest,
251
+  UseRequestProvider,
252
+  request,
253
+  getRequestInstance,
254
+};
255
+
256
+export type {
257
+  AxiosInstance,
258
+  AxiosRequestConfig,
259
+  AxiosResponse,
260
+  AxiosError,
261
+  RequestError,
262
+  IResponseInterceptor as ResponseInterceptor,
263
+  IRequestOptions as RequestOptions,
264
+  IRequest as Request,
265
+};

+ 6
- 0
src/.umi/plugin-request/runtimeConfig.d.ts 查看文件

@@ -0,0 +1,6 @@
1
+// This file is generated by Umi automatically
2
+// DO NOT CHANGE IT MANUALLY!
3
+import type { RequestConfig } from './types.d'
4
+export type IRuntimeConfig = {
5
+  request?: RequestConfig
6
+};

+ 10
- 0
src/.umi/plugin-request/types.d.ts 查看文件

@@ -0,0 +1,10 @@
1
+// This file is generated by Umi automatically
2
+// DO NOT CHANGE IT MANUALLY!
3
+export type {
4
+  RequestConfig,
5
+  AxiosInstance,
6
+  AxiosRequestConfig,
7
+  AxiosResponse,
8
+  AxiosError,
9
+  RequestError,
10
+  ResponseInterceptor } from './request';

+ 35
- 0
src/.umi/tsconfig.json 查看文件

@@ -0,0 +1,35 @@
1
+{
2
+  "compilerOptions": {
3
+    "target": "esnext",
4
+    "module": "esnext",
5
+    "moduleResolution": "node",
6
+    "importHelpers": true,
7
+    "jsx": "react-jsx",
8
+    "esModuleInterop": true,
9
+    "sourceMap": true,
10
+    "baseUrl": "../../",
11
+    "strict": true,
12
+    "resolveJsonModule": true,
13
+    "allowSyntheticDefaultImports": true,
14
+    "paths": {
15
+      "@/*": [
16
+        "src/*"
17
+      ],
18
+      "@@/*": [
19
+        "src/.umi/*"
20
+      ],
21
+      "@umijs/max": [
22
+        "E:\\work\\jgz\\admin2\\node_modules\\umi"
23
+      ],
24
+      "@umijs/max/typings": [
25
+        "src/.umi/typings"
26
+      ]
27
+    }
28
+  },
29
+  "include": [
30
+    "../../.umirc.ts",
31
+    "../../**/*.d.ts",
32
+    "../../**/*.ts",
33
+    "../../**/*.tsx"
34
+  ]
35
+}

+ 136
- 0
src/.umi/typings.d.ts 查看文件

@@ -0,0 +1,136 @@
1
+// This file is generated by Umi automatically
2
+// DO NOT CHANGE IT MANUALLY!
3
+type CSSModuleClasses = { readonly [key: string]: string }
4
+declare module '*.css' {
5
+  const classes: CSSModuleClasses
6
+  export default classes
7
+}
8
+declare module '*.scss' {
9
+  const classes: CSSModuleClasses
10
+  export default classes
11
+}
12
+declare module '*.sass' {
13
+  const classes: CSSModuleClasses
14
+  export default classes
15
+}
16
+declare module '*.less' {
17
+  const classes: CSSModuleClasses
18
+  export default classes
19
+}
20
+declare module '*.styl' {
21
+  const classes: CSSModuleClasses
22
+  export default classes
23
+}
24
+declare module '*.stylus' {
25
+  const classes: CSSModuleClasses
26
+  export default classes
27
+}
28
+
29
+// images
30
+declare module '*.jpg' {
31
+  const src: string
32
+  export default src
33
+}
34
+declare module '*.jpeg' {
35
+  const src: string
36
+  export default src
37
+}
38
+declare module '*.png' {
39
+  const src: string
40
+  export default src
41
+}
42
+declare module '*.gif' {
43
+  const src: string
44
+  export default src
45
+}
46
+declare module '*.svg' {
47
+  import * as React from 'react';
48
+  export const ReactComponent: React.FunctionComponent<React.SVGProps<
49
+  SVGSVGElement
50
+  > & { title?: string }>;
51
+
52
+  const src: string
53
+  export default src
54
+}
55
+declare module '*.ico' {
56
+  const src: string
57
+  export default src
58
+}
59
+declare module '*.webp' {
60
+  const src: string
61
+  export default src
62
+}
63
+declare module '*.avif' {
64
+  const src: string
65
+  export default src
66
+}
67
+
68
+// media
69
+declare module '*.mp4' {
70
+  const src: string
71
+  export default src
72
+}
73
+declare module '*.webm' {
74
+  const src: string
75
+  export default src
76
+}
77
+declare module '*.ogg' {
78
+  const src: string
79
+  export default src
80
+}
81
+declare module '*.mp3' {
82
+  const src: string
83
+  export default src
84
+}
85
+declare module '*.wav' {
86
+  const src: string
87
+  export default src
88
+}
89
+declare module '*.flac' {
90
+  const src: string
91
+  export default src
92
+}
93
+declare module '*.aac' {
94
+  const src: string
95
+  export default src
96
+}
97
+
98
+// fonts
99
+declare module '*.woff' {
100
+  const src: string
101
+  export default src
102
+}
103
+declare module '*.woff2' {
104
+  const src: string
105
+  export default src
106
+}
107
+declare module '*.eot' {
108
+  const src: string
109
+  export default src
110
+}
111
+declare module '*.ttf' {
112
+  const src: string
113
+  export default src
114
+}
115
+declare module '*.otf' {
116
+  const src: string
117
+  export default src
118
+}
119
+
120
+// other
121
+declare module '*.wasm' {
122
+  const initWasm: (options: WebAssembly.Imports) => Promise<WebAssembly.Exports>
123
+  export default initWasm
124
+}
125
+declare module '*.webmanifest' {
126
+  const src: string
127
+  export default src
128
+}
129
+declare module '*.pdf' {
130
+  const src: string
131
+  export default src
132
+}
133
+declare module '*.txt' {
134
+  const src: string
135
+  export default src
136
+}

+ 62
- 0
src/.umi/umi.ts 查看文件

@@ -0,0 +1,62 @@
1
+// @ts-nocheck
2
+// This file is generated by Umi automatically
3
+// DO NOT CHANGE IT MANUALLY!
4
+import './core/polyfill';
5
+import 'E:/work/jgz/admin2/src/global.less';
6
+import 'E:/work/jgz/admin2/src/global.jsx';
7
+import 'antd/dist/antd.less';
8
+import { renderClient } from 'E:/work/jgz/admin2/node_modules/@umijs/preset-umi/node_modules/@umijs/renderer-react';
9
+import { getRoutes } from './core/route';
10
+import { createPluginManager } from './core/plugin';
11
+import { createHistory } from './core/history';
12
+import { ApplyPluginsType } from 'umi';
13
+
14
+
15
+const publicPath = "/w2/";
16
+const runtimePublicPath = false;
17
+
18
+async function render() {
19
+  const pluginManager = createPluginManager();
20
+  const { routes, routeComponents } = await getRoutes(pluginManager);
21
+
22
+  // allow user to extend routes
23
+  await pluginManager.applyPlugins({
24
+    key: 'patchRoutes',
25
+    type: ApplyPluginsType.event,
26
+    args: {
27
+      routes,
28
+      routeComponents,
29
+    },
30
+  });
31
+
32
+  return (pluginManager.applyPlugins({
33
+    key: 'render',
34
+    type: ApplyPluginsType.compose,
35
+    initialValue() {
36
+      const contextOpts = pluginManager.applyPlugins({
37
+        key: 'modifyContextOpts',
38
+        type: ApplyPluginsType.modify,
39
+        initialValue: {},
40
+      });
41
+      const basename = contextOpts.basename || '/';
42
+      const context = {
43
+        routes,
44
+        routeComponents,
45
+        pluginManager,
46
+        rootElement: contextOpts.rootElement || document.getElementById('root'),
47
+        publicPath,
48
+        runtimePublicPath,
49
+        history: createHistory({
50
+          type: contextOpts.historyType || 'hash',
51
+          basename,
52
+          ...contextOpts.historyOpts,
53
+        }),
54
+        basename,
55
+      };
56
+      return renderClient(context);
57
+    },
58
+  }))();
59
+}
60
+
61
+
62
+render();

+ 14540
- 0
yarn.lock
文件差異過大導致無法顯示
查看文件