Major changes: - New frontend (platform/web/): Vite + React 18 + TypeScript + Tailwind - 4-module navigation: 数据送标 / 模型管理 / 车队管理 / 系统管理 - Data catalog with charts (DMS/ADAS/Lane 3-tab view) - Quality review workflow (标注质检): Good/Fine/Bad scoring with auto-advance - Audit enhancements: batch operations, rejection categories, Feishu notifications - Operation audit log (操作日志) - World model simulation studio (仿真工坊) - Dataset version management with snapshots and diff - ADAS 7-class dataset integration (138K images organized + compressed) - User management with Feishu integration and pagination - CRUD/search/filter on all pages, card layout redesign - PIL-optimized image overlay rendering - Auto-snapshot on build, in_review workflow stage - Removed embedded algorithm code (now in workspace)
39 lines
1.5 KiB
JavaScript
39 lines
1.5 KiB
JavaScript
if (__DEV__) {
|
|
if (typeof window !== "undefined") {
|
|
const global = window;
|
|
const key = "__react_router_build__";
|
|
const buildNames = { cjs: "CommonJS", esm: "ES modules", umd: "UMD" };
|
|
|
|
if (global[key] && global[key] !== process.env.BUILD_FORMAT) {
|
|
const initialBuildName = buildNames[global[key]];
|
|
const secondaryBuildName = buildNames[process.env.BUILD_FORMAT];
|
|
|
|
// TODO: Add link to article that explains in detail how to avoid
|
|
// loading 2 different builds.
|
|
throw new Error(
|
|
`You are loading the ${secondaryBuildName} build of React Router ` +
|
|
`on a page that is already running the ${initialBuildName} ` +
|
|
`build, so things won't work right.`
|
|
);
|
|
}
|
|
|
|
global[key] = process.env.BUILD_FORMAT;
|
|
}
|
|
}
|
|
|
|
export { default as MemoryRouter } from "./MemoryRouter.js";
|
|
export { default as Prompt } from "./Prompt.js";
|
|
export { default as Redirect } from "./Redirect.js";
|
|
export { default as Route } from "./Route.js";
|
|
export { default as Router } from "./Router.js";
|
|
export { default as StaticRouter } from "./StaticRouter.js";
|
|
export { default as Switch } from "./Switch.js";
|
|
export { default as generatePath } from "./generatePath.js";
|
|
export { default as matchPath } from "./matchPath.js";
|
|
export { default as withRouter } from "./withRouter.js";
|
|
|
|
export { default as __HistoryContext } from "./HistoryContext.js";
|
|
export { default as __RouterContext } from "./RouterContext.js";
|
|
|
|
export { useHistory, useLocation, useParams, useRouteMatch } from "./hooks.js";
|