commit f06ae5530bffdc6923313e8ad37f810705a50ce7 Author: Dawn1Ocean <1785590531@qq.com> Date: Thu Mar 28 10:57:51 2024 +0800 new umi branch 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 ''; + } +}