From f06ae5530bffdc6923313e8ad37f810705a50ce7 Mon Sep 17 00:00:00 2001
From: Dawn1Ocean <1785590531@qq.com>
Date: Thu, 28 Mar 2024 10:57:51 +0800
Subject: [PATCH] new umi branch
---
.env.dev | 1 +
.gitignore | 1 +
.umirc.ts | 5 +
src/.umi/core/EmptyRoute.tsx | 9 +
src/.umi/core/defineApp.ts | 16 ++
src/.umi/core/helmet.ts | 10 +
src/.umi/core/helmetContext.ts | 4 +
src/.umi/core/history.ts | 66 +++++++
src/.umi/core/historyIntelli.ts | 132 +++++++++++++
src/.umi/core/plugin.ts | 40 ++++
src/.umi/core/pluginConfig.ts | 287 +++++++++++++++++++++++++++++
src/.umi/core/pluginConfigJoi.d.ts | 7 +
src/.umi/core/polyfill.ts | 220 ++++++++++++++++++++++
src/.umi/core/route.tsx | 30 +++
src/.umi/core/routeProps.js | 5 +
src/.umi/core/routeProps.ts | 6 +
src/.umi/core/terminal.ts | 37 ++++
src/.umi/exports.ts | 19 ++
src/.umi/testBrowser.tsx | 87 +++++++++
src/.umi/tsconfig.json | 43 +++++
src/.umi/typings.d.ts | 136 ++++++++++++++
src/.umi/umi.ts | 76 ++++++++
src/service/index.ts | 70 +++++++
23 files changed, 1307 insertions(+)
create mode 100644 .env.dev
create mode 100644 .gitignore
create mode 100644 .umirc.ts
create mode 100644 src/.umi/core/EmptyRoute.tsx
create mode 100644 src/.umi/core/defineApp.ts
create mode 100644 src/.umi/core/helmet.ts
create mode 100644 src/.umi/core/helmetContext.ts
create mode 100644 src/.umi/core/history.ts
create mode 100644 src/.umi/core/historyIntelli.ts
create mode 100644 src/.umi/core/plugin.ts
create mode 100644 src/.umi/core/pluginConfig.ts
create mode 100644 src/.umi/core/pluginConfigJoi.d.ts
create mode 100644 src/.umi/core/polyfill.ts
create mode 100644 src/.umi/core/route.tsx
create mode 100644 src/.umi/core/routeProps.js
create mode 100644 src/.umi/core/routeProps.ts
create mode 100644 src/.umi/core/terminal.ts
create mode 100644 src/.umi/exports.ts
create mode 100644 src/.umi/testBrowser.tsx
create mode 100644 src/.umi/tsconfig.json
create mode 100644 src/.umi/typings.d.ts
create mode 100644 src/.umi/umi.ts
create mode 100644 src/service/index.ts
diff --git a/.env.dev b/.env.dev
new file mode 100644
index 0000000..564dd54
--- /dev/null
+++ b/.env.dev
@@ -0,0 +1 @@
+ANTD_APP_API="http://127.0.0.1:8000"
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..3c3629e
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+node_modules
diff --git a/.umirc.ts b/.umirc.ts
new file mode 100644
index 0000000..26f6432
--- /dev/null
+++ b/.umirc.ts
@@ -0,0 +1,5 @@
+import { defineConfig } from 'umi';
+
+export default defineConfig({
+ outputPath: 'dist',
+});
\ No newline at end of file
diff --git a/src/.umi/core/EmptyRoute.tsx b/src/.umi/core/EmptyRoute.tsx
new file mode 100644
index 0000000..bee45a6
--- /dev/null
+++ b/src/.umi/core/EmptyRoute.tsx
@@ -0,0 +1,9 @@
+// @ts-nocheck
+// This file is generated by Umi automatically
+// DO NOT CHANGE IT MANUALLY!
+import React from 'react';
+import { Outlet, useOutletContext } from 'umi';
+export default function EmptyRoute() {
+ const context = useOutletContext();
+ return ;
+}
diff --git a/src/.umi/core/defineApp.ts b/src/.umi/core/defineApp.ts
new file mode 100644
index 0000000..063eb08
--- /dev/null
+++ b/src/.umi/core/defineApp.ts
@@ -0,0 +1,16 @@
+// @ts-nocheck
+// This file is generated by Umi automatically
+// DO NOT CHANGE IT MANUALLY!
+interface IDefaultRuntimeConfig {
+ onRouteChange?: (props: { routes: any, clientRoutes: any, location: any, action: any, isFirst: boolean }) => void;
+ patchRoutes?: (props: { routes: any }) => void;
+ patchClientRoutes?: (props: { routes: any }) => void;
+ render?: (oldRender: () => void) => void;
+ rootContainer?: (lastRootContainer: JSX.Element, args?: any) => void;
+ [key: string]: any;
+}
+export type RuntimeConfig = IDefaultRuntimeConfig
+
+export function defineApp(config: RuntimeConfig): RuntimeConfig {
+ return config;
+}
diff --git a/src/.umi/core/helmet.ts b/src/.umi/core/helmet.ts
new file mode 100644
index 0000000..7606ec2
--- /dev/null
+++ b/src/.umi/core/helmet.ts
@@ -0,0 +1,10 @@
+// @ts-nocheck
+// This file is generated by Umi automatically
+// DO NOT CHANGE IT MANUALLY!
+import React from 'react';
+import { HelmetProvider } from '/usr/lib/node_modules/umi/node_modules/@umijs/renderer-react';
+import { context } from './helmetContext';
+
+export const innerProvider = (container) => {
+ return React.createElement(HelmetProvider, { context }, container);
+}
diff --git a/src/.umi/core/helmetContext.ts b/src/.umi/core/helmetContext.ts
new file mode 100644
index 0000000..2faa971
--- /dev/null
+++ b/src/.umi/core/helmetContext.ts
@@ -0,0 +1,4 @@
+// @ts-nocheck
+// This file is generated by Umi automatically
+// DO NOT CHANGE IT MANUALLY!
+export const context = {};
diff --git a/src/.umi/core/history.ts b/src/.umi/core/history.ts
new file mode 100644
index 0000000..684bac2
--- /dev/null
+++ b/src/.umi/core/history.ts
@@ -0,0 +1,66 @@
+// @ts-nocheck
+// This file is generated by Umi automatically
+// DO NOT CHANGE IT MANUALLY!
+import { createHashHistory, createMemoryHistory, createBrowserHistory } from '/usr/lib/node_modules/umi/node_modules/@umijs/renderer-react';
+import type { UmiHistory } from './historyIntelli';
+
+let history: UmiHistory;
+let basename: string = '/';
+export function createHistory(opts: any) {
+ let h;
+ if (opts.type === 'hash') {
+ h = createHashHistory();
+ } else if (opts.type === 'memory') {
+ h = createMemoryHistory(opts);
+ } else {
+ h = createBrowserHistory();
+ }
+ if (opts.basename) {
+ basename = opts.basename;
+ }
+
+
+ history = {
+ ...h,
+ push(to, state) {
+ h.push(patchTo(to, h), state);
+ },
+ replace(to, state) {
+ h.replace(patchTo(to, h), state);
+ },
+ get location() {
+ return h.location;
+ },
+ get action() {
+ return h.action;
+ }
+ }
+
+ return h;
+}
+
+// Patch `to` to support basename
+// Refs:
+// https://github.com/remix-run/history/blob/3e9dab4/packages/history/index.ts#L484
+// https://github.com/remix-run/history/blob/dev/docs/api-reference.md#to
+function patchTo(to: any, h: History) {
+ if (typeof to === 'string') {
+ return `${stripLastSlash(basename)}${to}`;
+ } else if (typeof to === 'object') {
+
+ const currentPathname = h.location.pathname;
+
+ return {
+ ...to,
+ pathname: to.pathname? `${stripLastSlash(basename)}${to.pathname}` : currentPathname,
+ };
+ } else {
+ throw new Error(`Unexpected to: ${to}`);
+ }
+}
+
+function stripLastSlash(path) {
+ return path.slice(-1) === '/' ? path.slice(0, -1) : path;
+}
+
+export { history };
diff --git a/src/.umi/core/historyIntelli.ts b/src/.umi/core/historyIntelli.ts
new file mode 100644
index 0000000..cc6f988
--- /dev/null
+++ b/src/.umi/core/historyIntelli.ts
@@ -0,0 +1,132 @@
+// @ts-nocheck
+// This file is generated by Umi automatically
+// DO NOT CHANGE IT MANUALLY!
+import { getRoutes } from './route'
+import type { History } from '/usr/lib/node_modules/umi/node_modules/@umijs/renderer-react'
+
+type Routes = Awaited>['routes']
+type AllRoute = Routes[keyof Routes]
+type IsRoot = 'parentId' extends keyof T ? false : true
+
+// show `/` in not `layout / wrapper` only
+type GetAllRouteWithoutLayout- = Item extends any
+ ? 'isWrapper' extends keyof Item
+ ? never
+ : 'isLayout' extends keyof Item
+ ? never
+ : Item
+ : never
+type AllRouteWithoutLayout = GetAllRouteWithoutLayout
+type IndexRoutePathname = '/' extends AllRouteWithoutLayout['path']
+ ? '/'
+ : never
+
+type GetChildrens = T extends any
+ ? IsRoot extends true
+ ? never
+ : T
+ : never
+type Childrens = GetChildrens
+type Root = Exclude
+type AllIds = AllRoute['id']
+
+type GetChildrensByParentId<
+ Id extends AllIds,
+ Item = AllRoute
+> = Item extends any
+ ? 'parentId' extends keyof Item
+ ? Item['parentId'] extends Id
+ ? Item
+ : never
+ : never
+ : never
+
+type RouteObject<
+ Id extends AllIds,
+ Item = GetChildrensByParentId
+> = IsNever
- extends true
+ ? ''
+ : Item extends AllRoute
+ ? {
+ [Key in Item['path'] as TrimSlash]: UnionMerge<
+ RouteObject
-
+ >
+ }
+ : never
+
+type GetRootRouteObject
- = Item extends Root
+ ? {
+ [K in Item['path'] as TrimSlash]: UnionMerge>
+ }
+ : never
+type MergedResult = UnionMerge>
+
+// --- patch history types ---
+
+type HistoryTo = Parameters['0']
+type HistoryPath = Exclude
+
+type UmiPathname = Path | (string & {})
+interface UmiPath extends HistoryPath {
+ pathname: UmiPathname
+}
+type UmiTo = UmiPathname | UmiPath
+
+type UmiPush = (to: UmiTo, state?: any) => void
+type UmiReplace = (to: UmiTo, state?: any) => void
+
+
+export interface UmiHistory extends History {
+ push: UmiPush
+ replace: UmiReplace
+}
+
+// --- type utils ---
+type TrimLeftSlash = T extends `/${infer R}`
+ ? TrimLeftSlash
+ : T
+type TrimRightSlash = T extends `${infer R}/`
+ ? TrimRightSlash
+ : T
+type TrimSlash = TrimLeftSlash>
+
+type IsNever = [T] extends [never] ? true : false
+type IsEqual = (() => G extends A ? 1 : 2) extends () => G extends B
+ ? 1
+ : 2
+ ? true
+ : false
+
+type UnionToIntersection = (U extends any ? (k: U) => void : never) extends (
+ k: infer I
+) => void
+ ? I
+ : never
+type UnionMerge = UnionToIntersection extends infer O
+ ? { [K in keyof O]: O[K] }
+ : never
+
+type ExcludeEmptyKey = IsEqual extends true ? never : T
+
+type PathConcat<
+ TKey extends string,
+ TValue,
+ N = TrimSlash
+> = TValue extends string
+ ? ExcludeEmptyKey
+ :
+ | ExcludeEmptyKey
+ | `${N & string}${IsNever> extends true
+ ? ''
+ : '/'}${UnionPath}`
+
+type UnionPath = {
+ [K in keyof T]-?: PathConcat
+}[keyof T]
+
+type MakeSureLeftSlash = T extends any
+ ? `/${TrimRightSlash}`
+ : never
+
+// exclude `/*`, because it always at the top of the IDE tip list
+type Path> = Exclude, '/*'> | IndexRoutePathname
diff --git a/src/.umi/core/plugin.ts b/src/.umi/core/plugin.ts
new file mode 100644
index 0000000..1db8c02
--- /dev/null
+++ b/src/.umi/core/plugin.ts
@@ -0,0 +1,40 @@
+// @ts-nocheck
+// This file is generated by Umi automatically
+// DO NOT CHANGE IT MANUALLY!
+import * as Plugin_0 from '@@/core/helmet.ts';
+import { PluginManager } from 'umi';
+
+function __defaultExport (obj) {
+ if (obj.default) {
+ return typeof obj.default === 'function' ? obj.default() : obj.default
+ }
+ return obj;
+}
+export function getPlugins() {
+ return [
+ {
+ apply: Plugin_0,
+ path: process.env.NODE_ENV === 'production' ? void 0 : '@@/core/helmet.ts',
+ },
+ ];
+}
+
+export function getValidKeys() {
+ return ['patchRoutes','patchClientRoutes','modifyContextOpts','modifyClientRenderOpts','rootContainer','innerProvider','i18nProvider','accessProvider','dataflowProvider','outerProvider','render','onRouteChange',];
+}
+
+let pluginManager = null;
+
+export function createPluginManager() {
+ pluginManager = PluginManager.create({
+ plugins: getPlugins(),
+ validKeys: getValidKeys(),
+ });
+
+
+ return pluginManager;
+}
+
+export function getPluginManager() {
+ return pluginManager;
+}
diff --git a/src/.umi/core/pluginConfig.ts b/src/.umi/core/pluginConfig.ts
new file mode 100644
index 0000000..ede736c
--- /dev/null
+++ b/src/.umi/core/pluginConfig.ts
@@ -0,0 +1,287 @@
+// @ts-nocheck
+// This file is generated by Umi automatically
+// DO NOT CHANGE IT MANUALLY!
+import { IConfigFromPluginsJoi } from "./pluginConfigJoi.d";
+
+interface IConfigTypes {
+ codeSplitting: {
+ jsStrategy: "bigVendors" | "depPerChunk" | "granularChunks";
+ jsStrategyOptions?: ({
+
+} | undefined);
+ cssStrategy?: ("mergeAll" | undefined);
+ cssStrategyOptions?: ({
+
+} | undefined);
+};
+ title: string;
+ styles: Array;
+ scripts: Array;
+ routes: Array<{
+ component?: (string | undefined);
+ layout?: (false | undefined);
+ path?: (string | undefined);
+ redirect?: (string | undefined);
+ routes?: IConfigTypes['routes'];
+ wrappers?: (Array | undefined);
+} | { [x: string]: any }>;
+ routeLoader: {
+ moduleType: "esm" | "cjs";
+};
+ reactRouter5Compat: boolean | {
+
+};
+ presets: Array;
+ plugins: Array;
+ npmClient: "pnpm" | "tnpm" | "cnpm" | "yarn" | "npm";
+ mountElementId: string;
+ metas: Array<{
+ charset?: (string | undefined);
+ content?: (string | undefined);
+ "http-equiv"?: (string | undefined);
+ name?: (string | undefined);
+} | { [x: string]: any }>;
+ links: Array<{
+ crossorigin?: (string | undefined);
+ href?: (string | undefined);
+ hreflang?: (string | undefined);
+ media?: (string | undefined);
+ referrerpolicy?: (string | undefined);
+ rel?: (string | undefined);
+ sizes?: (any | undefined);
+ title?: (any | undefined);
+ type?: (any | undefined);
+} | { [x: string]: any }>;
+ historyWithQuery: {
+
+};
+ history: {
+ type: "browser" | "hash" | "memory";
+};
+ headScripts: Array;
+ esbuildMinifyIIFE: boolean;
+ conventionRoutes: {
+ base?: (string | undefined);
+ exclude?: (Array | undefined);
+};
+ conventionLayout: boolean;
+ base: string;
+ analyze: {
+
+};
+ writeToDisk: boolean;
+ theme: { [x: string]: any };
+ targets: { [x: string]: any };
+ svgr: { [x: string]: any };
+ svgo: { [x: string]: any } | boolean;
+ stylusLoader: { [x: string]: any };
+ styleLoader: { [x: string]: any };
+ srcTranspilerOptions: {
+ esbuild?: ({ [x: string]: any } | undefined);
+ swc?: ({ [x: string]: any } | undefined);
+};
+ srcTranspiler: "babel" | "esbuild" | "swc";
+ sassLoader: { [x: string]: any };
+ runtimePublicPath: {
+
+};
+ purgeCSS: { [x: string]: any };
+ publicPath: string;
+ proxy: { [x: string]: any } | Array;
+ postcssLoader: { [x: string]: any };
+ outputPath: string;
+ normalCSSLoaderModules: { [x: string]: any };
+ mfsu: {
+ cacheDirectory?: (string | undefined);
+ chainWebpack?: (((...args: any[]) => unknown) | undefined);
+ esbuild?: (boolean | undefined);
+ exclude?: (Array | undefined);
+ include?: (Array | undefined);
+ mfName?: (string | undefined);
+ remoteAliases?: (Array | undefined);
+ remoteName?: (string | undefined);
+ runtimePublicPath?: (boolean | undefined);
+ shared?: ({ [x: string]: any } | undefined);
+ strategy?: ("eager" | "normal" | undefined);
+} | boolean;
+ mdx: {
+ loader?: (string | undefined);
+ loaderOptions?: ({ [x: string]: any } | undefined);
+};
+ manifest: {
+ basePath?: (string | undefined);
+ fileName?: (string | undefined);
+};
+ lessLoader: { [x: string]: any };
+ jsMinifierOptions: { [x: string]: any };
+ jsMinifier: "esbuild" | "swc" | "terser" | "uglifyJs" | "none";
+ inlineLimit: number;
+ ignoreMomentLocale: boolean;
+ https: {
+ cert?: (string | undefined);
+ hosts?: (Array | undefined);
+ http2?: (boolean | undefined);
+ key?: (string | undefined);
+};
+ hash: boolean;
+ forkTSChecker: { [x: string]: any };
+ fastRefresh: boolean;
+ extraPostCSSPlugins: Array;
+ extraBabelPresets: Array>;
+ extraBabelPlugins: Array>;
+ extraBabelIncludes: Array;
+ externals: { [x: string]: any } | string | ((...args: any[]) => unknown);
+ esm: {
+
+};
+ devtool: "cheap-source-map" | "cheap-module-source-map" | "eval" | "eval-source-map" | "eval-cheap-source-map" | "eval-cheap-module-source-map" | "eval-nosources-cheap-source-map" | "eval-nosources-cheap-module-source-map" | "eval-nosources-source-map" | "source-map" | "hidden-source-map" | "hidden-nosources-cheap-source-map" | "hidden-nosources-cheap-module-source-map" | "hidden-nosources-source-map" | "hidden-cheap-source-map" | "hidden-cheap-module-source-map" | "inline-source-map" | "inline-cheap-source-map" | "inline-cheap-module-source-map" | "inline-nosources-cheap-source-map" | "inline-nosources-cheap-module-source-map" | "inline-nosources-source-map" | "nosources-source-map" | "nosources-cheap-source-map" | "nosources-cheap-module-source-map" | boolean;
+ depTranspiler: "babel" | "esbuild" | "swc" | "none";
+ define: { [x: string]: any };
+ deadCode: {
+ context?: (string | undefined);
+ detectUnusedExport?: (boolean | undefined);
+ detectUnusedFiles?: (boolean | undefined);
+ exclude?: (Array | undefined);
+ failOnHint?: (boolean | undefined);
+ patterns?: (Array | undefined);
+};
+ cssPublicPath: string;
+ cssMinifierOptions: { [x: string]: any };
+ cssMinifier: "cssnano" | "esbuild" | "parcelCSS" | "none";
+ cssLoaderModules: { [x: string]: any };
+ cssLoader: { [x: string]: any };
+ copy: Array<{
+ from: string;
+ to: string;
+} | string>;
+ checkDepCssModules?: boolean;
+ cacheDirectoryPath: string;
+ babelLoaderCustomize: string;
+ autoprefixer: { [x: string]: any };
+ autoCSSModules: boolean;
+ alias: { [x: string]: any };
+ crossorigin: boolean | {
+ includes?: (Array | undefined);
+};
+ esmi: {
+ cdnOrigin: string;
+ shimUrl?: (string | undefined);
+};
+ exportStatic: {
+ extraRoutePaths?: (((...args: any[]) => unknown) | Array | undefined);
+ ignorePreRenderError?: (boolean | undefined);
+};
+ favicons: Array;
+ helmet: boolean;
+ icons: {
+ autoInstall?: ({
+
+} | undefined);
+ defaultComponentConfig?: ({
+
+} | undefined);
+ alias?: ({
+
+} | undefined);
+ include?: (Array | undefined);
+};
+ mock: {
+ exclude?: (Array | undefined);
+ include?: (Array | undefined);
+};
+ mpa: {
+ template?: (string | undefined);
+ layout?: (string | undefined);
+ getConfigFromEntryFile?: (boolean | undefined);
+ entry?: ({
+
+} | undefined);
+};
+ phantomDependency: {
+ exclude?: (Array | undefined);
+};
+ polyfill: {
+ imports?: (Array | undefined);
+};
+ routePrefetch: {
+
+};
+ terminal: {
+
+};
+ tmpFiles: boolean;
+ clientLoader: {
+
+};
+ routeProps: {
+
+};
+ ssr: {
+ serverBuildPath?: (string | undefined);
+ platform?: (string | undefined);
+ builder?: ("esbuild" | "webpack" | undefined);
+};
+ lowImport: {
+ libs?: (Array | undefined);
+ css?: (string | undefined);
+};
+ vite: {
+
+};
+ apiRoute: {
+ platform?: (string | undefined);
+};
+ monorepoRedirect: boolean | {
+ srcDir?: (Array | undefined);
+ exclude?: (Array | undefined);
+ peerDeps?: (boolean | undefined);
+};
+ test: {
+
+};
+ clickToComponent: {
+ /** 默认情况下,点击将默认编辑器为vscode, 你可以设置编辑器 vscode 或者 vscode-insiders */
+ editor?: (string | undefined);
+};
+ legacy: {
+ buildOnly?: (boolean | undefined);
+ nodeModulesTransform?: (boolean | undefined);
+ checkOutput?: (boolean | undefined);
+};
+ /** 设置 babel class-properties 启用 loose
+ @doc https://umijs.org/docs/api/config#classpropertiesloose */
+ classPropertiesLoose: boolean | {
+
+};
+ ui: {
+
+};
+ hmrGuardian: boolean;
+ verifyCommit: {
+ scope?: (Array | undefined);
+ allowEmoji?: (boolean | undefined);
+};
+ run: {
+ globals?: (Array | undefined);
+};
+};
+
+type PrettifyWithCloseable = {
+ [K in keyof T]: T[K] | false;
+} & {};
+
+export type IConfigFromPlugins = PrettifyWithCloseable<
+ IConfigFromPluginsJoi & Partial
+>;
diff --git a/src/.umi/core/pluginConfigJoi.d.ts b/src/.umi/core/pluginConfigJoi.d.ts
new file mode 100644
index 0000000..215e7b5
--- /dev/null
+++ b/src/.umi/core/pluginConfigJoi.d.ts
@@ -0,0 +1,7 @@
+// This file is generated by Umi automatically
+// DO NOT CHANGE IT MANUALLY!
+// Created by Umi Plugin
+
+export interface IConfigFromPluginsJoi {
+
+}
diff --git a/src/.umi/core/polyfill.ts b/src/.umi/core/polyfill.ts
new file mode 100644
index 0000000..7e75bf8
--- /dev/null
+++ b/src/.umi/core/polyfill.ts
@@ -0,0 +1,220 @@
+// @ts-nocheck
+// This file is generated by Umi automatically
+// DO NOT CHANGE IT MANUALLY!
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/es.error.cause.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/es.aggregate-error.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/es.aggregate-error.cause.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/es.array.at.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/es.array.find-last.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/es.array.find-last-index.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/es.array.push.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/es.array.reduce.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/es.array.reduce-right.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/es.array.to-reversed.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/es.array.to-sorted.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/es.array.to-spliced.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/es.array.with.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/es.map.group-by.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/es.object.group-by.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/es.object.has-own.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/es.promise.any.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/es.promise.with-resolvers.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/es.reflect.to-string-tag.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/es.regexp.flags.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/es.string.at-alternative.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/es.string.is-well-formed.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/es.string.replace-all.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/es.string.to-well-formed.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/es.typed-array.at.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/es.typed-array.find-last.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/es.typed-array.find-last-index.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/es.typed-array.set.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/es.typed-array.to-reversed.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/es.typed-array.to-sorted.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/es.typed-array.with.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.suppressed-error.constructor.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.array.from-async.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.array.filter-out.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.array.filter-reject.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.array.group.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.array.group-by.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.array.group-by-to-map.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.array.group-to-map.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.array.is-template-object.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.array.last-index.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.array.last-item.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.array.unique-by.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.array-buffer.detached.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.array-buffer.transfer.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.array-buffer.transfer-to-fixed-length.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.async-disposable-stack.constructor.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.async-iterator.constructor.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.async-iterator.as-indexed-pairs.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.async-iterator.async-dispose.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.async-iterator.drop.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.async-iterator.every.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.async-iterator.filter.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.async-iterator.find.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.async-iterator.flat-map.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.async-iterator.for-each.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.async-iterator.from.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.async-iterator.indexed.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.async-iterator.map.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.async-iterator.reduce.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.async-iterator.some.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.async-iterator.take.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.async-iterator.to-array.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.bigint.range.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.composite-key.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.composite-symbol.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.data-view.get-float16.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.data-view.get-uint8-clamped.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.data-view.set-float16.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.data-view.set-uint8-clamped.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.disposable-stack.constructor.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.function.demethodize.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.function.is-callable.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.function.is-constructor.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.function.metadata.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.function.un-this.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.iterator.constructor.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.iterator.as-indexed-pairs.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.iterator.dispose.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.iterator.drop.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.iterator.every.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.iterator.filter.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.iterator.find.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.iterator.flat-map.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.iterator.for-each.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.iterator.from.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.iterator.indexed.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.iterator.map.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.iterator.range.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.iterator.reduce.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.iterator.some.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.iterator.take.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.iterator.to-array.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.iterator.to-async.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.json.is-raw-json.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.json.parse.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.json.raw-json.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.map.delete-all.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.map.emplace.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.map.every.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.map.filter.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.map.find.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.map.find-key.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.map.from.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.map.includes.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.map.key-by.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.map.key-of.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.map.map-keys.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.map.map-values.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.map.merge.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.map.of.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.map.reduce.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.map.some.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.map.update.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.map.update-or-insert.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.map.upsert.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.math.clamp.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.math.deg-per-rad.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.math.degrees.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.math.fscale.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.math.f16round.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.math.iaddh.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.math.imulh.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.math.isubh.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.math.rad-per-deg.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.math.radians.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.math.scale.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.math.seeded-prng.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.math.signbit.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.math.umulh.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.number.from-string.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.number.range.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.object.iterate-entries.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.object.iterate-keys.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.object.iterate-values.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.observable.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.promise.try.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.reflect.define-metadata.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.reflect.delete-metadata.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.reflect.get-metadata.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.reflect.get-metadata-keys.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.reflect.get-own-metadata.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.reflect.get-own-metadata-keys.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.reflect.has-metadata.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.reflect.has-own-metadata.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.reflect.metadata.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.regexp.escape.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.set.add-all.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.set.delete-all.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.set.difference.v2.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.set.difference.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.set.every.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.set.filter.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.set.find.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.set.from.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.set.intersection.v2.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.set.intersection.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.set.is-disjoint-from.v2.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.set.is-disjoint-from.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.set.is-subset-of.v2.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.set.is-subset-of.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.set.is-superset-of.v2.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.set.is-superset-of.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.set.join.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.set.map.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.set.of.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.set.reduce.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.set.some.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.set.symmetric-difference.v2.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.set.symmetric-difference.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.set.union.v2.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.set.union.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.string.at.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.string.cooked.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.string.code-points.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.string.dedent.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.symbol.async-dispose.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.symbol.dispose.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.symbol.is-registered-symbol.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.symbol.is-registered.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.symbol.is-well-known-symbol.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.symbol.is-well-known.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.symbol.matcher.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.symbol.metadata.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.symbol.metadata-key.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.symbol.observable.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.symbol.pattern-match.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.symbol.replace-all.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.typed-array.from-async.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.typed-array.filter-out.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.typed-array.filter-reject.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.typed-array.group-by.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.typed-array.to-spliced.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.typed-array.unique-by.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.uint8-array.from-base64.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.uint8-array.from-hex.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.uint8-array.to-base64.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.uint8-array.to-hex.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.weak-map.delete-all.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.weak-map.from.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.weak-map.of.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.weak-map.emplace.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.weak-map.upsert.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.weak-set.add-all.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.weak-set.delete-all.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.weak-set.from.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/esnext.weak-set.of.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/web.dom-exception.stack.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/web.immediate.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/web.self.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/web.structured-clone.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/web.url.can-parse.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/web.url-search-params.delete.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/web.url-search-params.has.js";
+import "/usr/lib/node_modules/umi/node_modules/core-js/modules/web.url-search-params.size.js";
+import '/usr/lib/node_modules/umi/node_modules/@umijs/preset-umi/node_modules/regenerator-runtime/runtime.js';
+export {};
diff --git a/src/.umi/core/route.tsx b/src/.umi/core/route.tsx
new file mode 100644
index 0000000..0081761
--- /dev/null
+++ b/src/.umi/core/route.tsx
@@ -0,0 +1,30 @@
+// @ts-nocheck
+// This file is generated by Umi automatically
+// DO NOT CHANGE IT MANUALLY!
+import routeProps from './routeProps';
+
+if (process.env.NODE_ENV === 'development') {
+ Object.entries(routeProps).forEach(([key, value]) => {
+ const internalProps = ['path', 'id', 'parentId', 'isLayout', 'isWrapper', 'layout', 'clientLoader'];
+ Object.keys(value).forEach((prop) => {
+ if (internalProps.includes(prop)) {
+ throw new Error(
+ `[UmiJS] route '${key}' should not have '${prop}' prop, please remove this property in 'routeProps'.`
+ )
+ }
+ })
+ })
+}
+
+import React from 'react';
+
+export async function getRoutes() {
+ const routes = {"duty/DutyTable":{"path":"duty/DutyTable","id":"duty/DutyTable"},"logs/Logs":{"path":"logs/Logs","id":"logs/Logs"}} as const;
+ return {
+ routes,
+ routeComponents: {
+'duty/DutyTable': React.lazy(() => import(/* webpackChunkName: "src__pages__duty__DutyTable" */'../../../src/pages/duty/DutyTable.tsx')),
+'logs/Logs': React.lazy(() => import(/* webpackChunkName: "src__pages__logs__Logs" */'../../../src/pages/logs/Logs.tsx')),
+},
+ };
+}
diff --git a/src/.umi/core/routeProps.js b/src/.umi/core/routeProps.js
new file mode 100644
index 0000000..86da3aa
--- /dev/null
+++ b/src/.umi/core/routeProps.js
@@ -0,0 +1,5 @@
+// src/.umi/core/routeProps.ts
+var routeProps_default = {};
+export {
+ routeProps_default as default
+};
diff --git a/src/.umi/core/routeProps.ts b/src/.umi/core/routeProps.ts
new file mode 100644
index 0000000..0a8457e
--- /dev/null
+++ b/src/.umi/core/routeProps.ts
@@ -0,0 +1,6 @@
+// @ts-nocheck
+// This file is generated by Umi automatically
+// DO NOT CHANGE IT MANUALLY!
+export default {
+
+};
diff --git a/src/.umi/core/terminal.ts b/src/.umi/core/terminal.ts
new file mode 100644
index 0000000..b07942d
--- /dev/null
+++ b/src/.umi/core/terminal.ts
@@ -0,0 +1,37 @@
+// @ts-nocheck
+// This file is generated by Umi automatically
+// DO NOT CHANGE IT MANUALLY!
+let count = 0;
+let groupLevel = 0;
+function send(type: string, message?: string) {
+ if(process.env.NODE_ENV==='production'){
+ return;
+ }else{
+ const encodedMessage = message ? `&m=${encodeURI(message)}` : '';
+ fetch(`/__umi/api/terminal?type=${type}&t=${Date.now()}&c=${count++}&g=${groupLevel}${encodedMessage}`, { mode: 'no-cors' })
+ }
+}
+function prettyPrint(obj: any) {
+ return JSON.stringify(obj, null, 2);
+}
+function stringifyObjs(objs: any[]) {
+ const obj = objs.length > 1 ? objs.map(stringify).join(' ') : objs[0];
+ return typeof obj === 'object' ? `${prettyPrint(obj)}` : obj.toString();
+}
+function stringify(obj: any) {
+ return typeof obj === 'object' ? `${JSON.stringify(obj)}` : obj.toString();
+}
+const terminal = {
+ log(...objs: any[]) { send('log', stringifyObjs(objs)) },
+ info(...objs: any[]) { send('info', stringifyObjs(objs)) },
+ warn(...objs: any[]) { send('warn', stringifyObjs(objs)) },
+ error(...objs: any[]) { send('error', stringifyObjs(objs)) },
+ group() { groupLevel++ },
+ groupCollapsed() { groupLevel++ },
+ groupEnd() { groupLevel && --groupLevel },
+ clear() { send('clear') },
+ trace(...args: any[]) { console.trace(...args) },
+ profile(...args: any[]) { console.profile(...args) },
+ profileEnd(...args: any[]) { console.profileEnd(...args) },
+};
+export { terminal };
diff --git a/src/.umi/exports.ts b/src/.umi/exports.ts
new file mode 100644
index 0000000..badc3a2
--- /dev/null
+++ b/src/.umi/exports.ts
@@ -0,0 +1,19 @@
+// @ts-nocheck
+// This file is generated by Umi automatically
+// DO NOT CHANGE IT MANUALLY!
+// defineApp
+export { defineApp } from './core/defineApp'
+export type { RuntimeConfig } from './core/defineApp'
+// plugins
+// plugins types.d.ts
+// @umijs/renderer-*
+export { createBrowserHistory, createHashHistory, createMemoryHistory, Helmet, HelmetProvider, createSearchParams, generatePath, matchPath, matchRoutes, Navigate, NavLink, Outlet, resolvePath, useLocation, useMatch, useNavigate, useOutlet, useOutletContext, useParams, useResolvedPath, useRoutes, useSearchParams, useAppData, useClientLoaderData, useRouteProps, useSelectedRoutes, useServerLoaderData, renderClient, __getRoot, Link, useRouteData, __useFetcher, withRouter } from '/usr/lib/node_modules/umi/node_modules/@umijs/renderer-react';
+export type { History } from '/usr/lib/node_modules/umi/node_modules/@umijs/renderer-react'
+// umi/client/client/plugin
+export { ApplyPluginsType, PluginManager } from '/usr/lib/node_modules/umi/client/client/plugin.js';
+export { history, createHistory } from './core/history';
+export { terminal } from './core/terminal';
+// react ssr
+export const useServerInsertedHTML: Function = () => {};
+// test
+export { TestBrowser } from './testBrowser';
diff --git a/src/.umi/testBrowser.tsx b/src/.umi/testBrowser.tsx
new file mode 100644
index 0000000..defa2d8
--- /dev/null
+++ b/src/.umi/testBrowser.tsx
@@ -0,0 +1,87 @@
+// @ts-nocheck
+// This file is generated by Umi automatically
+// DO NOT CHANGE IT MANUALLY!
+import React, { useEffect, useState } from 'react';
+import { ApplyPluginsType } from 'umi';
+import { renderClient, RenderClientOpts } from '/usr/lib/node_modules/umi/node_modules/@umijs/renderer-react';
+import { createHistory } from './core/history';
+import { createPluginManager } from './core/plugin';
+import { getRoutes } from './core/route';
+import type { Location } from 'history';
+
+
+const publicPath = '/';
+const runtimePublicPath = false;
+
+type TestBrowserProps = {
+ location?: Partial;
+ historyRef?: React.MutableRefObject;
+};
+
+export function TestBrowser(props: TestBrowserProps) {
+ const pluginManager = createPluginManager();
+ const [context, setContext] = useState(
+ undefined
+ );
+ useEffect(() => {
+ const genContext = async () => {
+ const { routes, routeComponents } = await getRoutes(pluginManager);
+ // allow user to extend routes
+ await pluginManager.applyPlugins({
+ key: 'patchRoutes',
+ type: ApplyPluginsType.event,
+ args: {
+ routes,
+ routeComponents,
+ },
+ });
+ const contextOpts = pluginManager.applyPlugins({
+ key: 'modifyContextOpts',
+ type: ApplyPluginsType.modify,
+ initialValue: {},
+ });
+ const basename = contextOpts.basename || '/';
+ const history = createHistory({
+ type: 'memory',
+ basename,
+ });
+ const context = {
+ routes,
+ routeComponents,
+ pluginManager,
+ rootElement: contextOpts.rootElement || document.getElementById('root'),
+ publicPath,
+ runtimePublicPath,
+ history,
+ basename,
+ components: true,
+ };
+ const modifiedContext = pluginManager.applyPlugins({
+ key: 'modifyClientRenderOpts',
+ type: ApplyPluginsType.modify,
+ initialValue: context,
+ });
+ return modifiedContext;
+ };
+ genContext().then((context) => {
+ setContext(context);
+ if (props.location) {
+ context?.history?.push(props.location);
+ }
+ if (props.historyRef) {
+ props.historyRef.current = context?.history;
+ }
+ });
+ }, []);
+
+ if (context === undefined) {
+ return ;
+ }
+
+ const Children = renderClient(context);
+ return (
+
+
+
+ );
+}
diff --git a/src/.umi/tsconfig.json b/src/.umi/tsconfig.json
new file mode 100644
index 0000000..213653c
--- /dev/null
+++ b/src/.umi/tsconfig.json
@@ -0,0 +1,43 @@
+{
+ "compilerOptions": {
+ "target": "esnext",
+ "module": "esnext",
+ "lib": [
+ "dom",
+ "dom.iterable",
+ "esnext"
+ ],
+ "allowJs": true,
+ "skipLibCheck": true,
+ "moduleResolution": "node",
+ "importHelpers": true,
+ "noEmit": true,
+ "jsx": "react-jsx",
+ "esModuleInterop": true,
+ "sourceMap": true,
+ "baseUrl": "../../",
+ "strict": true,
+ "resolveJsonModule": true,
+ "allowSyntheticDefaultImports": true,
+ "paths": {
+ "@/*": [
+ "src/*"
+ ],
+ "@@/*": [
+ "src/.umi/*"
+ ],
+ "umi": [
+ "/usr/lib/node_modules/umi"
+ ],
+ "umi/typings": [
+ "src/.umi/typings"
+ ]
+ }
+ },
+ "include": [
+ "../../.umirc.ts",
+ "../../**/*.d.ts",
+ "../../**/*.ts",
+ "../../**/*.tsx"
+ ]
+}
diff --git a/src/.umi/typings.d.ts b/src/.umi/typings.d.ts
new file mode 100644
index 0000000..19725a3
--- /dev/null
+++ b/src/.umi/typings.d.ts
@@ -0,0 +1,136 @@
+// This file is generated by Umi automatically
+// DO NOT CHANGE IT MANUALLY!
+type CSSModuleClasses = { readonly [key: string]: string }
+declare module '*.css' {
+ const classes: CSSModuleClasses
+ export default classes
+}
+declare module '*.scss' {
+ const classes: CSSModuleClasses
+ export default classes
+}
+declare module '*.sass' {
+ const classes: CSSModuleClasses
+ export default classes
+}
+declare module '*.less' {
+ const classes: CSSModuleClasses
+ export default classes
+}
+declare module '*.styl' {
+ const classes: CSSModuleClasses
+ export default classes
+}
+declare module '*.stylus' {
+ const classes: CSSModuleClasses
+ export default classes
+}
+
+// images
+declare module '*.jpg' {
+ const src: string
+ export default src
+}
+declare module '*.jpeg' {
+ const src: string
+ export default src
+}
+declare module '*.png' {
+ const src: string
+ export default src
+}
+declare module '*.gif' {
+ const src: string
+ export default src
+}
+declare module '*.svg' {
+ import * as React from 'react';
+ export const ReactComponent: React.FunctionComponent & { title?: string }>;
+
+ const src: string
+ export default src
+}
+declare module '*.ico' {
+ const src: string
+ export default src
+}
+declare module '*.webp' {
+ const src: string
+ export default src
+}
+declare module '*.avif' {
+ const src: string
+ export default src
+}
+
+// media
+declare module '*.mp4' {
+ const src: string
+ export default src
+}
+declare module '*.webm' {
+ const src: string
+ export default src
+}
+declare module '*.ogg' {
+ const src: string
+ export default src
+}
+declare module '*.mp3' {
+ const src: string
+ export default src
+}
+declare module '*.wav' {
+ const src: string
+ export default src
+}
+declare module '*.flac' {
+ const src: string
+ export default src
+}
+declare module '*.aac' {
+ const src: string
+ export default src
+}
+
+// fonts
+declare module '*.woff' {
+ const src: string
+ export default src
+}
+declare module '*.woff2' {
+ const src: string
+ export default src
+}
+declare module '*.eot' {
+ const src: string
+ export default src
+}
+declare module '*.ttf' {
+ const src: string
+ export default src
+}
+declare module '*.otf' {
+ const src: string
+ export default src
+}
+
+// other
+declare module '*.wasm' {
+ const initWasm: (options: WebAssembly.Imports) => Promise
+ export default initWasm
+}
+declare module '*.webmanifest' {
+ const src: string
+ export default src
+}
+declare module '*.pdf' {
+ const src: string
+ export default src
+}
+declare module '*.txt' {
+ const src: string
+ export default src
+}
diff --git a/src/.umi/umi.ts b/src/.umi/umi.ts
new file mode 100644
index 0000000..1784f1d
--- /dev/null
+++ b/src/.umi/umi.ts
@@ -0,0 +1,76 @@
+// @ts-nocheck
+// This file is generated by Umi automatically
+// DO NOT CHANGE IT MANUALLY!
+import './core/polyfill';
+
+import { renderClient } from '/usr/lib/node_modules/umi/node_modules/@umijs/renderer-react';
+import { getRoutes } from './core/route';
+import { createPluginManager } from './core/plugin';
+import { createHistory } from './core/history';
+import { ApplyPluginsType } from 'umi';
+
+
+const publicPath = "/";
+const runtimePublicPath = false;
+
+async function render() {
+ const pluginManager = createPluginManager();
+ const { routes, routeComponents } = await getRoutes(pluginManager);
+
+ // allow user to extend routes
+ await pluginManager.applyPlugins({
+ key: 'patchRoutes',
+ type: ApplyPluginsType.event,
+ args: {
+ routes,
+ routeComponents,
+ },
+ });
+
+ const contextOpts = pluginManager.applyPlugins({
+ key: 'modifyContextOpts',
+ type: ApplyPluginsType.modify,
+ initialValue: {},
+ });
+
+ const basename = contextOpts.basename || '/';
+ const historyType = contextOpts.historyType || 'browser';
+
+ const history = createHistory({
+ type: historyType,
+ basename,
+ ...contextOpts.historyOpts,
+ });
+
+ return (pluginManager.applyPlugins({
+ key: 'render',
+ type: ApplyPluginsType.compose,
+ initialValue() {
+ const context = {
+ routes,
+ routeComponents,
+ pluginManager,
+ rootElement: contextOpts.rootElement || document.getElementById('root'),
+ publicPath,
+ runtimePublicPath,
+ history,
+ historyType,
+ basename,
+ callback: contextOpts.callback,
+ };
+ const modifiedContext = pluginManager.applyPlugins({
+ key: 'modifyClientRenderOpts',
+ type: ApplyPluginsType.modify,
+ initialValue: context,
+ });
+ return renderClient(modifiedContext);
+ },
+ }))();
+}
+
+
+render();
+
+window.g_umi = {
+ version: '4.1.5',
+};
diff --git a/src/service/index.ts b/src/service/index.ts
new file mode 100644
index 0000000..4baf913
--- /dev/null
+++ b/src/service/index.ts
@@ -0,0 +1,70 @@
+import process from 'process';
+
+/**
+ * State machine for request
+ *
+ * @example
+ *
+ * let former = this.state.rs;
+ * this.setState({
+ * rs: former.trans(true),
+ * })
+ */
+export class RequestState {
+ loading: boolean;
+ success: boolean;
+ constructor() {
+ this.loading = true;
+ this.success = false;
+ }
+
+ trans(success: boolean): RequestState {
+ if (this.loading) {
+ this.loading = false;
+ this.success = success;
+ } else {
+ console.error('calling trans on not loading state');
+ }
+ return this;
+ }
+}
+
+/**
+ * Get URL of backend
+ * @param path Relative path to base url, begins with `/`
+ * @returns Full url
+ *
+ * @example
+ *
+ * ``` tsx
+ * import { getUrl } from '@/service';
+ * import { Component, ReactNode } from 'react';
+ * import Taro from '@tarojs/taro';
+ *
+ * class Index extends Component {
+ * state = {
+ * testData: {},
+ * }
+ * componentDidMount(): void {
+ * Taro.request({
+ * url: getUrl('/testdata'),
+ * method: 'GET',
+ * }).then(res => {
+ * console.log(res.data);
+ * this.setState({ testData: res.data.data });
+ * });
+ * }
+ * render() { ... }
+ * }
+ * ```
+ */
+export function getUrl(path: string): string {
+ const baseUrl = process.env.ANTD_APP_API;
+ // console.log('bu:', baseUrl);
+ if (baseUrl) {
+ return baseUrl + path;
+ } else {
+ console.log('env ANTD_APP_API is undefined');
+ return '';
+ }
+}