diff --git a/.trae/rules/project-specific-rules.md b/.trae/rules/project-specific-rules.md index 4147585..669258b 100644 --- a/.trae/rules/project-specific-rules.md +++ b/.trae/rules/project-specific-rules.md @@ -223,6 +223,12 @@ Step 5: 完成后释放占用 - ❌ **禁止**: 跨模块同时占用多个任务包 - ❌ **禁止**: 占用超过 24 小时未释放 +### 7.8 任务ID格式 +- **格式**: `[模块]-[子模块][序号]` +- **模块**: FE(前端), BE(后端), PL(插件), AI(AI), DT(数据), OP(运维) +- **子模块**: P(商品), O(订单), F(财务), I(库存), C(采集), A(广告) 等 +- **示例**: BE-P001, FE-O001, PL-C001 + --- ## 8. 逻辑集中化原则(硬性约束) @@ -319,6 +325,11 @@ Step 5: 完成后释放占用 2. ✅ 核心逻辑已闭环 3. ✅ 通过 `GetDiagnostics` 校验 +### 10.4 文件规模限制 +- **单文件**: ≤ 1500 行 +- **单函数**: ≤ 120 行 +- **UI 组件**: ≤ 300 行 + --- ## 11. Mock数据规范(AI上下文安全) @@ -398,6 +409,72 @@ AI在分析代码时: --- +## 12. TypeScript 编译与类型安全(强制约束) + +### 12.1 核心原则 +- **禁止 any**: 所有代码禁止使用 `any` 类型,使用 `unknown` + 类型守卫 +- **函数必须声明返回类型**: 所有函数必须显式声明返回类型 +- **API 必须定义类型**: 所有 API 调用必须定义请求和响应类型 +- **类型边界分层**: 接口层 → DTO层 → 业务层(Domain) + +### 12.2 类型定义规范 +- **禁止裸对象**: 所有对象必须有类型定义 +- **Schema 驱动**: 类型必须从 Schema(zod)推导,禁止手动定义 +- **统一类型中心**: 所有类型只从 `/types` 目录导入,禁止各模块重复定义 + +### 12.3 类型转换流程 +``` +API 返回数据 → Schema 验证 → DTO 转换 → Domain 模型 +``` +- **接口返回 = 不可信**: 必须经过 Schema 验证才能进入业务层 +- **禁止直接使用**: 禁止在业务层直接使用 API 返回的原始数据 + +### 12.4 编译检查 +- **编译错误 = 构建失败**: TypeScript 编译错误必须阻断 CI/CD +- **提交前检查**: 必须通过 `tsc --noEmit` 检查才能提交 +- **ESLint 强制**: 必须通过 `@typescript-eslint` 规则检查 + +### 12.5 编译错误修复(当前 613 个错误) + +#### 错误分布 +| 错误类型 | 占比 | 优先级 | +|---------|------|--------| +| 类型不匹配 | 40% | 🔴 最高 | +| any 类型 | 25% | 🔴 最高 | +| 模块导入 | 15% | 🟡 中 | +| undefined/null | 10% | 🟡 中 | +| 配置问题 | 5% | 🟢 低 | +| 路径问题 | 5% | 🟢 低 | + +#### 修复策略(分阶段) +1. **阶段 1(配置)**: 检查并修复 tsconfig.json 配置 +2. **阶段 2(any)**: 消除所有 any 类型,使用 unknown + 类型守卫 +3. **阶段 3(类型)**: 修复类型不匹配,确保所有函数声明返回类型 +4. **阶段 4(模块)**: 统一模块导入导出,修复路径别名 +5. **阶段 5(空值)**: 正确处理 undefined 和 null + +#### 强制约束 +- ❌ **禁止**: 使用 `// @ts-ignore` 忽略错误 +- ❌ **禁止**: 使用 `// @ts-nocheck` 禁用检查 +- ❌ **禁止**: 将类型改为 `any` 来"解决"错误 +- ✅ **必须**: 每次修复后运行测试 +- ✅ **必须**: 保持代码风格一致 + +#### 进度追踪 +```bash +# 检查剩余错误数 +npx tsc --noEmit 2>&1 | Select-String -Pattern "^src/" | Measure-Object +``` + +### 12.6 详细文档 +- [TypeScript 编译规约](../../docs/01_Architecture/13_TypeScript_Standards.md) +- [代码质量规范](../../docs/01_Architecture/14_Code_Quality_Standards.md) +- [Schema 驱动开发](../../docs/01_Architecture/15_Schema_Driven_Development.md) +- [统一类型管理](../../docs/01_Architecture/16_Unified_Type_Management.md) +- [TypeScript 错误修复方案](../../docs/05_AI/07_TypeScript_Error_Fix_Guide.md) + +--- + ## 快速参考 | 规则类别 | 关键约束 | 违反后果 | @@ -412,6 +489,9 @@ AI在分析代码时: | **任务领取** | **优先领任务包,最小2个任务** | **碎片化等待** | | **协作防撞** | **必须声明占用,先声明优先** | **重复开发** | | **Mock规范** | **Mock数据必须隔离,禁止硬编码** | **AI上下文污染,维护困难** | +| **TypeScript** | **禁止any,函数必须声明返回类型** | **类型安全丧失,运行时错误** | +| **Schema驱动** | **类型从Schema推导,禁止手动定义** | **类型不一致,维护困难** | +| **类型中心** | **所有类型从/types导入,禁止重复定义** | **类型重复,不一致** | --- diff --git a/dashboard/.eslintrc.js b/dashboard/.eslintrc.js new file mode 100644 index 0000000..d0d662f --- /dev/null +++ b/dashboard/.eslintrc.js @@ -0,0 +1,32 @@ +module.exports = { + env: { + browser: true, + es2021: true, + node: true, + }, + extends: [ + 'eslint:recommended', + 'plugin:react/recommended', + 'plugin:@typescript-eslint/recommended', + ], + parser: '@typescript-eslint/parser', + parserOptions: { + ecmaFeatures: { + jsx: true, + }, + ecmaVersion: 12, + sourceType: 'module', + }, + plugins: ['react', '@typescript-eslint'], + settings: { + react: { + version: 'detect', + }, + }, + rules: { + 'react/react-in-jsx-scope': 'off', + '@typescript-eslint/no-explicit-any': 'warn', + '@typescript-eslint/explicit-module-boundary-types': 'off', + '@typescript-eslint/no-unused-vars': ['warn', { argsIgnorePattern: '^_' }], + }, +}; diff --git a/dashboard/src/.umi/appData.json b/dashboard/src/.umi/appData.json index d04358f..5bf9b9f 100644 --- a/dashboard/src/.umi/appData.json +++ b/dashboard/src/.umi/appData.json @@ -28,6 +28,7 @@ "umi": "^4.0.0" }, "devDependencies": { + "@types/jest": "^30.0.0", "@types/react": "^18.2.0", "@types/react-dom": "^18.2.0", "msw": "^2.12.13", @@ -58,7 +59,7 @@ "config": {}, "time": { "hooks": {}, - "register": 21 + "register": 24 }, "enableBy": "register" }, @@ -75,7 +76,7 @@ 0 ] }, - "register": 5 + "register": 11 }, "enableBy": "register" }, @@ -89,7 +90,7 @@ "time": { "hooks": { "onStart": [ - 3 + 5 ] }, "register": 3 @@ -106,10 +107,297 @@ "time": { "hooks": { "modifyRoutes": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, 0 ] }, - "register": 0 + "register": 1 }, "enableBy": "register" }, @@ -121,8 +409,27 @@ "key": "aiDev", "config": {}, "time": { - "hooks": {}, - "register": 4 + "hooks": { + "onDevCompileDone": [ + 20, + 2, + 4, + 2, + 10, + 4, + 3, + 7, + 83, + 8, + 2, + 5, + 3, + 8, + 2, + 25 + ] + }, + "register": 2 }, "enableBy": "register" }, @@ -136,10 +443,300 @@ "time": { "hooks": { "modifyAppData": [ - 25 + 21 + ], + "onGenerateFiles": [ + 7, + 8, + 7, + 8, + 15, + 38, + 42, + 13, + 7, + 9, + 8, + 15, + 17, + 510, + 15, + 32, + 14, + 99, + 10, + 12, + 11, + 9, + 12, + 18, + 9, + 10, + 31, + 15, + 9, + 9, + 20, + 8, + 24, + 8, + 11, + 12, + 9, + 18, + 8, + 9, + 30, + 9, + 10, + 8, + 9, + 8, + 9, + 7, + 10, + 9, + 8, + 12, + 15, + 7, + 12, + 10, + 51, + 10, + 8, + 9, + 9, + 9, + 9, + 8, + 10, + 7, + 7, + 8, + 9, + 11, + 9, + 9, + 24, + 11, + 21, + 10, + 9, + 10, + 9, + 10, + 17, + 15, + 34, + 10, + 15, + 16, + 9, + 14, + 8, + 33, + 13, + 54, + 15, + 12, + 18, + 9, + 11, + 77, + 12, + 12, + 13, + 55, + 8, + 11, + 17, + 16, + 9, + 8, + 13, + 12, + 11, + 22, + 46, + 14, + 10, + 9, + 62, + 13, + 26, + 17, + 12, + 13, + 12, + 12, + 9, + 17, + 15, + 12, + 15, + 10, + 10, + 21, + 12, + 12, + 10, + 24, + 24, + 9, + 11, + 15, + 9, + 10, + 8, + 9, + 9, + 12, + 9, + 10, + 9, + 13, + 11, + 10, + 17, + 11, + 10, + 13, + 11, + 10, + 9, + 8, + 11, + 10, + 9, + 12, + 12, + 8, + 13, + 14, + 21, + 11, + 11, + 15, + 8, + 8, + 8, + 8, + 10, + 8, + 23, + 21, + 8, + 9, + 10, + 11, + 8, + 9, + 10, + 9, + 29, + 19, + 9, + 11, + 26, + 51, + 11, + 15, + 13, + 15, + 31, + 70, + 39, + 11, + 11, + 14, + 27, + 12, + 24, + 28, + 15, + 12, + 24, + 12, + 10, + 9, + 24, + 9, + 11, + 10, + 9, + 46, + 15, + 11, + 10, + 12, + 20, + 21, + 8, + 9, + 16, + 17, + 8, + 16, + 9, + 8, + 12, + 11, + 12, + 10, + 11, + 13, + 17, + 11, + 22, + 13, + 24, + 12, + 15, + 21, + 13, + 14, + 11, + 26, + 10, + 15, + 10, + 15, + 9, + 11, + 9, + 12, + 11, + 13, + 9, + 10, + 10, + 16, + 9, + 9, + 8, + 8, + 11, + 10, + 11, + 9, + 9, + 10, + 10, + 11, + 8, + 10, + 8, + 12, + 9, + 12, + 20, + 10, + 7, + 13 ] }, - "register": 37 + "register": 27 }, "enableBy": "register" }, @@ -151,7 +748,298 @@ "key": "umiInfo", "config": {}, "time": { - "hooks": {}, + "hooks": { + "addEntryCode": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, "register": 1 }, "enableBy": "register" @@ -169,6 +1057,52 @@ 0 ], "onCheck": [ + 1 + ], + "onPrepareBuildSuccess": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + "onCheckCode": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, 0 ] }, @@ -186,7 +1120,7 @@ "time": { "hooks": { "onCheck": [ - 1 + 0 ] }, "register": 1 @@ -219,7 +1153,7 @@ 0 ] }, - "register": 16 + "register": 10 }, "enableBy": "register" }, @@ -1088,7 +2022,7 @@ 1 ] }, - "register": 2 + "register": 1 }, "enableBy": "register" }, @@ -1100,7 +2034,11 @@ "key": "devTool", "config": {}, "time": { - "hooks": {}, + "hooks": { + "addBeforeMiddlewares": [ + 11 + ] + }, "register": 1 }, "enableBy": "register" @@ -1114,7 +2052,7 @@ "config": {}, "time": { "hooks": {}, - "register": 128 + "register": 99 }, "enableBy": "register" }, @@ -1127,7 +2065,7 @@ "config": {}, "time": { "hooks": {}, - "register": 83 + "register": 57 }, "enableBy": "config" }, @@ -1140,7 +2078,7 @@ "config": {}, "time": { "hooks": {}, - "register": 37 + "register": 26 }, "enableBy": "config" }, @@ -1155,6 +2093,30 @@ "hooks": { "modifyAppData": [ 0 + ], + "addBeforeMiddlewares": [ + 0 + ], + "modifyHTMLFavicon": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 ] }, "register": 1 @@ -1169,7 +2131,588 @@ "key": "helmet", "config": {}, "time": { - "hooks": {}, + "hooks": { + "onGenerateFiles": [ + 7, + 1, + 1, + 0, + 2, + 1, + 3, + 2, + 1, + 1, + 2, + 2, + 1, + 1, + 2, + 2, + 2, + 2, + 2, + 1, + 1, + 2, + 1, + 2, + 1, + 2, + 1, + 4, + 2, + 2, + 2, + 2, + 1, + 2, + 2, + 1, + 3, + 3, + 3, + 2, + 4, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 1, + 2, + 2, + 1, + 2, + 1, + 10, + 2, + 1, + 1, + 2, + 2, + 1, + 2, + 1, + 2, + 2, + 1, + 2, + 2, + 1, + 1, + 1, + 1, + 2, + 1, + 1, + 2, + 1, + 2, + 3, + 1, + 9, + 1, + 1, + 1, + 1, + 3, + 1, + 2, + 3, + 6, + 2, + 3, + 1, + 1, + 1, + 8, + 2, + 2, + 2, + 3, + 1, + 2, + 1, + 2, + 1, + 1, + 2, + 2, + 1, + 2, + 2, + 2, + 3, + 2, + 2, + 4, + 1, + 1, + 1, + 3, + 1, + 3, + 1, + 2, + 10, + 2, + 3, + 2, + 2, + 2, + 2, + 20, + 1, + 2, + 2, + 2, + 2, + 1, + 2, + 2, + 1, + 2, + 2, + 1, + 2, + 1, + 1, + 1, + 2, + 2, + 1, + 2, + 1, + 2, + 2, + 2, + 1, + 1, + 2, + 1, + 1, + 2, + 3, + 1, + 2, + 2, + 7, + 2, + 2, + 1, + 2, + 2, + 2, + 2, + 1, + 2, + 1, + 1, + 3, + 1, + 1, + 1, + 2, + 2, + 1, + 2, + 1, + 2, + 1, + 1, + 13, + 4, + 2, + 2, + 2, + 2, + 1, + 3, + 1, + 2, + 1, + 2, + 1, + 1, + 3, + 7, + 3, + 4, + 2, + 1, + 2, + 2, + 8, + 1, + 1, + 2, + 1, + 3, + 2, + 3, + 2, + 1, + 2, + 1, + 2, + 3, + 2, + 2, + 4, + 2, + 2, + 2, + 1, + 2, + 2, + 3, + 1, + 2, + 1, + 2, + 4, + 1, + 25, + 7, + 3, + 2, + 3, + 2, + 1, + 1, + 1, + 2, + 2, + 1, + 1, + 1, + 1, + 1, + 2, + 2, + 1, + 1, + 1, + 3, + 2, + 1, + 1, + 1, + 1, + 2, + 1, + 1, + 1, + 3, + 1, + 2, + 2, + 1, + 2, + 2, + 1, + 2, + 1, + 3, + 2, + 1 + ], + "addRuntimePlugin": [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, "register": 1 }, "enableBy": "register" @@ -1183,7 +2726,7 @@ "config": {}, "time": { "hooks": {}, - "register": 7 + "register": 3 }, "enableBy": "config" }, @@ -1195,8 +2738,15 @@ "key": "mock", "config": {}, "time": { - "hooks": {}, - "register": 72 + "hooks": { + "onStart": [ + 2 + ], + "addBeforeMiddlewares": [ + 5 + ] + }, + "register": 43 } }, "./node_modules/@umijs/preset-umi/dist/features/mpa/mpa": { @@ -1208,7 +2758,7 @@ "config": {}, "time": { "hooks": {}, - "register": 3 + "register": 2 }, "enableBy": "config" }, @@ -1221,7 +2771,7 @@ "config": {}, "time": { "hooks": {}, - "register": 2 + "register": 1 } }, "./node_modules/@umijs/preset-umi/dist/features/overrides/overrides": { @@ -1232,8 +2782,877 @@ "key": "overrides", "config": {}, "time": { - "hooks": {}, - "register": 1 + "hooks": { + "onGenerateFiles": [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "addEntryImports": [ + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "register": 0 }, "enableBy": "register" }, @@ -1246,7 +3665,7 @@ "config": {}, "time": { "hooks": {}, - "register": 2 + "register": 1 }, "enableBy": "config" }, @@ -1260,10 +3679,878 @@ "time": { "hooks": { "modifyConfig": [ - 1 + 0 + ], + "onGenerateFiles": [ + 141, + 38, + 31, + 22, + 56, + 33, + 52, + 43, + 37, + 44, + 40, + 90, + 32, + 298, + 42, + 96, + 51, + 215, + 85, + 35, + 29, + 38, + 44, + 52, + 34, + 31, + 70, + 81, + 28, + 26, + 58, + 20, + 31, + 28, + 62, + 32, + 29, + 74, + 25, + 27, + 32, + 28, + 26, + 25, + 26, + 21, + 23, + 21, + 21, + 22, + 21, + 53, + 42, + 21, + 31, + 31, + 35, + 25, + 27, + 33, + 23, + 23, + 29, + 22, + 25, + 25, + 21, + 21, + 28, + 30, + 26, + 20, + 55, + 37, + 39, + 26, + 43, + 27, + 29, + 26, + 37, + 40, + 37, + 30, + 104, + 35, + 40, + 42, + 27, + 62, + 40, + 50, + 146, + 50, + 34, + 30, + 33, + 118, + 26, + 28, + 48, + 33, + 26, + 34, + 41, + 36, + 40, + 42, + 30, + 29, + 46, + 53, + 49, + 67, + 63, + 22, + 32, + 71, + 238, + 49, + 119, + 47, + 29, + 31, + 22, + 30, + 41, + 34, + 42, + 36, + 36, + 64, + 37, + 107, + 22, + 54, + 32, + 31, + 31, + 50, + 28, + 26, + 36, + 35, + 24, + 44, + 23, + 20, + 30, + 38, + 28, + 32, + 35, + 25, + 27, + 34, + 40, + 22, + 27, + 26, + 36, + 57, + 19, + 30, + 62, + 22, + 31, + 37, + 40, + 52, + 44, + 30, + 32, + 25, + 23, + 28, + 30, + 27, + 56, + 62, + 29, + 25, + 21, + 25, + 20, + 30, + 25, + 22, + 85, + 56, + 31, + 26, + 34, + 59, + 37, + 40, + 43, + 54, + 145, + 122, + 75, + 39, + 34, + 83, + 36, + 26, + 48, + 33, + 37, + 40, + 32, + 21, + 25, + 22, + 41, + 24, + 29, + 24, + 31, + 38, + 29, + 30, + 60, + 31, + 37, + 29, + 22, + 55, + 95, + 30, + 32, + 29, + 25, + 25, + 56, + 37, + 28, + 27, + 23, + 32, + 36, + 30, + 41, + 64, + 50, + 33, + 31, + 48, + 31, + 33, + 28, + 64, + 24, + 32, + 44, + 27, + 37, + 29, + 32, + 30, + 26, + 47, + 33, + 23, + 22, + 33, + 30, + 25, + 22, + 21, + 22, + 21, + 22, + 23, + 21, + 22, + 22, + 26, + 21, + 22, + 25, + 27, + 26, + 30, + 24, + 24, + 32, + 38 + ], + "addPolyfillImports": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 ] }, - "register": 5 + "register": 3 } }, "./node_modules/@umijs/preset-umi/dist/features/polyfill/publicPathPolyfill": { @@ -1274,8 +4561,587 @@ "key": "publicPathPolyfill", "config": {}, "time": { - "hooks": {}, - "register": 2 + "hooks": { + "addPolyfillImports": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "register": 1 }, "enableBy": "register" }, @@ -1287,8 +5153,299 @@ "key": "prepare", "config": {}, "time": { - "hooks": {}, - "register": 15 + "hooks": { + "onGenerateFiles": [ + 137, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "register": 2 }, "enableBy": "register" }, @@ -1301,7 +5458,7 @@ "config": {}, "time": { "hooks": {}, - "register": 3 + "register": 0 }, "enableBy": "config" }, @@ -1326,8 +5483,302 @@ "key": "terminal", "config": {}, "time": { - "hooks": {}, - "register": 2 + "hooks": { + "onGenerateFiles": [ + 1, + 0, + 1, + 1, + 0, + 0, + 1, + 1, + 1, + 0, + 0, + 2, + 0, + 6, + 6, + 0, + 1, + 1, + 0, + 1, + 0, + 1, + 1, + 0, + 1, + 1, + 2, + 1, + 0, + 0, + 0, + 1, + 0, + 1, + 3, + 1, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 0, + 1, + 1, + 0, + 1, + 0, + 0, + 2, + 0, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 2, + 0, + 1, + 1, + 2, + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 0, + 1, + 1, + 5, + 1, + 7, + 2, + 0, + 0, + 4, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 10, + 0, + 0, + 0, + 0, + 1, + 3, + 0, + 1, + 1, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 0, + 2, + 1, + 1, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 0, + 1, + 1, + 2, + 0, + 0, + 1, + 3, + 1, + 0, + 1, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 1, + 1, + 1, + 11, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 8, + 2, + 0, + 0, + 0, + 15, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 2, + 0, + 1, + 0, + 1, + 1, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0 + ], + "addBeforeMiddlewares": [ + 0 + ] + }, + "register": 1 }, "enableBy": "register" }, @@ -1339,8 +5790,587 @@ "key": "tmpFiles", "config": {}, "time": { - "hooks": {}, - "register": 11 + "hooks": { + "onGenerateFiles": [ + 28, + 4, + 15, + 3, + 18, + 2, + 8, + 2, + 14, + 1, + 10, + 2, + 15, + 3, + 14, + 1, + 15, + 2, + 12, + 3, + 16, + 2, + 32, + 2, + 16, + 1, + 1056, + 10, + 43, + 2, + 16, + 1, + 14, + 2, + 133, + 2, + 17, + 2, + 16, + 1, + 14, + 2, + 60, + 2, + 12, + 1, + 9, + 2, + 20, + 1, + 20, + 1, + 53, + 7, + 16, + 1, + 16, + 2, + 19, + 3, + 158, + 2, + 10, + 2, + 15, + 1, + 15, + 3, + 17, + 1, + 17, + 2, + 11, + 0, + 17, + 1, + 14, + 2, + 13, + 2, + 9, + 1, + 43, + 2, + 13, + 2, + 15, + 1, + 36, + 4, + 12, + 2, + 10, + 2, + 10, + 2, + 10, + 2, + 10, + 2, + 11, + 2, + 14, + 3, + 13, + 5, + 11, + 1, + 16, + 1, + 13, + 1, + 23, + 3, + 13, + 1, + 12, + 3, + 15, + 2, + 12, + 3, + 11, + 2, + 15, + 1, + 12, + 2, + 13, + 2, + 16, + 2, + 11, + 2, + 10, + 2, + 16, + 3, + 11, + 2, + 13, + 3, + 13, + 2, + 14, + 24, + 16, + 1, + 18, + 1, + 17, + 2, + 15, + 1, + 13, + 2, + 13, + 1, + 14, + 3, + 15, + 1, + 12, + 2, + 13, + 2, + 16, + 3, + 15, + 5, + 15, + 1, + 14, + 1, + 15, + 3, + 14, + 3, + 16, + 1, + 12, + 4, + 33, + 7, + 17, + 1, + 69, + 1, + 17, + 3, + 16, + 3, + 9, + 1, + 29, + 2, + 12, + 7, + 16, + 3, + 13, + 1, + 10, + 1, + 20, + 2, + 16, + 2, + 11, + 2, + 13, + 1, + 16, + 2, + 15, + 2, + 16, + 2, + 14, + 1, + 18, + 2, + 11, + 1, + 23, + 2, + 29, + 1, + 12, + 1, + 13, + 2, + 12, + 1, + 17, + 6, + 35, + 2, + 19, + 2, + 57, + 2, + 12, + 1, + 15, + 1, + 20, + 2, + 12, + 2, + 15, + 2, + 16, + 1, + 15, + 2, + 17, + 1, + 16, + 1, + 16, + 3, + 20, + 2, + 13, + 2, + 14, + 15, + 11, + 3, + 10, + 1, + 15, + 1, + 82, + 2, + 16, + 1, + 15, + 2, + 13, + 2, + 15, + 3, + 13, + 2, + 15, + 1, + 12, + 2, + 13, + 1, + 14, + 2, + 12, + 2, + 18, + 3, + 47, + 2, + 14, + 3, + 19, + 1, + 14, + 2, + 13, + 3, + 16, + 2, + 14, + 3, + 18, + 1, + 13, + 2, + 15, + 2, + 12, + 9, + 25, + 1, + 32, + 2, + 11, + 2, + 15, + 2, + 19, + 2, + 10, + 2, + 17, + 3, + 21, + 1, + 11, + 2, + 20, + 2, + 19, + 1, + 15, + 1, + 12, + 1, + 11, + 1, + 11, + 2, + 11, + 2, + 13, + 2, + 10, + 2, + 9, + 1, + 9, + 2, + 15, + 1, + 11, + 2, + 11, + 1, + 12, + 8, + 10, + 2, + 14, + 3, + 14, + 3, + 12, + 2, + 42, + 1, + 19, + 5, + 23, + 2, + 23, + 3, + 11, + 2, + 19, + 2, + 25, + 5, + 15, + 2, + 22, + 1, + 16, + 1, + 13, + 2, + 350, + 106, + 102, + 42, + 17, + 10, + 19, + 2, + 15, + 1, + 16, + 2, + 10, + 3, + 33, + 2, + 13, + 1, + 24, + 2, + 20, + 3, + 11, + 1, + 11, + 3, + 13, + 2, + 10, + 2, + 21, + 3, + 12, + 2, + 20, + 2, + 15, + 2, + 16, + 3, + 58, + 1, + 19, + 2, + 28, + 2, + 13, + 2, + 14, + 1, + 30, + 1, + 17, + 1, + 21, + 1, + 13, + 5, + 8, + 1, + 65, + 2, + 13, + 2, + 14, + 1, + 11, + 2, + 14, + 1, + 16, + 1, + 17, + 3, + 14, + 2, + 14, + 3, + 11, + 1, + 16, + 2, + 27, + 1, + 19, + 1, + 14, + 2, + 31, + 1, + 20, + 1, + 13, + 1, + 12, + 1, + 24, + 2, + 21, + 2, + 15, + 1, + 15, + 2, + 8, + 1, + 12, + 2, + 15, + 2, + 14, + 2, + 17, + 2, + 14, + 2, + 19, + 2, + 19, + 2, + 13, + 1, + 14, + 2, + 14, + 4, + 14, + 3, + 13, + 1, + 15, + 2, + 16, + 4, + 10, + 2, + 12, + 2, + 11, + 3, + 11, + 2, + 13, + 2, + 12, + 2, + 11, + 1, + 11, + 2, + 13, + 3, + 11, + 5, + 43, + 2, + 11, + 3, + 11, + 2, + 11, + 1, + 15, + 2, + 11, + 2, + 14, + 1, + 13, + 2, + 13, + 2, + 13, + 2, + 13, + 2, + 14, + 1 + ] + }, + "register": 7 }, "enableBy": "register" }, @@ -1353,7 +6383,7 @@ "config": {}, "time": { "hooks": {}, - "register": 3 + "register": 2 }, "enableBy": "config" }, @@ -1378,7 +6408,7 @@ "config": {}, "time": { "hooks": {}, - "register": 9 + "register": 4 }, "enableBy": "config" }, @@ -1390,8 +6420,299 @@ "key": "configTypes", "config": {}, "time": { - "hooks": {}, - "register": 6 + "hooks": { + "onGenerateFiles": [ + 720, + 11, + 11, + 8, + 25, + 14, + 10, + 10, + 13, + 9, + 12, + 21, + 8, + 115, + 43, + 12, + 11, + 192, + 20, + 13, + 9, + 25, + 10, + 7, + 10, + 11, + 31, + 13, + 13, + 11, + 17, + 7, + 12, + 11, + 8, + 16, + 8, + 9, + 9, + 9, + 22, + 29, + 9, + 8, + 41, + 8, + 8, + 7, + 7, + 8, + 8, + 10, + 19, + 8, + 9, + 8, + 39, + 7, + 8, + 10, + 8, + 9, + 11, + 7, + 10, + 8, + 9, + 10, + 7, + 11, + 9, + 8, + 50, + 9, + 11, + 8, + 8, + 6, + 22, + 20, + 10, + 12, + 8, + 14, + 18, + 12, + 12, + 28, + 9, + 11, + 8, + 7, + 14, + 10, + 12, + 8, + 10, + 20, + 46, + 11, + 9, + 10, + 12, + 9, + 10, + 10, + 13, + 12, + 9, + 7, + 9, + 10, + 12, + 15, + 10, + 7, + 12, + 22, + 12, + 29, + 18, + 9, + 10, + 9, + 8, + 12, + 30, + 10, + 13, + 11, + 12, + 11, + 11, + 14, + 13, + 9, + 8, + 11, + 10, + 15, + 21, + 9, + 7, + 20, + 9, + 13, + 8, + 7, + 12, + 13, + 9, + 23, + 10, + 15, + 8, + 8, + 25, + 16, + 11, + 9, + 8, + 11, + 7, + 10, + 12, + 7, + 11, + 9, + 9, + 14, + 13, + 11, + 7, + 8, + 9, + 7, + 22, + 6, + 9, + 7, + 26, + 8, + 15, + 13, + 8, + 11, + 9, + 8, + 13, + 22, + 8, + 17, + 9, + 15, + 11, + 12, + 15, + 49, + 10, + 56, + 47, + 18, + 14, + 16, + 11, + 12, + 14, + 7, + 16, + 11, + 9, + 8, + 8, + 7, + 20, + 9, + 10, + 12, + 23, + 10, + 14, + 10, + 11, + 9, + 16, + 16, + 10, + 9, + 9, + 13, + 12, + 8, + 7, + 11, + 11, + 12, + 10, + 10, + 10, + 9, + 8, + 13, + 11, + 12, + 13, + 11, + 7, + 13, + 12, + 8, + 9, + 8, + 8, + 13, + 10, + 10, + 13, + 16, + 11, + 8, + 10, + 9, + 10, + 16, + 12, + 9, + 7, + 10, + 12, + 9, + 9, + 18, + 8, + 10, + 9, + 8, + 16, + 8, + 8, + 7, + 7, + 10, + 8, + 11, + 10, + 10, + 9, + 17 + ] + }, + "register": 4 }, "enableBy": "register" }, @@ -1403,8 +6724,12 @@ "key": "transform", "config": {}, "time": { - "hooks": {}, - "register": 25 + "hooks": { + "addBeforeBabelPresets": [ + 0 + ] + }, + "register": 5 }, "enableBy": "register" }, @@ -1417,7 +6742,7 @@ "config": {}, "time": { "hooks": {}, - "register": 6 + "register": 4 }, "enableBy": "config" }, @@ -1443,7 +6768,7 @@ "config": {}, "time": { "hooks": {}, - "register": 17 + "register": 9 } }, "./node_modules/@umijs/preset-umi/dist/features/monorepo/redirect": { @@ -1455,7 +6780,7 @@ "config": {}, "time": { "hooks": {}, - "register": 75 + "register": 28 }, "enableBy": "config" }, @@ -1467,8 +6792,299 @@ "key": "test", "config": {}, "time": { - "hooks": {}, - "register": 4 + "hooks": { + "onGenerateFiles": [ + 2, + 1, + 1, + 0, + 2, + 0, + 1, + 1, + 1, + 1, + 1, + 2, + 1, + 27, + 7, + 1, + 0, + 2, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 1, + 2, + 1, + 1, + 2, + 1, + 1, + 1, + 1, + 1, + 14, + 2, + 1, + 2, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 2, + 1, + 2, + 0, + 7, + 1, + 2, + 1, + 3, + 1, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 1, + 1, + 1, + 2, + 1, + 0, + 0, + 3, + 12, + 3, + 1, + 1, + 1, + 2, + 1, + 1, + 3, + 2, + 2, + 4, + 1, + 1, + 3, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 2, + 2, + 3, + 1, + 4, + 1, + 1, + 2, + 1, + 1, + 1, + 1, + 2, + 1, + 2, + 3, + 1, + 1, + 1, + 0, + 0, + 1, + 1, + 3, + 1, + 1, + 1, + 1, + 1, + 2, + 1, + 0, + 1, + 1, + 1, + 2, + 1, + 1, + 1, + 1, + 1, + 3, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 2, + 2, + 7, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 2, + 1, + 110, + 18, + 3, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 0, + 3, + 1, + 2, + 1, + 1, + 1, + 1, + 1, + 2, + 1, + 1, + 1, + 0, + 5, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 1, + 1, + 2, + 2, + 1, + 1, + 1, + 2, + 1, + 1, + 2, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 2, + 1, + 2, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 2, + 3, + 1, + 1, + 1, + 1, + 2, + 1, + 1, + 0, + 1, + 1, + 1 + ] + }, + "register": 2 } }, "./node_modules/@umijs/preset-umi/dist/features/clickToComponent/clickToComponent": { @@ -1480,7 +7096,7 @@ "config": {}, "time": { "hooks": {}, - "register": 2 + "register": 1 }, "enableBy": "config" }, @@ -1493,7 +7109,7 @@ "config": {}, "time": { "hooks": {}, - "register": 4 + "register": 2 }, "enableBy": "config" }, @@ -1519,7 +7135,7 @@ "config": {}, "time": { "hooks": {}, - "register": 2 + "register": 1 } }, "./node_modules/@umijs/preset-umi/dist/features/swc/swc": { @@ -1535,7 +7151,7 @@ 0 ] }, - "register": 1 + "register": 0 }, "enableBy": "register" }, @@ -1548,7 +7164,7 @@ "config": {}, "time": { "hooks": {}, - "register": 8 + "register": 5 } }, "./node_modules/@umijs/preset-umi/dist/features/mako/mako": { @@ -1560,7 +7176,7 @@ "config": {}, "time": { "hooks": {}, - "register": 1 + "register": 2 }, "enableBy": "config" }, @@ -1573,7 +7189,7 @@ "config": {}, "time": { "hooks": {}, - "register": 3 + "register": 1 } }, "./node_modules/@umijs/preset-umi/dist/features/hmrGuardian/hmrGuardian": { @@ -1585,7 +7201,7 @@ "config": {}, "time": { "hooks": {}, - "register": 5 + "register": 3 } }, "./node_modules/@umijs/preset-umi/dist/features/routePreloadOnLoad/routePreloadOnLoad": { @@ -1596,8 +7212,30 @@ "key": "routePreloadOnLoad", "config": {}, "time": { - "hooks": {}, - "register": 61 + "hooks": { + "addHTMLHeadScripts": [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + "register": 38 } }, "./node_modules/@umijs/preset-umi/dist/features/forget/forget": { @@ -1609,7 +7247,7 @@ "config": {}, "time": { "hooks": {}, - "register": 3 + "register": 2 }, "enableBy": "config" }, @@ -1621,8 +7259,12 @@ "key": "preset-umi:bundler", "config": {}, "time": { - "hooks": {}, - "register": 5 + "hooks": { + "modifyUniBundler": [ + 784 + ] + }, + "register": 3 }, "enableBy": "register" }, @@ -1635,7 +7277,7 @@ "config": {}, "time": { "hooks": {}, - "register": 9 + "register": 6 }, "enableBy": "register" }, @@ -1648,7 +7290,7 @@ "config": {}, "time": { "hooks": {}, - "register": 78 + "register": 47 }, "enableBy": "register" }, @@ -1660,8 +7302,12 @@ "key": "dev", "config": {}, "time": { - "hooks": {}, - "register": 144 + "hooks": { + "modifyAppData": [ + 19 + ] + }, + "register": 78 } }, "./node_modules/@umijs/preset-umi/dist/commands/help": { @@ -1673,7 +7319,7 @@ "config": {}, "time": { "hooks": {}, - "register": 2 + "register": 1 }, "enableBy": "register" }, @@ -1712,7 +7358,7 @@ "config": {}, "time": { "hooks": {}, - "register": 3 + "register": 1 }, "enableBy": "register" }, @@ -1751,7 +7397,7 @@ "config": {}, "time": { "hooks": {}, - "register": 3 + "register": 1 }, "enableBy": "register" }, @@ -1764,7 +7410,7 @@ "config": {}, "time": { "hooks": {}, - "register": 3 + "register": 2 }, "enableBy": "register" }, @@ -1777,7 +7423,7 @@ "config": {}, "time": { "hooks": {}, - "register": 2 + "register": 1 }, "enableBy": "register" }, @@ -1790,7 +7436,7 @@ "config": {}, "time": { "hooks": {}, - "register": 2 + "register": 1 }, "enableBy": "register" }, @@ -1842,7 +7488,7 @@ "config": {}, "time": { "hooks": {}, - "register": 2 + "register": 1 }, "enableBy": "register" }, @@ -1868,7 +7514,7 @@ "config": {}, "time": { "hooks": {}, - "register": 2 + "register": 1 }, "enableBy": "register" }, @@ -1881,7 +7527,7 @@ "config": {}, "time": { "hooks": {}, - "register": 2 + "register": 0 }, "enableBy": "register" }, @@ -1907,7 +7553,7 @@ "config": {}, "time": { "hooks": {}, - "register": 40 + "register": 29 }, "enableBy": "register" }, @@ -1933,7 +7579,7 @@ "config": {}, "time": { "hooks": {}, - "register": 7 + "register": 4 }, "enableBy": "register" }, @@ -1952,7 +7598,7 @@ } }, "presets": [], - "name": "setup", + "name": "dev", "args": { "_": [] }, @@ -2099,7 +7745,7 @@ "file": "@/pages/Homepage.tsx", "id": "1", "absPath": "/", - "__content": "import React, { useState, useEffect } from 'react';\nimport { Link, useNavigate } from 'umi';\nimport { Button, Typography, Row, Col, Card, Divider } from 'antd';\nimport { ArrowRightOutlined, CheckCircleOutlined, MenuOutlined, XOutlined, TwitterOutlined, LinkedinOutlined, GithubOutlined } from '@ant-design/icons';\nimport Navbar from '@/components/Navbar';\n\nconst { Title, Paragraph, Text } = Typography;\n\nconst Homepage: React.FC = () => {\n const navigate = useNavigate();\n const [isScrolled, setIsScrolled] = useState(false);\n const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false);\n\n useEffect(() => {\n const handleScroll = () => {\n setIsScrolled(window.scrollY > 50);\n };\n window.addEventListener('scroll', handleScroll);\n return () => window.removeEventListener('scroll', handleScroll);\n }, []);\n\n const features = [\n {\n title: '智能选品系统',\n description: '基于AI的商品推荐,自动识别高潜力商品,提升选品效率',\n },\n {\n title: 'AI动态定价',\n description: '实时市场分析,优化定价策略,最大化利润',\n },\n {\n title: '自动上架系统',\n description: '一键批量上架,节省人工成本,提高运营效率',\n },\n {\n title: '跨平台套利',\n description: '发现价格差异,实现利润最大化,降低运营风险',\n },\n {\n title: 'AI店铺托管',\n description: '24/7智能运营,解放人力,提升店铺表现',\n },\n {\n title: '多商户管理',\n description: '集中管理多店铺,数据一目了然,简化管理流程',\n },\n ];\n\n const stats = [\n { title: '平均提升', value: '30%', suffix: '运营效率' },\n { title: '平均提升', value: '25%', suffix: '利润率' },\n { title: '支持商户', value: '1000+', suffix: '同时在线' },\n ];\n\n return (\n
\n \n\n {/* 英雄区 */}\n
\n {/* 背景装饰 */}\n
\n {/* 网格背景 */}\n
\n
\n \n \n
\n AI驱动 · 智能运营\n
\n \n 重新定义跨境电商\n \n \n 利用人工智能和自动化技术,帮助您实现从选品到运营的全流程智能化,提升效率,降低成本,实现业务增长\n \n
\n \n \n
\n \n \n
\n
\n \"智能电商平台\"\n
\n \n \n
\n
\n\n {/* 核心功能区 */}\n
\n {/* 背景装饰 */}\n
\n
\n
\n
\n 核心功能\n
\n 全方位跨境电商解决方案\n \n 我们提供从选品到运营的完整解决方案,帮助您实现业务增长和利润最大化\n \n
\n \n {features.map((feature, index) => (\n \n \n
\n {feature.title.charAt(0)}\n
\n {feature.title}\n {feature.description}\n \n
\n \n ))}\n
\n
\n
\n\n {/* 价值主张区 */}\n
\n {/* 背景装饰 */}\n
\n
\n \n \n
\n
\n \"业务增长\"\n
\n \n \n
\n 为什么选择我们\n
\n 为什么选择 Crawlful Hub\n
\n
\n
\n \n
\n
\n

AI驱动决策

\n

基于人工智能的数据分析和预测,帮助您做出更明智的业务决策

\n
\n
\n
\n
\n \n
\n
\n

全流程自动化

\n

从选品到上架,从定价到运营,全流程自动化管理,节省人力成本

\n
\n
\n
\n
\n \n
\n
\n

多平台整合

\n

支持主流电商平台,一站式管理多店铺,提高运营效率

\n
\n
\n
\n
\n \n
\n
\n

专业团队支持

\n

7x24小时技术支持,专业团队为您保驾护航,确保业务稳定运行

\n
\n
\n
\n \n \n
\n
\n\n {/* 成功案例区 */}\n
\n {/* 背景装饰 */}\n
\n
\n
\n
\n 成功案例\n
\n 我们的客户成功故事\n \n 看看我们的客户如何使用 Crawlful Hub 实现业务增长\n \n
\n \n \n \n
\n \"成功案例1\"\n
\n
\n 跨境电商\n
\n
\n
\n
\n 某跨境电商企业\n 通过智能选品和动态定价,3个月内销售额提升45%\n \n
\n
\n \n \n \n
\n \"成功案例2\"\n
\n
\n 品牌零售\n
\n
\n
\n
\n 某品牌零售商\n 利用AI店铺托管,运营成本降低30%,效率提升50%\n \n
\n
\n \n \n \n
\n \"成功案例3\"\n
\n
\n 多渠道运营\n
\n
\n
\n
\n 某多渠道卖家\n 通过跨平台套利,6个月内利润率提升35%\n \n
\n
\n \n
\n
\n \n
\n
\n
\n\n {/* 行动召唤区 */}\n
\n {/* 背景装饰 */}\n
\n {/* 网格背景 */}\n
\n
\n
\n
\n 立即开始\n
\n 准备好开始您的电商增长之旅了吗?\n \n 立即注册,享受14天免费试用,体验AI驱动的跨境电商解决方案,开启您的业务增长之路\n \n \n
\n 无需信用卡 · 14天免费试用 · 随时取消\n
\n
\n
\n
\n\n {/* 页脚 */}\n \n
\n );\n};\n\nexport default Homepage;", + "__content": "import React, { useState, useEffect } from 'react';\nimport { Link, useNavigate } from 'react-router-dom';\nimport { Button, Typography, Row, Col, Card, Divider } from 'antd';\nimport { ArrowRightOutlined, CheckCircleOutlined, MenuOutlined, XOutlined, TwitterOutlined, LinkedinOutlined, GithubOutlined } from '@ant-design/icons';\nimport Navbar from '@/components/Navbar';\n\nconst { Title, Paragraph, Text } = Typography;\n\nconst Homepage: React.FC = () => {\n const navigate = useNavigate();\n const [isScrolled, setIsScrolled] = useState(false);\n const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false);\n\n useEffect(() => {\n const handleScroll = () => {\n setIsScrolled(window.scrollY > 50);\n };\n window.addEventListener('scroll', handleScroll);\n return () => window.removeEventListener('scroll', handleScroll);\n }, []);\n\n const features = [\n {\n title: '智能选品系统',\n description: '基于AI的商品推荐,自动识别高潜力商品,提升选品效率',\n },\n {\n title: 'AI动态定价',\n description: '实时市场分析,优化定价策略,最大化利润',\n },\n {\n title: '自动上架系统',\n description: '一键批量上架,节省人工成本,提高运营效率',\n },\n {\n title: '跨平台套利',\n description: '发现价格差异,实现利润最大化,降低运营风险',\n },\n {\n title: 'AI店铺托管',\n description: '24/7智能运营,解放人力,提升店铺表现',\n },\n {\n title: '多商户管理',\n description: '集中管理多店铺,数据一目了然,简化管理流程',\n },\n ];\n\n const stats = [\n { title: '平均提升', value: '30%', suffix: '运营效率' },\n { title: '平均提升', value: '25%', suffix: '利润率' },\n { title: '支持商户', value: '1000+', suffix: '同时在线' },\n ];\n\n return (\n
\n \n\n {/* 英雄区 */}\n
\n {/* 背景装饰 */}\n
\n {/* 网格背景 */}\n
\n
\n \n \n
\n AI驱动 · 智能运营\n
\n \n 重新定义跨境电商\n \n \n 利用人工智能和自动化技术,帮助您实现从选品到运营的全流程智能化,提升效率,降低成本,实现业务增长\n \n
\n \n \n
\n \n \n
\n
\n \"智能电商平台\"\n
\n \n \n
\n
\n\n {/* 核心功能区 */}\n
\n {/* 背景装饰 */}\n
\n
\n
\n
\n 核心功能\n
\n 全方位跨境电商解决方案\n \n 我们提供从选品到运营的完整解决方案,帮助您实现业务增长和利润最大化\n \n
\n \n {features.map((feature, index) => (\n \n \n
\n {feature.title.charAt(0)}\n
\n {feature.title}\n {feature.description}\n \n
\n \n ))}\n
\n
\n
\n\n {/* 价值主张区 */}\n
\n {/* 背景装饰 */}\n
\n
\n \n \n
\n
\n \"业务增长\"\n
\n \n \n
\n 为什么选择我们\n
\n 为什么选择 Crawlful Hub\n
\n
\n
\n \n
\n
\n

AI驱动决策

\n

基于人工智能的数据分析和预测,帮助您做出更明智的业务决策

\n
\n
\n
\n
\n \n
\n
\n

全流程自动化

\n

从选品到上架,从定价到运营,全流程自动化管理,节省人力成本

\n
\n
\n
\n
\n \n
\n
\n

多平台整合

\n

支持主流电商平台,一站式管理多店铺,提高运营效率

\n
\n
\n
\n
\n \n
\n
\n

专业团队支持

\n

7x24小时技术支持,专业团队为您保驾护航,确保业务稳定运行

\n
\n
\n
\n \n \n
\n
\n\n {/* 成功案例区 */}\n
\n {/* 背景装饰 */}\n
\n
\n
\n
\n 成功案例\n
\n 我们的客户成功故事\n \n 看看我们的客户如何使用 Crawlful Hub 实现业务增长\n \n
\n \n \n \n
\n \"成功案例1\"\n
\n
\n 跨境电商\n
\n
\n
\n
\n 某跨境电商企业\n 通过智能选品和动态定价,3个月内销售额提升45%\n \n
\n
\n \n \n \n
\n \"成功案例2\"\n
\n
\n 品牌零售\n
\n
\n
\n
\n 某品牌零售商\n 利用AI店铺托管,运营成本降低30%,效率提升50%\n \n
\n
\n \n \n \n
\n \"成功案例3\"\n
\n
\n 多渠道运营\n
\n
\n
\n
\n 某多渠道卖家\n 通过跨平台套利,6个月内利润率提升35%\n \n
\n
\n \n
\n
\n \n
\n
\n
\n\n {/* 行动召唤区 */}\n
\n {/* 背景装饰 */}\n
\n {/* 网格背景 */}\n
\n
\n
\n
\n 立即开始\n
\n 准备好开始您的电商增长之旅了吗?\n \n 立即注册,享受14天免费试用,体验AI驱动的跨境电商解决方案,开启您的业务增长之路\n \n \n
\n 无需信用卡 · 14天免费试用 · 随时取消\n
\n
\n
\n
\n\n {/* 页脚 */}\n \n
\n );\n};\n\nexport default Homepage;", "__isJSFile": true, "__absFile": "D:/trae_projects/makemd/makemd/dashboard/src/pages/Homepage.tsx" }, @@ -2109,7 +7755,7 @@ "file": "@/pages/Pricing.tsx", "id": "2", "absPath": "/pricing", - "__content": "import React, { useState } from 'react';\nimport { Link, useNavigate } from 'umi';\nimport { Card, Button, Typography, Divider, Radio, Row, Col, Tag, Alert } from 'antd';\nimport { CheckCircleOutlined, CloseCircleOutlined, ArrowRightOutlined, DollarOutlined, UsersOutlined, ShieldOutlined, BarChartOutlined, ZapOutlined, GlobeOutlined, StarOutlined } from '@ant-design/icons';\nimport Navbar from '@/components/Navbar';\n\nconst { Title, Paragraph, Text } = Typography;\n\nconst Pricing: React.FC = () => {\n const navigate = useNavigate();\n const [billingCycle, setBillingCycle] = useState<'monthly' | 'yearly'>('monthly');\n\n const plans = [\n {\n name: '免费版',\n price: 0,\n billing: '永久免费',\n features: [\n '基础功能',\n '最多1个店铺',\n '500条商品数据',\n '邮件支持',\n '基础报表',\n '手动操作',\n ],\n cta: '开始免费使用',\n popular: false,\n buttonType: 'primary',\n onClick: () => navigate('/auth/register'),\n },\n {\n name: '专业版',\n price: billingCycle === 'monthly' ? 999 : 9990,\n billing: billingCycle === 'monthly' ? '每月' : '每年',\n features: [\n '所有核心功能',\n '最多10个店铺',\n '5000条商品数据',\n '优先邮件支持',\n '高级报表',\n 'AI智能选品',\n '自动上架',\n '动态定价',\n '跨平台套利',\n ],\n cta: '选择专业版',\n popular: true,\n buttonType: 'primary',\n onClick: () => navigate('/checkout?plan=professional'),\n },\n {\n name: '企业版',\n price: 0,\n billing: '定制',\n features: [\n '完整功能',\n '无限店铺',\n '无限商品数据',\n '24/7专属支持',\n '定制化报表',\n 'AI店铺托管',\n '定制化开发',\n 'API接入',\n '专属客户经理',\n ],\n cta: '联系销售',\n popular: false,\n buttonType: 'default',\n onClick: () => navigate('/contact'),\n },\n ];\n\n const compareFeatures = [\n { feature: '核心功能', free: true, professional: true, enterprise: true },\n { feature: '店铺数量', free: '1个', professional: '10个', enterprise: '无限' },\n { feature: '商品数据', free: '500条', professional: '5000条', enterprise: '无限' },\n { feature: 'AI智能选品', free: false, professional: true, enterprise: true },\n { feature: '自动上架', free: false, professional: true, enterprise: true },\n { feature: '动态定价', free: false, professional: true, enterprise: true },\n { feature: '跨平台套利', free: false, professional: true, enterprise: true },\n { feature: 'AI店铺托管', free: false, professional: false, enterprise: true },\n { feature: '技术支持', free: '邮件', professional: '优先邮件', enterprise: '24/7专属' },\n { feature: '定制化开发', free: false, professional: false, enterprise: true },\n { feature: 'API接入', free: false, professional: false, enterprise: true },\n ];\n\n return (\n
\n \n {/* 页面头部 */}\n
\n
\n 选择适合您的方案\n \n 无论您是个人卖家还是大型企业,我们都有适合您的解决方案\n \n
\n 月付\n setBillingCycle(e.target.value)}>\n 月付\n 年付 省16%\n \n 年付\n
\n
\n
\n\n {/* 定价方案 */}\n
\n
\n \n {plans.map((plan, index) => (\n \n \n {plan.popular && (\n
\n 推荐\n
\n )}\n
\n {plan.name}\n
\n \n {plan.price}\n /{plan.billing === '永久免费' ? '' : plan.billing === '每月' ? '月' : '年'}\n
\n {plan.billing === '永久免费' && (\n {plan.billing}\n )}\n
\n \n
\n {plan.features.map((feature, idx) => (\n
\n \n {feature}\n
\n ))}\n
\n \n
\n \n ))}\n
\n
\n
\n\n {/* 功能对比 */}\n
\n
\n 功能对比\n
\n
\n
功能
\n
免费版
\n
专业版
\n
企业版
\n
\n {compareFeatures.map((item, index) => (\n
\n
{item.feature}
\n
\n {typeof item.free === 'boolean' ? (\n item.free ? \n : \n \n ) : (\n {item.free}\n )}\n
\n
\n {typeof item.professional === 'boolean' ? (\n item.professional ? \n : \n \n ) : (\n {item.professional}\n )}\n
\n
\n {typeof item.enterprise === 'boolean' ? (\n item.enterprise ? \n : \n \n ) : (\n {item.enterprise}\n )}\n
\n
\n ))}\n
\n
\n
\n\n {/* 常见问题 */}\n
\n
\n 常见问题\n \n \n \n 如何选择适合我的方案?\n \n 根据您的店铺数量、商品数据量和功能需求来选择。如果您是个人卖家或刚刚起步,免费版是个不错的选择。如果您有多个店铺需要管理,专业版会更适合您。如果您是大型企业,需要定制化解决方案,建议选择企业版。\n \n \n \n 可以随时升级或降级方案吗?\n \n 是的,您可以随时升级或降级您的方案。升级会立即生效,降级会在下一个 billing cycle 开始时生效。\n \n \n \n 如何取消订阅?\n \n 您可以在账户设置中取消订阅。取消后,您的服务会持续到当前 billing cycle 结束,之后不会再收费。\n \n \n \n \n \n 年付和月付有什么区别?\n \n 年付可以享受16%的折扣,相当于免费使用2个月。其他功能和服务都是一样的。\n \n \n \n 提供发票吗?\n \n 是的,我们会为所有付费用户提供正规发票。您可以在账户设置中下载发票。\n \n \n \n 有试用期吗?\n \n 是的,专业版和企业版都提供14天的免费试用期。试用期内您可以体验所有功能,无需信用卡。\n \n \n \n \n
\n
\n\n {/* 行动召唤 */}\n
\n
\n 准备好开始了吗?\n 选择适合您的方案,开始您的电商增长之旅\n \n
\n
\n\n \n
\n );\n};\n\nexport default Pricing;", + "__content": "import React, { useState } from 'react';\nimport { Link, useNavigate } from 'react-router-dom';\nimport { Card, Button, Typography, Divider, Radio, Row, Col, Tag, Alert } from 'antd';\nimport { CheckCircleOutlined, CloseCircleOutlined, ArrowRightOutlined, DollarOutlined, UserOutlined, BarChartOutlined, GlobalOutlined, StarOutlined } from '@ant-design/icons';\nimport Navbar from '@/components/Navbar';\n\nconst { Title, Paragraph, Text } = Typography;\n\nconst Pricing: React.FC = () => {\n const navigate = useNavigate();\n const [billingCycle, setBillingCycle] = useState<'monthly' | 'yearly'>('monthly');\n\n const plans = [\n {\n name: '免费版',\n price: 0,\n billing: '永久免费',\n features: [\n '基础功能',\n '最多1个店铺',\n '500条商品数据',\n '邮件支持',\n '基础报表',\n '手动操作',\n ],\n cta: '开始免费使用',\n popular: false,\n buttonType: 'primary',\n onClick: () => navigate('/auth/register'),\n },\n {\n name: '专业版',\n price: billingCycle === 'monthly' ? 999 : 9990,\n billing: billingCycle === 'monthly' ? '每月' : '每年',\n features: [\n '所有核心功能',\n '最多10个店铺',\n '5000条商品数据',\n '优先邮件支持',\n '高级报表',\n 'AI智能选品',\n '自动上架',\n '动态定价',\n '跨平台套利',\n ],\n cta: '选择专业版',\n popular: true,\n buttonType: 'primary',\n onClick: () => navigate('/checkout?plan=professional'),\n },\n {\n name: '企业版',\n price: 0,\n billing: '定制',\n features: [\n '完整功能',\n '无限店铺',\n '无限商品数据',\n '24/7专属支持',\n '定制化报表',\n 'AI店铺托管',\n '定制化开发',\n 'API接入',\n '专属客户经理',\n ],\n cta: '联系销售',\n popular: false,\n buttonType: 'default',\n onClick: () => navigate('/contact'),\n },\n ];\n\n const compareFeatures = [\n { feature: '核心功能', free: true, professional: true, enterprise: true },\n { feature: '店铺数量', free: '1个', professional: '10个', enterprise: '无限' },\n { feature: '商品数据', free: '500条', professional: '5000条', enterprise: '无限' },\n { feature: 'AI智能选品', free: false, professional: true, enterprise: true },\n { feature: '自动上架', free: false, professional: true, enterprise: true },\n { feature: '动态定价', free: false, professional: true, enterprise: true },\n { feature: '跨平台套利', free: false, professional: true, enterprise: true },\n { feature: 'AI店铺托管', free: false, professional: false, enterprise: true },\n { feature: '技术支持', free: '邮件', professional: '优先邮件', enterprise: '24/7专属' },\n { feature: '定制化开发', free: false, professional: false, enterprise: true },\n { feature: 'API接入', free: false, professional: false, enterprise: true },\n ];\n\n return (\n
\n \n {/* 页面头部 */}\n
\n
\n 选择适合您的方案\n \n 无论您是个人卖家还是大型企业,我们都有适合您的解决方案\n \n
\n 月付\n setBillingCycle(e.target.value)}>\n 月付\n 年付 省16%\n \n 年付\n
\n
\n
\n\n {/* 定价方案 */}\n
\n
\n \n {plans.map((plan, index) => (\n \n \n {plan.popular && (\n
\n 推荐\n
\n )}\n
\n {plan.name}\n
\n \n {plan.price}\n /{plan.billing === '永久免费' ? '' : plan.billing === '每月' ? '月' : '年'}\n
\n {plan.billing === '永久免费' && (\n {plan.billing}\n )}\n
\n \n
\n {plan.features.map((feature, idx) => (\n
\n \n {feature}\n
\n ))}\n
\n \n
\n \n ))}\n
\n
\n
\n\n {/* 功能对比 */}\n
\n
\n 功能对比\n
\n
\n
功能
\n
免费版
\n
专业版
\n
企业版
\n
\n {compareFeatures.map((item, index) => (\n
\n
{item.feature}
\n
\n {typeof item.free === 'boolean' ? (\n item.free ? \n : \n \n ) : (\n {item.free}\n )}\n
\n
\n {typeof item.professional === 'boolean' ? (\n item.professional ? \n : \n \n ) : (\n {item.professional}\n )}\n
\n
\n {typeof item.enterprise === 'boolean' ? (\n item.enterprise ? \n : \n \n ) : (\n {item.enterprise}\n )}\n
\n
\n ))}\n
\n
\n
\n\n {/* 常见问题 */}\n
\n
\n 常见问题\n \n \n \n 如何选择适合我的方案?\n \n 根据您的店铺数量、商品数据量和功能需求来选择。如果您是个人卖家或刚刚起步,免费版是个不错的选择。如果您有多个店铺需要管理,专业版会更适合您。如果您是大型企业,需要定制化解决方案,建议选择企业版。\n \n \n \n 可以随时升级或降级方案吗?\n \n 是的,您可以随时升级或降级您的方案。升级会立即生效,降级会在下一个 billing cycle 开始时生效。\n \n \n \n 如何取消订阅?\n \n 您可以在账户设置中取消订阅。取消后,您的服务会持续到当前 billing cycle 结束,之后不会再收费。\n \n \n \n \n \n 年付和月付有什么区别?\n \n 年付可以享受16%的折扣,相当于免费使用2个月。其他功能和服务都是一样的。\n \n \n \n 提供发票吗?\n \n 是的,我们会为所有付费用户提供正规发票。您可以在账户设置中下载发票。\n \n \n \n 有试用期吗?\n \n 是的,专业版和企业版都提供14天的免费试用期。试用期内您可以体验所有功能,无需信用卡。\n \n \n \n \n
\n
\n\n {/* 行动召唤 */}\n
\n
\n 准备好开始了吗?\n 选择适合您的方案,开始您的电商增长之旅\n \n
\n
\n\n \n
\n );\n};\n\nexport default Pricing;", "__isJSFile": true, "__absFile": "D:/trae_projects/makemd/makemd/dashboard/src/pages/Pricing.tsx" }, @@ -2205,10 +7851,19 @@ "cliName": "umi" }, "bundleStatus": { - "done": false + "done": true, + "progresses": [ + { + "percent": 1, + "status": "", + "details": [] + } + ] }, "mfsuBundleStatus": { - "done": false + "done": true, + "percent": 1, + "status": "" }, "react": { "version": "18.3.1", @@ -2237,5 +7892,6908 @@ "tsVersion": "5.9.3", "tslibVersion": "2.8.1" }, - "faviconFiles": [] + "faviconFiles": [], + "port": 8000, + "host": "0.0.0.0", + "ip": "192.168.110.169", + "prepare": { + "buildResult": { + "errors": [], + "warnings": [], + "metafile": { + "inputs": { + "src/.umi/core/polyfill.ts": { + "bytes": 23200, + "imports": [ + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.error.cause.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.aggregate-error.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.aggregate-error.cause.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.array.at.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.array.find-last.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.array.find-last-index.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.array.push.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.array.reduce.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.array.reduce-right.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.array.to-reversed.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.array.to-sorted.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.array.to-spliced.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.array.with.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.map.group-by.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.object.group-by.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.object.has-own.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.promise.any.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.promise.with-resolvers.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.reflect.to-string-tag.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.regexp.flags.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.string.at-alternative.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.string.is-well-formed.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.string.replace-all.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.string.to-well-formed.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.typed-array.at.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.typed-array.find-last.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.typed-array.find-last-index.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.typed-array.set.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.typed-array.to-reversed.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.typed-array.to-sorted.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.typed-array.with.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.suppressed-error.constructor.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.from-async.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.filter-out.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.filter-reject.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.group.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.group-by.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.group-by-to-map.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.group-to-map.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.is-template-object.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.last-index.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.last-item.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.unique-by.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array-buffer.detached.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array-buffer.transfer.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array-buffer.transfer-to-fixed-length.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-disposable-stack.constructor.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.constructor.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.as-indexed-pairs.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.async-dispose.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.drop.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.every.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.filter.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.find.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.flat-map.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.for-each.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.from.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.indexed.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.map.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.reduce.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.some.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.take.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.to-array.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.bigint.range.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.composite-key.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.composite-symbol.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.data-view.get-float16.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.data-view.get-uint8-clamped.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.data-view.set-float16.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.data-view.set-uint8-clamped.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.disposable-stack.constructor.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.function.demethodize.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.function.is-callable.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.function.is-constructor.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.function.metadata.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.function.un-this.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.constructor.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.as-indexed-pairs.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.dispose.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.drop.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.every.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.filter.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.find.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.flat-map.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.for-each.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.from.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.indexed.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.map.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.range.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.reduce.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.some.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.take.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.to-array.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.to-async.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.json.is-raw-json.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.json.parse.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.json.raw-json.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.delete-all.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.emplace.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.every.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.filter.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.find.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.find-key.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.from.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.includes.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.key-by.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.key-of.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.map-keys.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.map-values.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.merge.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.of.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.reduce.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.some.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.update.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.update-or-insert.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.upsert.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.clamp.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.deg-per-rad.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.degrees.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.fscale.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.f16round.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.iaddh.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.imulh.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.isubh.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.rad-per-deg.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.radians.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.scale.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.seeded-prng.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.signbit.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.umulh.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.number.from-string.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.number.range.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.object.iterate-entries.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.object.iterate-keys.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.object.iterate-values.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.observable.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.promise.try.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.reflect.define-metadata.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.reflect.delete-metadata.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.reflect.get-metadata.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.reflect.get-metadata-keys.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.reflect.get-own-metadata.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.reflect.get-own-metadata-keys.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.reflect.has-metadata.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.reflect.has-own-metadata.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.reflect.metadata.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.regexp.escape.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.add-all.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.delete-all.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.difference.v2.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.difference.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.every.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.filter.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.find.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.from.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.intersection.v2.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.intersection.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.is-disjoint-from.v2.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.is-disjoint-from.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.is-subset-of.v2.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.is-subset-of.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.is-superset-of.v2.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.is-superset-of.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.join.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.map.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.of.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.reduce.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.some.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.symmetric-difference.v2.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.symmetric-difference.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.union.v2.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.union.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.string.at.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.string.cooked.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.string.code-points.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.string.dedent.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.async-dispose.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.dispose.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.is-registered-symbol.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.is-registered.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.is-well-known-symbol.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.is-well-known.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.matcher.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.metadata.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.metadata-key.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.observable.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.pattern-match.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.replace-all.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.typed-array.from-async.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.typed-array.filter-out.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.typed-array.filter-reject.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.typed-array.group-by.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.typed-array.to-spliced.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.typed-array.unique-by.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.uint8-array.from-base64.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.uint8-array.from-hex.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.uint8-array.to-base64.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.uint8-array.to-hex.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.weak-map.delete-all.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.weak-map.from.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.weak-map.of.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.weak-map.emplace.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.weak-map.upsert.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.weak-set.add-all.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.weak-set.delete-all.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.weak-set.from.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.weak-set.of.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/web.dom-exception.stack.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/web.immediate.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/web.self.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/web.structured-clone.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/web.url.can-parse.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/web.url-search-params.delete.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/web.url-search-params.has.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/web.url-search-params.size.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/regenerator-runtime/runtime.js", + "kind": "import-statement", + "external": true + } + ], + "format": "esm" + }, + "src/components/Navbar.tsx": { + "bytes": 5361, + "imports": [ + { + "path": "react", + "kind": "import-statement", + "external": true + }, + { + "path": "react-router-dom", + "kind": "import-statement", + "external": true + }, + { + "path": "antd", + "kind": "import-statement", + "external": true + }, + { + "path": "@ant-design/icons", + "kind": "import-statement", + "external": true + }, + { + "path": "react/jsx-runtime", + "kind": "import-statement", + "external": true + } + ], + "format": "esm" + }, + "src/pages/Homepage.tsx": { + "bytes": 51566, + "imports": [ + { + "path": "react", + "kind": "import-statement", + "external": true + }, + { + "path": "react-router-dom", + "kind": "import-statement", + "external": true + }, + { + "path": "antd", + "kind": "import-statement", + "external": true + }, + { + "path": "@ant-design/icons", + "kind": "import-statement", + "external": true + }, + { + "path": "src/components/Navbar.tsx", + "kind": "import-statement", + "original": "@/components/Navbar" + }, + { + "path": "react/jsx-runtime", + "kind": "import-statement", + "external": true + } + ], + "format": "esm" + }, + "src/pages/Pricing.tsx": { + "bytes": 15491, + "imports": [ + { + "path": "react", + "kind": "import-statement", + "external": true + }, + { + "path": "react-router-dom", + "kind": "import-statement", + "external": true + }, + { + "path": "antd", + "kind": "import-statement", + "external": true + }, + { + "path": "@ant-design/icons", + "kind": "import-statement", + "external": true + }, + { + "path": "src/components/Navbar.tsx", + "kind": "import-statement", + "original": "@/components/Navbar" + }, + { + "path": "react/jsx-runtime", + "kind": "import-statement", + "external": true + } + ], + "format": "esm" + }, + "src/.umi/core/defineApp.ts": { + "bytes": 625, + "imports": [], + "format": "esm" + }, + "src/.umi/core/history.ts": { + "bytes": 1720, + "imports": [ + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/@umijs/renderer-react", + "kind": "import-statement", + "external": true + } + ], + "format": "esm" + }, + "src/.umi/core/terminal.ts": { + "bytes": 1417, + "imports": [], + "format": "esm" + }, + "src/mock/msw.ts": { + "bytes": 5592, + "imports": [ + { + "path": "msw", + "kind": "import-statement", + "external": true + }, + { + "path": "msw/browser", + "kind": "import-statement", + "external": true + }, + { + "path": "./data/certificate.mock", + "kind": "import-statement", + "external": true + } + ], + "format": "esm" + }, + "src/mock/browser.ts": { + "bytes": 218, + "imports": [ + { + "path": "src/mock/msw.ts", + "kind": "import-statement", + "original": "./msw" + } + ], + "format": "esm" + }, + "src/app.ts": { + "bytes": 790, + "imports": [ + { + "path": "src/mock/browser.ts", + "kind": "dynamic-import", + "original": "./mock/browser" + } + ], + "format": "esm" + }, + "src/.umi/core/helmetContext.ts": { + "bytes": 119, + "imports": [], + "format": "esm" + }, + "src/.umi/core/helmet.ts": { + "bytes": 391, + "imports": [ + { + "path": "react", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/@umijs/renderer-react", + "kind": "import-statement", + "external": true + }, + { + "path": "src/.umi/core/helmetContext.ts", + "kind": "import-statement", + "original": "./helmetContext" + } + ], + "format": "esm" + }, + "src/.umi/core/plugin.ts": { + "bytes": 1261, + "imports": [ + { + "path": "src/app.ts", + "kind": "import-statement", + "original": "D:/trae_projects/makemd/makemd/dashboard/src/app.ts" + }, + { + "path": "src/.umi/core/helmet.ts", + "kind": "import-statement", + "original": "@@/core/helmet.ts" + }, + { + "path": "src/.umi/exports.ts", + "kind": "import-statement", + "original": "umi" + } + ], + "format": "esm" + }, + "src/.umi/testBrowser.tsx": { + "bytes": 2472, + "imports": [ + { + "path": "react", + "kind": "import-statement", + "external": true + }, + { + "path": "src/.umi/exports.ts", + "kind": "import-statement", + "original": "umi" + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/@umijs/renderer-react", + "kind": "import-statement", + "external": true + }, + { + "path": "src/.umi/core/history.ts", + "kind": "import-statement", + "original": "./core/history" + }, + { + "path": "src/.umi/core/plugin.ts", + "kind": "import-statement", + "original": "./core/plugin" + }, + { + "path": "src/.umi/core/route.tsx", + "kind": "import-statement", + "original": "./core/route" + }, + { + "path": "react/jsx-runtime", + "kind": "import-statement", + "external": true + } + ], + "format": "esm" + }, + "src/.umi/exports.ts": { + "bytes": 1337, + "imports": [ + { + "path": "src/.umi/core/defineApp.ts", + "kind": "import-statement", + "original": "./core/defineApp" + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/@umijs/renderer-react", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/umi/client/client/plugin.js", + "kind": "import-statement", + "external": true + }, + { + "path": "src/.umi/core/history.ts", + "kind": "import-statement", + "original": "./core/history" + }, + { + "path": "src/.umi/core/terminal.ts", + "kind": "import-statement", + "original": "./core/terminal" + }, + { + "path": "src/.umi/testBrowser.tsx", + "kind": "import-statement", + "original": "./testBrowser" + } + ], + "format": "esm" + }, + "src/pages/CaseStudy.tsx": { + "bytes": 17422, + "imports": [ + { + "path": "react", + "kind": "import-statement", + "external": true + }, + { + "path": "src/.umi/exports.ts", + "kind": "import-statement", + "original": "umi" + }, + { + "path": "antd", + "kind": "import-statement", + "external": true + }, + { + "path": "@ant-design/icons", + "kind": "import-statement", + "external": true + }, + { + "path": "src/components/Navbar.tsx", + "kind": "import-statement", + "original": "@/components/Navbar" + }, + { + "path": "react/jsx-runtime", + "kind": "import-statement", + "external": true + } + ], + "format": "esm" + }, + "src/.umi/core/EmptyRoute.tsx": { + "bytes": 285, + "imports": [ + { + "path": "react", + "kind": "import-statement", + "external": true + }, + { + "path": "src/.umi/exports.ts", + "kind": "import-statement", + "original": "umi" + }, + { + "path": "react/jsx-runtime", + "kind": "import-statement", + "external": true + } + ], + "format": "esm" + }, + "src/pages/Auth/LoginPage.tsx": { + "bytes": 8018, + "imports": [ + { + "path": "react", + "kind": "import-statement", + "external": true + }, + { + "path": "src/.umi/exports.ts", + "kind": "import-statement", + "original": "umi" + }, + { + "path": "antd", + "kind": "import-statement", + "external": true + }, + { + "path": "@ant-design/icons", + "kind": "import-statement", + "external": true + }, + { + "path": "react/jsx-runtime", + "kind": "import-statement", + "external": true + } + ], + "format": "esm" + }, + "src/pages/Auth/RegisterPage.tsx": { + "bytes": 12452, + "imports": [ + { + "path": "react", + "kind": "import-statement", + "external": true + }, + { + "path": "antd", + "kind": "import-statement", + "external": true + }, + { + "path": "@ant-design/icons", + "kind": "import-statement", + "external": true + }, + { + "path": "react/jsx-runtime", + "kind": "import-statement", + "external": true + } + ], + "format": "esm" + }, + "src/services/http.ts": { + "bytes": 1185, + "imports": [ + { + "path": "axios", + "kind": "import-statement", + "external": true + } + ], + "format": "esm" + }, + "src/services/operationAgentService.ts": { + "bytes": 2434, + "imports": [ + { + "path": "src/services/http.ts", + "kind": "import-statement", + "original": "./http" + } + ], + "format": "esm" + }, + "src/pages/OperationAgent.tsx": { + "bytes": 17365, + "imports": [ + { + "path": "react", + "kind": "import-statement", + "external": true + }, + { + "path": "antd", + "kind": "import-statement", + "external": true + }, + { + "path": "@ant-design/icons", + "kind": "import-statement", + "external": true + }, + { + "path": "src/services/operationAgentService.ts", + "kind": "import-statement", + "original": "../services/operationAgentService" + }, + { + "path": "react/jsx-runtime", + "kind": "import-statement", + "external": true + } + ], + "format": "esm" + }, + "src/layouts/index.tsx": { + "bytes": 10949, + "imports": [ + { + "path": "react", + "kind": "import-statement", + "external": true + }, + { + "path": "antd", + "kind": "import-statement", + "external": true + }, + { + "path": "@ant-design/icons", + "kind": "import-statement", + "external": true + }, + { + "path": "react-router-dom", + "kind": "import-statement", + "external": true + }, + { + "path": "react/jsx-runtime", + "kind": "import-statement", + "external": true + } + ], + "format": "esm" + }, + "src/.umi/core/route.tsx": { + "bytes": 1876, + "imports": [ + { + "path": "react", + "kind": "import-statement", + "external": true + }, + { + "path": "src/pages/Homepage.tsx", + "kind": "dynamic-import", + "original": "@/pages/Homepage.tsx" + }, + { + "path": "src/pages/Pricing.tsx", + "kind": "dynamic-import", + "original": "@/pages/Pricing.tsx" + }, + { + "path": "src/pages/CaseStudy.tsx", + "kind": "dynamic-import", + "original": "@/pages/CaseStudy.tsx" + }, + { + "path": "src/pages/CaseStudy.tsx", + "kind": "dynamic-import", + "original": "@/pages/CaseStudy.tsx" + }, + { + "path": "src/.umi/core/EmptyRoute.tsx", + "kind": "dynamic-import", + "original": "./EmptyRoute" + }, + { + "path": "src/pages/Auth/LoginPage.tsx", + "kind": "dynamic-import", + "original": "@/pages/Auth/LoginPage.tsx" + }, + { + "path": "src/pages/Auth/RegisterPage.tsx", + "kind": "dynamic-import", + "original": "@/pages/Auth/RegisterPage.tsx" + }, + { + "path": "src/.umi/core/EmptyRoute.tsx", + "kind": "dynamic-import", + "original": "./EmptyRoute" + }, + { + "path": "src/pages/OperationAgent.tsx", + "kind": "dynamic-import", + "original": "@/pages/OperationAgent.tsx" + }, + { + "path": "src/pages/OperationAgent.tsx", + "kind": "dynamic-import", + "original": "@/pages/OperationAgent.tsx" + }, + { + "path": "src/layouts/index.tsx", + "kind": "dynamic-import", + "original": "D:/trae_projects/makemd/makemd/dashboard/src/layouts/index.tsx" + } + ], + "format": "esm" + }, + "src/.umi/umi.ts": { + "bytes": 2109, + "imports": [ + { + "path": "src/.umi/core/polyfill.ts", + "kind": "import-statement", + "original": "./core/polyfill" + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/@umijs/renderer-react", + "kind": "import-statement", + "external": true + }, + { + "path": "src/.umi/core/route.tsx", + "kind": "import-statement", + "original": "./core/route" + }, + { + "path": "src/.umi/core/plugin.ts", + "kind": "import-statement", + "original": "./core/plugin" + }, + { + "path": "src/.umi/core/history.ts", + "kind": "import-statement", + "original": "./core/history" + }, + { + "path": "src/.umi/exports.ts", + "kind": "import-statement", + "original": "umi" + } + ], + "format": "esm" + } + }, + "outputs": { + "src/.umi/out/umi.js": { + "imports": [ + { + "path": "react", + "kind": "import-statement", + "external": true + }, + { + "path": "react-router-dom", + "kind": "import-statement", + "external": true + }, + { + "path": "antd", + "kind": "import-statement", + "external": true + }, + { + "path": "@ant-design/icons", + "kind": "import-statement", + "external": true + }, + { + "path": "react/jsx-runtime", + "kind": "import-statement", + "external": true + }, + { + "path": "react", + "kind": "import-statement", + "external": true + }, + { + "path": "react-router-dom", + "kind": "import-statement", + "external": true + }, + { + "path": "antd", + "kind": "import-statement", + "external": true + }, + { + "path": "@ant-design/icons", + "kind": "import-statement", + "external": true + }, + { + "path": "react/jsx-runtime", + "kind": "import-statement", + "external": true + }, + { + "path": "react", + "kind": "import-statement", + "external": true + }, + { + "path": "react-router-dom", + "kind": "import-statement", + "external": true + }, + { + "path": "antd", + "kind": "import-statement", + "external": true + }, + { + "path": "@ant-design/icons", + "kind": "import-statement", + "external": true + }, + { + "path": "react/jsx-runtime", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/@umijs/renderer-react", + "kind": "import-statement", + "external": true + }, + { + "path": "msw", + "kind": "import-statement", + "external": true + }, + { + "path": "msw/browser", + "kind": "import-statement", + "external": true + }, + { + "path": "./data/certificate.mock", + "kind": "import-statement", + "external": true + }, + { + "path": "react", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/@umijs/renderer-react", + "kind": "import-statement", + "external": true + }, + { + "path": "react", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/@umijs/renderer-react", + "kind": "import-statement", + "external": true + }, + { + "path": "react/jsx-runtime", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/@umijs/renderer-react", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/umi/client/client/plugin.js", + "kind": "import-statement", + "external": true + }, + { + "path": "react", + "kind": "import-statement", + "external": true + }, + { + "path": "antd", + "kind": "import-statement", + "external": true + }, + { + "path": "@ant-design/icons", + "kind": "import-statement", + "external": true + }, + { + "path": "react/jsx-runtime", + "kind": "import-statement", + "external": true + }, + { + "path": "react/jsx-runtime", + "kind": "import-statement", + "external": true + }, + { + "path": "react", + "kind": "import-statement", + "external": true + }, + { + "path": "antd", + "kind": "import-statement", + "external": true + }, + { + "path": "@ant-design/icons", + "kind": "import-statement", + "external": true + }, + { + "path": "react/jsx-runtime", + "kind": "import-statement", + "external": true + }, + { + "path": "react", + "kind": "import-statement", + "external": true + }, + { + "path": "antd", + "kind": "import-statement", + "external": true + }, + { + "path": "@ant-design/icons", + "kind": "import-statement", + "external": true + }, + { + "path": "react/jsx-runtime", + "kind": "import-statement", + "external": true + }, + { + "path": "axios", + "kind": "import-statement", + "external": true + }, + { + "path": "react", + "kind": "import-statement", + "external": true + }, + { + "path": "antd", + "kind": "import-statement", + "external": true + }, + { + "path": "@ant-design/icons", + "kind": "import-statement", + "external": true + }, + { + "path": "react/jsx-runtime", + "kind": "import-statement", + "external": true + }, + { + "path": "react", + "kind": "import-statement", + "external": true + }, + { + "path": "antd", + "kind": "import-statement", + "external": true + }, + { + "path": "@ant-design/icons", + "kind": "import-statement", + "external": true + }, + { + "path": "react-router-dom", + "kind": "import-statement", + "external": true + }, + { + "path": "react/jsx-runtime", + "kind": "import-statement", + "external": true + }, + { + "path": "react", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.error.cause.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.aggregate-error.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.aggregate-error.cause.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.array.at.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.array.find-last.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.array.find-last-index.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.array.push.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.array.reduce.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.array.reduce-right.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.array.to-reversed.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.array.to-sorted.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.array.to-spliced.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.array.with.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.map.group-by.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.object.group-by.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.object.has-own.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.promise.any.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.promise.with-resolvers.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.reflect.to-string-tag.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.regexp.flags.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.string.at-alternative.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.string.is-well-formed.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.string.replace-all.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.string.to-well-formed.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.typed-array.at.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.typed-array.find-last.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.typed-array.find-last-index.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.typed-array.set.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.typed-array.to-reversed.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.typed-array.to-sorted.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.typed-array.with.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.suppressed-error.constructor.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.from-async.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.filter-out.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.filter-reject.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.group.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.group-by.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.group-by-to-map.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.group-to-map.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.is-template-object.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.last-index.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.last-item.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.unique-by.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array-buffer.detached.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array-buffer.transfer.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array-buffer.transfer-to-fixed-length.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-disposable-stack.constructor.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.constructor.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.as-indexed-pairs.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.async-dispose.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.drop.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.every.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.filter.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.find.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.flat-map.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.for-each.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.from.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.indexed.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.map.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.reduce.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.some.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.take.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.to-array.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.bigint.range.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.composite-key.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.composite-symbol.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.data-view.get-float16.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.data-view.get-uint8-clamped.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.data-view.set-float16.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.data-view.set-uint8-clamped.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.disposable-stack.constructor.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.function.demethodize.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.function.is-callable.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.function.is-constructor.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.function.metadata.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.function.un-this.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.constructor.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.as-indexed-pairs.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.dispose.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.drop.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.every.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.filter.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.find.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.flat-map.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.for-each.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.from.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.indexed.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.map.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.range.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.reduce.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.some.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.take.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.to-array.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.to-async.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.json.is-raw-json.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.json.parse.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.json.raw-json.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.delete-all.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.emplace.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.every.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.filter.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.find.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.find-key.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.from.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.includes.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.key-by.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.key-of.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.map-keys.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.map-values.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.merge.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.of.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.reduce.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.some.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.update.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.update-or-insert.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.upsert.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.clamp.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.deg-per-rad.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.degrees.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.fscale.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.f16round.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.iaddh.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.imulh.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.isubh.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.rad-per-deg.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.radians.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.scale.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.seeded-prng.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.signbit.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.umulh.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.number.from-string.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.number.range.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.object.iterate-entries.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.object.iterate-keys.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.object.iterate-values.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.observable.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.promise.try.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.reflect.define-metadata.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.reflect.delete-metadata.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.reflect.get-metadata.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.reflect.get-metadata-keys.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.reflect.get-own-metadata.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.reflect.get-own-metadata-keys.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.reflect.has-metadata.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.reflect.has-own-metadata.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.reflect.metadata.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.regexp.escape.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.add-all.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.delete-all.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.difference.v2.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.difference.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.every.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.filter.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.find.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.from.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.intersection.v2.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.intersection.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.is-disjoint-from.v2.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.is-disjoint-from.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.is-subset-of.v2.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.is-subset-of.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.is-superset-of.v2.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.is-superset-of.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.join.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.map.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.of.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.reduce.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.some.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.symmetric-difference.v2.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.symmetric-difference.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.union.v2.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.union.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.string.at.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.string.cooked.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.string.code-points.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.string.dedent.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.async-dispose.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.dispose.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.is-registered-symbol.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.is-registered.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.is-well-known-symbol.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.is-well-known.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.matcher.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.metadata.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.metadata-key.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.observable.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.pattern-match.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.replace-all.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.typed-array.from-async.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.typed-array.filter-out.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.typed-array.filter-reject.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.typed-array.group-by.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.typed-array.to-spliced.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.typed-array.unique-by.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.uint8-array.from-base64.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.uint8-array.from-hex.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.uint8-array.to-base64.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.uint8-array.to-hex.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.weak-map.delete-all.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.weak-map.from.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.weak-map.of.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.weak-map.emplace.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.weak-map.upsert.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.weak-set.add-all.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.weak-set.delete-all.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.weak-set.from.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.weak-set.of.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/web.dom-exception.stack.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/web.immediate.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/web.self.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/web.structured-clone.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/web.url.can-parse.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/web.url-search-params.delete.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/web.url-search-params.has.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/web.url-search-params.size.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/regenerator-runtime/runtime.js", + "kind": "import-statement", + "external": true + }, + { + "path": "D:/trae_projects/makemd/makemd/dashboard/node_modules/@umijs/renderer-react", + "kind": "import-statement", + "external": true + } + ], + "exports": [], + "entryPoint": "src/.umi/umi.ts", + "inputs": { + "src/components/Navbar.tsx": { + "bytesInOutput": 6068 + }, + "src/pages/Homepage.tsx": { + "bytesInOutput": 61331 + }, + "src/pages/Pricing.tsx": { + "bytesInOutput": 19298 + }, + "src/.umi/core/defineApp.ts": { + "bytesInOutput": 90 + }, + "src/.umi/core/history.ts": { + "bytesInOutput": 1318 + }, + "src/.umi/core/terminal.ts": { + "bytesInOutput": 88 + }, + "src/mock/msw.ts": { + "bytesInOutput": 5613 + }, + "src/mock/browser.ts": { + "bytesInOutput": 232 + }, + "src/app.ts": { + "bytesInOutput": 648 + }, + "src/.umi/core/helmetContext.ts": { + "bytesInOutput": 129 + }, + "src/.umi/core/helmet.ts": { + "bytesInOutput": 479 + }, + "src/.umi/core/plugin.ts": { + "bytesInOutput": 1021 + }, + "src/.umi/testBrowser.tsx": { + "bytesInOutput": 404 + }, + "src/.umi/exports.ts": { + "bytesInOutput": 1006 + }, + "src/pages/CaseStudy.tsx": { + "bytesInOutput": 22073 + }, + "src/.umi/core/EmptyRoute.tsx": { + "bytesInOutput": 381 + }, + "src/pages/Auth/LoginPage.tsx": { + "bytesInOutput": 10720 + }, + "src/pages/Auth/RegisterPage.tsx": { + "bytesInOutput": 17208 + }, + "src/services/http.ts": { + "bytesInOutput": 970 + }, + "src/services/operationAgentService.ts": { + "bytesInOutput": 2038 + }, + "src/pages/OperationAgent.tsx": { + "bytesInOutput": 21974 + }, + "src/layouts/index.tsx": { + "bytesInOutput": 14192 + }, + "src/.umi/core/route.tsx": { + "bytesInOutput": 2051 + }, + "src/.umi/core/polyfill.ts": { + "bytesInOutput": 23097 + }, + "src/.umi/umi.ts": { + "bytesInOutput": 1873 + } + }, + "bytes": 215350 + } + } + } + }, + "fileImports": { + "D:\\trae_projects\\makemd\\makemd\\dashboard\\src\\.umi\\core\\EmptyRoute.tsx": [ + { + "end": 119, + "importKind": "value", + "source": "react", + "specifiers": [ + { + "local": "React", + "type": "ImportDefaultSpecifier" + } + ], + "start": 93, + "type": "ImportDeclaration" + }, + { + "end": 167, + "importKind": "value", + "source": "umi", + "specifiers": [ + { + "imported": "Outlet", + "local": "Outlet", + "type": "ImportSpecifier" + }, + { + "imported": "useOutletContext", + "local": "useOutletContext", + "type": "ImportSpecifier" + } + ], + "start": 120, + "type": "ImportDeclaration" + } + ], + "D:\\trae_projects\\makemd\\makemd\\dashboard\\src\\.umi\\core\\defineApp.ts": [], + "D:\\trae_projects\\makemd\\makemd\\dashboard\\src\\.umi\\core\\helmet.ts": [ + { + "end": 119, + "importKind": "value", + "source": "react", + "specifiers": [ + { + "local": "React", + "type": "ImportDefaultSpecifier" + } + ], + "start": 93, + "type": "ImportDeclaration" + }, + { + "end": 229, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/@umijs/renderer-react", + "specifiers": [ + { + "imported": "HelmetProvider", + "local": "HelmetProvider", + "type": "ImportSpecifier" + } + ], + "start": 120, + "type": "ImportDeclaration" + }, + { + "end": 272, + "importKind": "value", + "source": "./helmetContext", + "specifiers": [ + { + "imported": "context", + "local": "context", + "type": "ImportSpecifier" + } + ], + "start": 230, + "type": "ImportDeclaration" + } + ], + "D:\\trae_projects\\makemd\\makemd\\dashboard\\src\\.umi\\core\\helmetContext.ts": [], + "D:\\trae_projects\\makemd\\makemd\\dashboard\\src\\.umi\\core\\history.ts": [ + { + "end": 248, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/@umijs/renderer-react", + "specifiers": [ + { + "imported": "createHashHistory", + "local": "createHashHistory", + "type": "ImportSpecifier" + }, + { + "imported": "createMemoryHistory", + "local": "createMemoryHistory", + "type": "ImportSpecifier" + }, + { + "imported": "createBrowserHistory", + "local": "createBrowserHistory", + "type": "ImportSpecifier" + } + ], + "start": 93, + "type": "ImportDeclaration" + }, + { + "end": 300, + "importKind": "type", + "source": "./historyIntelli", + "specifiers": [ + { + "imported": "UmiHistory", + "local": "UmiHistory", + "type": "ImportSpecifier" + } + ], + "start": 249, + "type": "ImportDeclaration" + } + ], + "D:\\trae_projects\\makemd\\makemd\\dashboard\\src\\.umi\\core\\plugin.ts": [ + { + "end": 173, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/src/app.ts", + "specifiers": [ + { + "local": "Plugin_0", + "type": "ImportNamespaceSpecifier" + } + ], + "start": 93, + "type": "ImportDeclaration" + }, + { + "end": 220, + "importKind": "value", + "source": "@@/core/helmet.ts", + "specifiers": [ + { + "local": "Plugin_1", + "type": "ImportNamespaceSpecifier" + } + ], + "start": 174, + "type": "ImportDeclaration" + }, + { + "end": 257, + "importKind": "value", + "source": "umi", + "specifiers": [ + { + "imported": "PluginManager", + "local": "PluginManager", + "type": "ImportSpecifier" + } + ], + "start": 221, + "type": "ImportDeclaration" + } + ], + "D:\\trae_projects\\makemd\\makemd\\dashboard\\src\\.umi\\core\\polyfill.ts": [ + { + "end": 190, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.error.cause.js", + "specifiers": [], + "start": 93, + "type": "ImportDeclaration" + }, + { + "end": 292, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.aggregate-error.js", + "specifiers": [], + "start": 191, + "type": "ImportDeclaration" + }, + { + "end": 400, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.aggregate-error.cause.js", + "specifiers": [], + "start": 293, + "type": "ImportDeclaration" + }, + { + "end": 495, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.array.at.js", + "specifiers": [], + "start": 401, + "type": "ImportDeclaration" + }, + { + "end": 597, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.array.find-last.js", + "specifiers": [], + "start": 496, + "type": "ImportDeclaration" + }, + { + "end": 705, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.array.find-last-index.js", + "specifiers": [], + "start": 598, + "type": "ImportDeclaration" + }, + { + "end": 802, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.array.push.js", + "specifiers": [], + "start": 706, + "type": "ImportDeclaration" + }, + { + "end": 901, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.array.reduce.js", + "specifiers": [], + "start": 803, + "type": "ImportDeclaration" + }, + { + "end": 1006, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.array.reduce-right.js", + "specifiers": [], + "start": 902, + "type": "ImportDeclaration" + }, + { + "end": 1110, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.array.to-reversed.js", + "specifiers": [], + "start": 1007, + "type": "ImportDeclaration" + }, + { + "end": 1212, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.array.to-sorted.js", + "specifiers": [], + "start": 1111, + "type": "ImportDeclaration" + }, + { + "end": 1315, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.array.to-spliced.js", + "specifiers": [], + "start": 1213, + "type": "ImportDeclaration" + }, + { + "end": 1412, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.array.with.js", + "specifiers": [], + "start": 1316, + "type": "ImportDeclaration" + }, + { + "end": 1511, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.map.group-by.js", + "specifiers": [], + "start": 1413, + "type": "ImportDeclaration" + }, + { + "end": 1613, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.object.group-by.js", + "specifiers": [], + "start": 1512, + "type": "ImportDeclaration" + }, + { + "end": 1714, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.object.has-own.js", + "specifiers": [], + "start": 1614, + "type": "ImportDeclaration" + }, + { + "end": 1812, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.promise.any.js", + "specifiers": [], + "start": 1715, + "type": "ImportDeclaration" + }, + { + "end": 1921, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.promise.with-resolvers.js", + "specifiers": [], + "start": 1813, + "type": "ImportDeclaration" + }, + { + "end": 2029, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.reflect.to-string-tag.js", + "specifiers": [], + "start": 1922, + "type": "ImportDeclaration" + }, + { + "end": 2128, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.regexp.flags.js", + "specifiers": [], + "start": 2030, + "type": "ImportDeclaration" + }, + { + "end": 2236, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.string.at-alternative.js", + "specifiers": [], + "start": 2129, + "type": "ImportDeclaration" + }, + { + "end": 2344, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.string.is-well-formed.js", + "specifiers": [], + "start": 2237, + "type": "ImportDeclaration" + }, + { + "end": 2449, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.string.replace-all.js", + "specifiers": [], + "start": 2345, + "type": "ImportDeclaration" + }, + { + "end": 2557, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.string.to-well-formed.js", + "specifiers": [], + "start": 2450, + "type": "ImportDeclaration" + }, + { + "end": 2658, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.typed-array.at.js", + "specifiers": [], + "start": 2558, + "type": "ImportDeclaration" + }, + { + "end": 2766, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.typed-array.find-last.js", + "specifiers": [], + "start": 2659, + "type": "ImportDeclaration" + }, + { + "end": 2880, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.typed-array.find-last-index.js", + "specifiers": [], + "start": 2767, + "type": "ImportDeclaration" + }, + { + "end": 2982, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.typed-array.set.js", + "specifiers": [], + "start": 2881, + "type": "ImportDeclaration" + }, + { + "end": 3092, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.typed-array.to-reversed.js", + "specifiers": [], + "start": 2983, + "type": "ImportDeclaration" + }, + { + "end": 3200, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.typed-array.to-sorted.js", + "specifiers": [], + "start": 3093, + "type": "ImportDeclaration" + }, + { + "end": 3303, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/es.typed-array.with.js", + "specifiers": [], + "start": 3201, + "type": "ImportDeclaration" + }, + { + "end": 3422, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.suppressed-error.constructor.js", + "specifiers": [], + "start": 3304, + "type": "ImportDeclaration" + }, + { + "end": 3529, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.from-async.js", + "specifiers": [], + "start": 3423, + "type": "ImportDeclaration" + }, + { + "end": 3636, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.filter-out.js", + "specifiers": [], + "start": 3530, + "type": "ImportDeclaration" + }, + { + "end": 3746, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.filter-reject.js", + "specifiers": [], + "start": 3637, + "type": "ImportDeclaration" + }, + { + "end": 3848, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.group.js", + "specifiers": [], + "start": 3747, + "type": "ImportDeclaration" + }, + { + "end": 3953, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.group-by.js", + "specifiers": [], + "start": 3849, + "type": "ImportDeclaration" + }, + { + "end": 4065, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.group-by-to-map.js", + "specifiers": [], + "start": 3954, + "type": "ImportDeclaration" + }, + { + "end": 4174, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.group-to-map.js", + "specifiers": [], + "start": 4066, + "type": "ImportDeclaration" + }, + { + "end": 4289, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.is-template-object.js", + "specifiers": [], + "start": 4175, + "type": "ImportDeclaration" + }, + { + "end": 4396, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.last-index.js", + "specifiers": [], + "start": 4290, + "type": "ImportDeclaration" + }, + { + "end": 4502, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.last-item.js", + "specifiers": [], + "start": 4397, + "type": "ImportDeclaration" + }, + { + "end": 4608, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array.unique-by.js", + "specifiers": [], + "start": 4503, + "type": "ImportDeclaration" + }, + { + "end": 4720, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array-buffer.detached.js", + "specifiers": [], + "start": 4609, + "type": "ImportDeclaration" + }, + { + "end": 4832, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array-buffer.transfer.js", + "specifiers": [], + "start": 4721, + "type": "ImportDeclaration" + }, + { + "end": 4960, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.array-buffer.transfer-to-fixed-length.js", + "specifiers": [], + "start": 4833, + "type": "ImportDeclaration" + }, + { + "end": 5085, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-disposable-stack.constructor.js", + "specifiers": [], + "start": 4961, + "type": "ImportDeclaration" + }, + { + "end": 5202, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.constructor.js", + "specifiers": [], + "start": 5086, + "type": "ImportDeclaration" + }, + { + "end": 5324, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.as-indexed-pairs.js", + "specifiers": [], + "start": 5203, + "type": "ImportDeclaration" + }, + { + "end": 5443, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.async-dispose.js", + "specifiers": [], + "start": 5325, + "type": "ImportDeclaration" + }, + { + "end": 5553, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.drop.js", + "specifiers": [], + "start": 5444, + "type": "ImportDeclaration" + }, + { + "end": 5664, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.every.js", + "specifiers": [], + "start": 5554, + "type": "ImportDeclaration" + }, + { + "end": 5776, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.filter.js", + "specifiers": [], + "start": 5665, + "type": "ImportDeclaration" + }, + { + "end": 5886, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.find.js", + "specifiers": [], + "start": 5777, + "type": "ImportDeclaration" + }, + { + "end": 6000, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.flat-map.js", + "specifiers": [], + "start": 5887, + "type": "ImportDeclaration" + }, + { + "end": 6114, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.for-each.js", + "specifiers": [], + "start": 6001, + "type": "ImportDeclaration" + }, + { + "end": 6224, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.from.js", + "specifiers": [], + "start": 6115, + "type": "ImportDeclaration" + }, + { + "end": 6337, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.indexed.js", + "specifiers": [], + "start": 6225, + "type": "ImportDeclaration" + }, + { + "end": 6446, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.map.js", + "specifiers": [], + "start": 6338, + "type": "ImportDeclaration" + }, + { + "end": 6558, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.reduce.js", + "specifiers": [], + "start": 6447, + "type": "ImportDeclaration" + }, + { + "end": 6668, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.some.js", + "specifiers": [], + "start": 6559, + "type": "ImportDeclaration" + }, + { + "end": 6778, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.take.js", + "specifiers": [], + "start": 6669, + "type": "ImportDeclaration" + }, + { + "end": 6892, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.async-iterator.to-array.js", + "specifiers": [], + "start": 6779, + "type": "ImportDeclaration" + }, + { + "end": 6995, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.bigint.range.js", + "specifiers": [], + "start": 6893, + "type": "ImportDeclaration" + }, + { + "end": 7099, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.composite-key.js", + "specifiers": [], + "start": 6996, + "type": "ImportDeclaration" + }, + { + "end": 7206, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.composite-symbol.js", + "specifiers": [], + "start": 7100, + "type": "ImportDeclaration" + }, + { + "end": 7318, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.data-view.get-float16.js", + "specifiers": [], + "start": 7207, + "type": "ImportDeclaration" + }, + { + "end": 7436, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.data-view.get-uint8-clamped.js", + "specifiers": [], + "start": 7319, + "type": "ImportDeclaration" + }, + { + "end": 7548, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.data-view.set-float16.js", + "specifiers": [], + "start": 7437, + "type": "ImportDeclaration" + }, + { + "end": 7666, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.data-view.set-uint8-clamped.js", + "specifiers": [], + "start": 7549, + "type": "ImportDeclaration" + }, + { + "end": 7785, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.disposable-stack.constructor.js", + "specifiers": [], + "start": 7667, + "type": "ImportDeclaration" + }, + { + "end": 7896, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.function.demethodize.js", + "specifiers": [], + "start": 7786, + "type": "ImportDeclaration" + }, + { + "end": 8007, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.function.is-callable.js", + "specifiers": [], + "start": 7897, + "type": "ImportDeclaration" + }, + { + "end": 8121, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.function.is-constructor.js", + "specifiers": [], + "start": 8008, + "type": "ImportDeclaration" + }, + { + "end": 8229, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.function.metadata.js", + "specifiers": [], + "start": 8122, + "type": "ImportDeclaration" + }, + { + "end": 8336, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.function.un-this.js", + "specifiers": [], + "start": 8230, + "type": "ImportDeclaration" + }, + { + "end": 8447, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.constructor.js", + "specifiers": [], + "start": 8337, + "type": "ImportDeclaration" + }, + { + "end": 8563, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.as-indexed-pairs.js", + "specifiers": [], + "start": 8448, + "type": "ImportDeclaration" + }, + { + "end": 8670, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.dispose.js", + "specifiers": [], + "start": 8564, + "type": "ImportDeclaration" + }, + { + "end": 8774, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.drop.js", + "specifiers": [], + "start": 8671, + "type": "ImportDeclaration" + }, + { + "end": 8879, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.every.js", + "specifiers": [], + "start": 8775, + "type": "ImportDeclaration" + }, + { + "end": 8985, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.filter.js", + "specifiers": [], + "start": 8880, + "type": "ImportDeclaration" + }, + { + "end": 9089, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.find.js", + "specifiers": [], + "start": 8986, + "type": "ImportDeclaration" + }, + { + "end": 9197, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.flat-map.js", + "specifiers": [], + "start": 9090, + "type": "ImportDeclaration" + }, + { + "end": 9305, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.for-each.js", + "specifiers": [], + "start": 9198, + "type": "ImportDeclaration" + }, + { + "end": 9409, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.from.js", + "specifiers": [], + "start": 9306, + "type": "ImportDeclaration" + }, + { + "end": 9516, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.indexed.js", + "specifiers": [], + "start": 9410, + "type": "ImportDeclaration" + }, + { + "end": 9619, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.map.js", + "specifiers": [], + "start": 9517, + "type": "ImportDeclaration" + }, + { + "end": 9724, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.range.js", + "specifiers": [], + "start": 9620, + "type": "ImportDeclaration" + }, + { + "end": 9830, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.reduce.js", + "specifiers": [], + "start": 9725, + "type": "ImportDeclaration" + }, + { + "end": 9934, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.some.js", + "specifiers": [], + "start": 9831, + "type": "ImportDeclaration" + }, + { + "end": 10038, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.take.js", + "specifiers": [], + "start": 9935, + "type": "ImportDeclaration" + }, + { + "end": 10146, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.to-array.js", + "specifiers": [], + "start": 10039, + "type": "ImportDeclaration" + }, + { + "end": 10254, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.iterator.to-async.js", + "specifiers": [], + "start": 10147, + "type": "ImportDeclaration" + }, + { + "end": 10361, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.json.is-raw-json.js", + "specifiers": [], + "start": 10255, + "type": "ImportDeclaration" + }, + { + "end": 10462, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.json.parse.js", + "specifiers": [], + "start": 10362, + "type": "ImportDeclaration" + }, + { + "end": 10566, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.json.raw-json.js", + "specifiers": [], + "start": 10463, + "type": "ImportDeclaration" + }, + { + "end": 10671, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.delete-all.js", + "specifiers": [], + "start": 10567, + "type": "ImportDeclaration" + }, + { + "end": 10773, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.emplace.js", + "specifiers": [], + "start": 10672, + "type": "ImportDeclaration" + }, + { + "end": 10873, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.every.js", + "specifiers": [], + "start": 10774, + "type": "ImportDeclaration" + }, + { + "end": 10974, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.filter.js", + "specifiers": [], + "start": 10874, + "type": "ImportDeclaration" + }, + { + "end": 11073, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.find.js", + "specifiers": [], + "start": 10975, + "type": "ImportDeclaration" + }, + { + "end": 11176, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.find-key.js", + "specifiers": [], + "start": 11074, + "type": "ImportDeclaration" + }, + { + "end": 11275, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.from.js", + "specifiers": [], + "start": 11177, + "type": "ImportDeclaration" + }, + { + "end": 11378, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.includes.js", + "specifiers": [], + "start": 11276, + "type": "ImportDeclaration" + }, + { + "end": 11479, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.key-by.js", + "specifiers": [], + "start": 11379, + "type": "ImportDeclaration" + }, + { + "end": 11580, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.key-of.js", + "specifiers": [], + "start": 11480, + "type": "ImportDeclaration" + }, + { + "end": 11683, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.map-keys.js", + "specifiers": [], + "start": 11581, + "type": "ImportDeclaration" + }, + { + "end": 11788, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.map-values.js", + "specifiers": [], + "start": 11684, + "type": "ImportDeclaration" + }, + { + "end": 11888, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.merge.js", + "specifiers": [], + "start": 11789, + "type": "ImportDeclaration" + }, + { + "end": 11985, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.of.js", + "specifiers": [], + "start": 11889, + "type": "ImportDeclaration" + }, + { + "end": 12086, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.reduce.js", + "specifiers": [], + "start": 11986, + "type": "ImportDeclaration" + }, + { + "end": 12185, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.some.js", + "specifiers": [], + "start": 12087, + "type": "ImportDeclaration" + }, + { + "end": 12286, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.update.js", + "specifiers": [], + "start": 12186, + "type": "ImportDeclaration" + }, + { + "end": 12397, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.update-or-insert.js", + "specifiers": [], + "start": 12287, + "type": "ImportDeclaration" + }, + { + "end": 12498, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.map.upsert.js", + "specifiers": [], + "start": 12398, + "type": "ImportDeclaration" + }, + { + "end": 12599, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.clamp.js", + "specifiers": [], + "start": 12499, + "type": "ImportDeclaration" + }, + { + "end": 12706, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.deg-per-rad.js", + "specifiers": [], + "start": 12600, + "type": "ImportDeclaration" + }, + { + "end": 12809, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.degrees.js", + "specifiers": [], + "start": 12707, + "type": "ImportDeclaration" + }, + { + "end": 12911, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.fscale.js", + "specifiers": [], + "start": 12810, + "type": "ImportDeclaration" + }, + { + "end": 13015, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.f16round.js", + "specifiers": [], + "start": 12912, + "type": "ImportDeclaration" + }, + { + "end": 13116, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.iaddh.js", + "specifiers": [], + "start": 13016, + "type": "ImportDeclaration" + }, + { + "end": 13217, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.imulh.js", + "specifiers": [], + "start": 13117, + "type": "ImportDeclaration" + }, + { + "end": 13318, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.isubh.js", + "specifiers": [], + "start": 13218, + "type": "ImportDeclaration" + }, + { + "end": 13425, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.rad-per-deg.js", + "specifiers": [], + "start": 13319, + "type": "ImportDeclaration" + }, + { + "end": 13528, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.radians.js", + "specifiers": [], + "start": 13426, + "type": "ImportDeclaration" + }, + { + "end": 13629, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.scale.js", + "specifiers": [], + "start": 13529, + "type": "ImportDeclaration" + }, + { + "end": 13736, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.seeded-prng.js", + "specifiers": [], + "start": 13630, + "type": "ImportDeclaration" + }, + { + "end": 13839, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.signbit.js", + "specifiers": [], + "start": 13737, + "type": "ImportDeclaration" + }, + { + "end": 13940, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.math.umulh.js", + "specifiers": [], + "start": 13840, + "type": "ImportDeclaration" + }, + { + "end": 14049, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.number.from-string.js", + "specifiers": [], + "start": 13941, + "type": "ImportDeclaration" + }, + { + "end": 14152, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.number.range.js", + "specifiers": [], + "start": 14050, + "type": "ImportDeclaration" + }, + { + "end": 14265, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.object.iterate-entries.js", + "specifiers": [], + "start": 14153, + "type": "ImportDeclaration" + }, + { + "end": 14375, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.object.iterate-keys.js", + "specifiers": [], + "start": 14266, + "type": "ImportDeclaration" + }, + { + "end": 14487, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.object.iterate-values.js", + "specifiers": [], + "start": 14376, + "type": "ImportDeclaration" + }, + { + "end": 14588, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.observable.js", + "specifiers": [], + "start": 14488, + "type": "ImportDeclaration" + }, + { + "end": 14690, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.promise.try.js", + "specifiers": [], + "start": 14589, + "type": "ImportDeclaration" + }, + { + "end": 14804, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.reflect.define-metadata.js", + "specifiers": [], + "start": 14691, + "type": "ImportDeclaration" + }, + { + "end": 14918, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.reflect.delete-metadata.js", + "specifiers": [], + "start": 14805, + "type": "ImportDeclaration" + }, + { + "end": 15029, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.reflect.get-metadata.js", + "specifiers": [], + "start": 14919, + "type": "ImportDeclaration" + }, + { + "end": 15145, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.reflect.get-metadata-keys.js", + "specifiers": [], + "start": 15030, + "type": "ImportDeclaration" + }, + { + "end": 15260, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.reflect.get-own-metadata.js", + "specifiers": [], + "start": 15146, + "type": "ImportDeclaration" + }, + { + "end": 15380, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.reflect.get-own-metadata-keys.js", + "specifiers": [], + "start": 15261, + "type": "ImportDeclaration" + }, + { + "end": 15491, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.reflect.has-metadata.js", + "specifiers": [], + "start": 15381, + "type": "ImportDeclaration" + }, + { + "end": 15606, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.reflect.has-own-metadata.js", + "specifiers": [], + "start": 15492, + "type": "ImportDeclaration" + }, + { + "end": 15713, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.reflect.metadata.js", + "specifiers": [], + "start": 15607, + "type": "ImportDeclaration" + }, + { + "end": 15817, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.regexp.escape.js", + "specifiers": [], + "start": 15714, + "type": "ImportDeclaration" + }, + { + "end": 15919, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.add-all.js", + "specifiers": [], + "start": 15818, + "type": "ImportDeclaration" + }, + { + "end": 16024, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.delete-all.js", + "specifiers": [], + "start": 15920, + "type": "ImportDeclaration" + }, + { + "end": 16132, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.difference.v2.js", + "specifiers": [], + "start": 16025, + "type": "ImportDeclaration" + }, + { + "end": 16237, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.difference.js", + "specifiers": [], + "start": 16133, + "type": "ImportDeclaration" + }, + { + "end": 16337, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.every.js", + "specifiers": [], + "start": 16238, + "type": "ImportDeclaration" + }, + { + "end": 16438, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.filter.js", + "specifiers": [], + "start": 16338, + "type": "ImportDeclaration" + }, + { + "end": 16537, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.find.js", + "specifiers": [], + "start": 16439, + "type": "ImportDeclaration" + }, + { + "end": 16636, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.from.js", + "specifiers": [], + "start": 16538, + "type": "ImportDeclaration" + }, + { + "end": 16746, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.intersection.v2.js", + "specifiers": [], + "start": 16637, + "type": "ImportDeclaration" + }, + { + "end": 16853, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.intersection.js", + "specifiers": [], + "start": 16747, + "type": "ImportDeclaration" + }, + { + "end": 16967, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.is-disjoint-from.v2.js", + "specifiers": [], + "start": 16854, + "type": "ImportDeclaration" + }, + { + "end": 17078, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.is-disjoint-from.js", + "specifiers": [], + "start": 16968, + "type": "ImportDeclaration" + }, + { + "end": 17188, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.is-subset-of.v2.js", + "specifiers": [], + "start": 17079, + "type": "ImportDeclaration" + }, + { + "end": 17295, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.is-subset-of.js", + "specifiers": [], + "start": 17189, + "type": "ImportDeclaration" + }, + { + "end": 17407, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.is-superset-of.v2.js", + "specifiers": [], + "start": 17296, + "type": "ImportDeclaration" + }, + { + "end": 17516, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.is-superset-of.js", + "specifiers": [], + "start": 17408, + "type": "ImportDeclaration" + }, + { + "end": 17615, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.join.js", + "specifiers": [], + "start": 17517, + "type": "ImportDeclaration" + }, + { + "end": 17713, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.map.js", + "specifiers": [], + "start": 17616, + "type": "ImportDeclaration" + }, + { + "end": 17810, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.of.js", + "specifiers": [], + "start": 17714, + "type": "ImportDeclaration" + }, + { + "end": 17911, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.reduce.js", + "specifiers": [], + "start": 17811, + "type": "ImportDeclaration" + }, + { + "end": 18010, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.some.js", + "specifiers": [], + "start": 17912, + "type": "ImportDeclaration" + }, + { + "end": 18128, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.symmetric-difference.v2.js", + "specifiers": [], + "start": 18011, + "type": "ImportDeclaration" + }, + { + "end": 18243, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.symmetric-difference.js", + "specifiers": [], + "start": 18129, + "type": "ImportDeclaration" + }, + { + "end": 18346, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.union.v2.js", + "specifiers": [], + "start": 18244, + "type": "ImportDeclaration" + }, + { + "end": 18446, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.set.union.js", + "specifiers": [], + "start": 18347, + "type": "ImportDeclaration" + }, + { + "end": 18546, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.string.at.js", + "specifiers": [], + "start": 18447, + "type": "ImportDeclaration" + }, + { + "end": 18650, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.string.cooked.js", + "specifiers": [], + "start": 18547, + "type": "ImportDeclaration" + }, + { + "end": 18759, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.string.code-points.js", + "specifiers": [], + "start": 18651, + "type": "ImportDeclaration" + }, + { + "end": 18863, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.string.dedent.js", + "specifiers": [], + "start": 18760, + "type": "ImportDeclaration" + }, + { + "end": 18974, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.async-dispose.js", + "specifiers": [], + "start": 18864, + "type": "ImportDeclaration" + }, + { + "end": 19079, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.dispose.js", + "specifiers": [], + "start": 18975, + "type": "ImportDeclaration" + }, + { + "end": 19197, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.is-registered-symbol.js", + "specifiers": [], + "start": 19080, + "type": "ImportDeclaration" + }, + { + "end": 19308, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.is-registered.js", + "specifiers": [], + "start": 19198, + "type": "ImportDeclaration" + }, + { + "end": 19426, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.is-well-known-symbol.js", + "specifiers": [], + "start": 19309, + "type": "ImportDeclaration" + }, + { + "end": 19537, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.is-well-known.js", + "specifiers": [], + "start": 19427, + "type": "ImportDeclaration" + }, + { + "end": 19642, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.matcher.js", + "specifiers": [], + "start": 19538, + "type": "ImportDeclaration" + }, + { + "end": 19748, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.metadata.js", + "specifiers": [], + "start": 19643, + "type": "ImportDeclaration" + }, + { + "end": 19858, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.metadata-key.js", + "specifiers": [], + "start": 19749, + "type": "ImportDeclaration" + }, + { + "end": 19966, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.observable.js", + "specifiers": [], + "start": 19859, + "type": "ImportDeclaration" + }, + { + "end": 20077, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.pattern-match.js", + "specifiers": [], + "start": 19967, + "type": "ImportDeclaration" + }, + { + "end": 20186, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.symbol.replace-all.js", + "specifiers": [], + "start": 20078, + "type": "ImportDeclaration" + }, + { + "end": 20299, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.typed-array.from-async.js", + "specifiers": [], + "start": 20187, + "type": "ImportDeclaration" + }, + { + "end": 20412, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.typed-array.filter-out.js", + "specifiers": [], + "start": 20300, + "type": "ImportDeclaration" + }, + { + "end": 20528, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.typed-array.filter-reject.js", + "specifiers": [], + "start": 20413, + "type": "ImportDeclaration" + }, + { + "end": 20639, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.typed-array.group-by.js", + "specifiers": [], + "start": 20529, + "type": "ImportDeclaration" + }, + { + "end": 20752, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.typed-array.to-spliced.js", + "specifiers": [], + "start": 20640, + "type": "ImportDeclaration" + }, + { + "end": 20864, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.typed-array.unique-by.js", + "specifiers": [], + "start": 20753, + "type": "ImportDeclaration" + }, + { + "end": 20978, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.uint8-array.from-base64.js", + "specifiers": [], + "start": 20865, + "type": "ImportDeclaration" + }, + { + "end": 21089, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.uint8-array.from-hex.js", + "specifiers": [], + "start": 20979, + "type": "ImportDeclaration" + }, + { + "end": 21201, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.uint8-array.to-base64.js", + "specifiers": [], + "start": 21090, + "type": "ImportDeclaration" + }, + { + "end": 21310, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.uint8-array.to-hex.js", + "specifiers": [], + "start": 21202, + "type": "ImportDeclaration" + }, + { + "end": 21420, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.weak-map.delete-all.js", + "specifiers": [], + "start": 21311, + "type": "ImportDeclaration" + }, + { + "end": 21524, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.weak-map.from.js", + "specifiers": [], + "start": 21421, + "type": "ImportDeclaration" + }, + { + "end": 21626, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.weak-map.of.js", + "specifiers": [], + "start": 21525, + "type": "ImportDeclaration" + }, + { + "end": 21733, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.weak-map.emplace.js", + "specifiers": [], + "start": 21627, + "type": "ImportDeclaration" + }, + { + "end": 21839, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.weak-map.upsert.js", + "specifiers": [], + "start": 21734, + "type": "ImportDeclaration" + }, + { + "end": 21946, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.weak-set.add-all.js", + "specifiers": [], + "start": 21840, + "type": "ImportDeclaration" + }, + { + "end": 22056, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.weak-set.delete-all.js", + "specifiers": [], + "start": 21947, + "type": "ImportDeclaration" + }, + { + "end": 22160, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.weak-set.from.js", + "specifiers": [], + "start": 22057, + "type": "ImportDeclaration" + }, + { + "end": 22262, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/esnext.weak-set.of.js", + "specifiers": [], + "start": 22161, + "type": "ImportDeclaration" + }, + { + "end": 22369, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/web.dom-exception.stack.js", + "specifiers": [], + "start": 22263, + "type": "ImportDeclaration" + }, + { + "end": 22466, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/web.immediate.js", + "specifiers": [], + "start": 22370, + "type": "ImportDeclaration" + }, + { + "end": 22558, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/web.self.js", + "specifiers": [], + "start": 22467, + "type": "ImportDeclaration" + }, + { + "end": 22662, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/web.structured-clone.js", + "specifiers": [], + "start": 22559, + "type": "ImportDeclaration" + }, + { + "end": 22763, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/web.url.can-parse.js", + "specifiers": [], + "start": 22663, + "type": "ImportDeclaration" + }, + { + "end": 22875, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/web.url-search-params.delete.js", + "specifiers": [], + "start": 22764, + "type": "ImportDeclaration" + }, + { + "end": 22984, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/web.url-search-params.has.js", + "specifiers": [], + "start": 22876, + "type": "ImportDeclaration" + }, + { + "end": 23094, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/core-js/modules/web.url-search-params.size.js", + "specifiers": [], + "start": 22985, + "type": "ImportDeclaration" + }, + { + "end": 23189, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/regenerator-runtime/runtime.js", + "specifiers": [], + "start": 23095, + "type": "ImportDeclaration" + } + ], + "D:\\trae_projects\\makemd\\makemd\\dashboard\\src\\.umi\\core\\route.tsx": [ + { + "end": 119, + "importKind": "value", + "source": "react", + "specifiers": [ + { + "local": "React", + "type": "ImportDefaultSpecifier" + } + ], + "start": 93, + "type": "ImportDeclaration" + } + ], + "D:\\trae_projects\\makemd\\makemd\\dashboard\\src\\.umi\\core\\terminal.ts": [], + "D:\\trae_projects\\makemd\\makemd\\dashboard\\src\\.umi\\exports.ts": [ + { + "end": 150, + "exportKind": "value", + "source": "./core/defineApp", + "specifiers": [ + { + "exported": "defineApp", + "local": "defineApp", + "type": "ExportSpecifier" + } + ], + "start": 106, + "type": "ExportNamedDeclaration" + }, + { + "end": 204, + "exportKind": "type", + "source": "./core/defineApp", + "specifiers": [ + { + "exported": "RuntimeConfig", + "local": "RuntimeConfig", + "type": "ExportSpecifier" + } + ], + "start": 151, + "type": "ExportNamedDeclaration" + }, + { + "end": 831, + "exportKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/@umijs/renderer-react", + "specifiers": [ + { + "exported": "createBrowserHistory", + "local": "createBrowserHistory", + "type": "ExportSpecifier" + }, + { + "exported": "createHashHistory", + "local": "createHashHistory", + "type": "ExportSpecifier" + }, + { + "exported": "createMemoryHistory", + "local": "createMemoryHistory", + "type": "ExportSpecifier" + }, + { + "exported": "Helmet", + "local": "Helmet", + "type": "ExportSpecifier" + }, + { + "exported": "HelmetProvider", + "local": "HelmetProvider", + "type": "ExportSpecifier" + }, + { + "exported": "createSearchParams", + "local": "createSearchParams", + "type": "ExportSpecifier" + }, + { + "exported": "generatePath", + "local": "generatePath", + "type": "ExportSpecifier" + }, + { + "exported": "matchPath", + "local": "matchPath", + "type": "ExportSpecifier" + }, + { + "exported": "matchRoutes", + "local": "matchRoutes", + "type": "ExportSpecifier" + }, + { + "exported": "Navigate", + "local": "Navigate", + "type": "ExportSpecifier" + }, + { + "exported": "NavLink", + "local": "NavLink", + "type": "ExportSpecifier" + }, + { + "exported": "Outlet", + "local": "Outlet", + "type": "ExportSpecifier" + }, + { + "exported": "resolvePath", + "local": "resolvePath", + "type": "ExportSpecifier" + }, + { + "exported": "useLocation", + "local": "useLocation", + "type": "ExportSpecifier" + }, + { + "exported": "useMatch", + "local": "useMatch", + "type": "ExportSpecifier" + }, + { + "exported": "useNavigate", + "local": "useNavigate", + "type": "ExportSpecifier" + }, + { + "exported": "useOutlet", + "local": "useOutlet", + "type": "ExportSpecifier" + }, + { + "exported": "useOutletContext", + "local": "useOutletContext", + "type": "ExportSpecifier" + }, + { + "exported": "useParams", + "local": "useParams", + "type": "ExportSpecifier" + }, + { + "exported": "useResolvedPath", + "local": "useResolvedPath", + "type": "ExportSpecifier" + }, + { + "exported": "useRoutes", + "local": "useRoutes", + "type": "ExportSpecifier" + }, + { + "exported": "useSearchParams", + "local": "useSearchParams", + "type": "ExportSpecifier" + }, + { + "exported": "useAppData", + "local": "useAppData", + "type": "ExportSpecifier" + }, + { + "exported": "useClientLoaderData", + "local": "useClientLoaderData", + "type": "ExportSpecifier" + }, + { + "exported": "useLoaderData", + "local": "useLoaderData", + "type": "ExportSpecifier" + }, + { + "exported": "useRouteProps", + "local": "useRouteProps", + "type": "ExportSpecifier" + }, + { + "exported": "useSelectedRoutes", + "local": "useSelectedRoutes", + "type": "ExportSpecifier" + }, + { + "exported": "useServerLoaderData", + "local": "useServerLoaderData", + "type": "ExportSpecifier" + }, + { + "exported": "renderClient", + "local": "renderClient", + "type": "ExportSpecifier" + }, + { + "exported": "__getRoot", + "local": "__getRoot", + "type": "ExportSpecifier" + }, + { + "exported": "Link", + "local": "Link", + "type": "ExportSpecifier" + }, + { + "exported": "useRouteData", + "local": "useRouteData", + "type": "ExportSpecifier" + }, + { + "exported": "__useFetcher", + "local": "__useFetcher", + "type": "ExportSpecifier" + }, + { + "exported": "withRouter", + "local": "withRouter", + "type": "ExportSpecifier" + } + ], + "start": 259, + "type": "ExportNamedDeclaration" + }, + { + "end": 952, + "exportKind": "type", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/@umijs/renderer-react", + "specifiers": [ + { + "exported": "History", + "local": "History", + "type": "ExportSpecifier" + }, + { + "exported": "ClientLoader", + "local": "ClientLoader", + "type": "ExportSpecifier" + } + ], + "start": 832, + "type": "ExportNamedDeclaration" + }, + { + "end": 1113, + "exportKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/umi/client/client/plugin.js", + "specifiers": [ + { + "exported": "ApplyPluginsType", + "local": "ApplyPluginsType", + "type": "ExportSpecifier" + }, + { + "exported": "PluginManager", + "local": "PluginManager", + "type": "ExportSpecifier" + } + ], + "start": 981, + "type": "ExportNamedDeclaration" + }, + { + "end": 1170, + "exportKind": "value", + "source": "./core/history", + "specifiers": [ + { + "exported": "history", + "local": "history", + "type": "ExportSpecifier" + }, + { + "exported": "createHistory", + "local": "createHistory", + "type": "ExportSpecifier" + } + ], + "start": 1114, + "type": "ExportNamedDeclaration" + }, + { + "end": 1214, + "exportKind": "value", + "source": "./core/terminal", + "specifiers": [ + { + "exported": "terminal", + "local": "terminal", + "type": "ExportSpecifier" + } + ], + "start": 1171, + "type": "ExportNamedDeclaration" + }, + { + "end": 1337, + "exportKind": "value", + "source": "./testBrowser", + "specifiers": [ + { + "exported": "TestBrowser", + "local": "TestBrowser", + "type": "ExportSpecifier" + } + ], + "start": 1293, + "type": "ExportNamedDeclaration" + } + ], + "D:\\trae_projects\\makemd\\makemd\\dashboard\\src\\.umi\\testBrowser.tsx": [ + { + "end": 144, + "importKind": "value", + "source": "react", + "specifiers": [ + { + "local": "React", + "type": "ImportDefaultSpecifier" + }, + { + "imported": "useEffect", + "local": "useEffect", + "type": "ImportSpecifier" + }, + { + "imported": "useState", + "local": "useState", + "type": "ImportSpecifier" + } + ], + "start": 93, + "type": "ImportDeclaration" + }, + { + "end": 184, + "importKind": "value", + "source": "umi", + "specifiers": [ + { + "imported": "ApplyPluginsType", + "local": "ApplyPluginsType", + "type": "ImportSpecifier" + } + ], + "start": 145, + "type": "ImportDeclaration" + }, + { + "end": 310, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/@umijs/renderer-react", + "specifiers": [ + { + "imported": "renderClient", + "local": "renderClient", + "type": "ImportSpecifier" + }, + { + "imported": "RenderClientOpts", + "local": "RenderClientOpts", + "type": "ImportSpecifier" + } + ], + "start": 185, + "type": "ImportDeclaration" + }, + { + "end": 358, + "importKind": "value", + "source": "./core/history", + "specifiers": [ + { + "imported": "createHistory", + "local": "createHistory", + "type": "ImportSpecifier" + } + ], + "start": 311, + "type": "ImportDeclaration" + }, + { + "end": 411, + "importKind": "value", + "source": "./core/plugin", + "specifiers": [ + { + "imported": "createPluginManager", + "local": "createPluginManager", + "type": "ImportSpecifier" + } + ], + "start": 359, + "type": "ImportDeclaration" + }, + { + "end": 453, + "importKind": "value", + "source": "./core/route", + "specifiers": [ + { + "imported": "getRoutes", + "local": "getRoutes", + "type": "ImportSpecifier" + } + ], + "start": 412, + "type": "ImportDeclaration" + }, + { + "end": 494, + "importKind": "type", + "source": "history", + "specifiers": [ + { + "imported": "Location", + "local": "Location", + "type": "ImportSpecifier" + } + ], + "start": 454, + "type": "ImportDeclaration" + } + ], + "D:\\trae_projects\\makemd\\makemd\\dashboard\\src\\.umi\\umi.ts": [ + { + "end": 118, + "importKind": "value", + "source": "./core/polyfill", + "specifiers": [], + "start": 93, + "type": "ImportDeclaration" + }, + { + "end": 227, + "importKind": "value", + "source": "D:/trae_projects/makemd/makemd/dashboard/node_modules/@umijs/renderer-react", + "specifiers": [ + { + "imported": "renderClient", + "local": "renderClient", + "type": "ImportSpecifier" + } + ], + "start": 120, + "type": "ImportDeclaration" + }, + { + "end": 269, + "importKind": "value", + "source": "./core/route", + "specifiers": [ + { + "imported": "getRoutes", + "local": "getRoutes", + "type": "ImportSpecifier" + } + ], + "start": 228, + "type": "ImportDeclaration" + }, + { + "end": 322, + "importKind": "value", + "source": "./core/plugin", + "specifiers": [ + { + "imported": "createPluginManager", + "local": "createPluginManager", + "type": "ImportSpecifier" + } + ], + "start": 270, + "type": "ImportDeclaration" + }, + { + "end": 370, + "importKind": "value", + "source": "./core/history", + "specifiers": [ + { + "imported": "createHistory", + "local": "createHistory", + "type": "ImportSpecifier" + } + ], + "start": 323, + "type": "ImportDeclaration" + }, + { + "end": 410, + "importKind": "value", + "source": "umi", + "specifiers": [ + { + "imported": "ApplyPluginsType", + "local": "ApplyPluginsType", + "type": "ImportSpecifier" + } + ], + "start": 371, + "type": "ImportDeclaration" + } + ], + "D:\\trae_projects\\makemd\\makemd\\dashboard\\src\\app.ts": [ + { + "end": 545, + "source": "./mock/browser", + "start": 529, + "type": "DynamicImport" + } + ], + "D:\\trae_projects\\makemd\\makemd\\dashboard\\src\\components\\Navbar.tsx": [ + { + "end": 52, + "importKind": "value", + "source": "react", + "specifiers": [ + { + "local": "React", + "type": "ImportDefaultSpecifier" + }, + { + "imported": "useState", + "local": "useState", + "type": "ImportSpecifier" + }, + { + "imported": "useEffect", + "local": "useEffect", + "type": "ImportSpecifier" + } + ], + "start": 1, + "type": "ImportDeclaration" + }, + { + "end": 106, + "importKind": "value", + "source": "react-router-dom", + "specifiers": [ + { + "imported": "Link", + "local": "Link", + "type": "ImportSpecifier" + }, + { + "imported": "useNavigate", + "local": "useNavigate", + "type": "ImportSpecifier" + } + ], + "start": 53, + "type": "ImportDeclaration" + }, + { + "end": 137, + "importKind": "value", + "source": "antd", + "specifiers": [ + { + "imported": "Button", + "local": "Button", + "type": "ImportSpecifier" + } + ], + "start": 107, + "type": "ImportDeclaration" + }, + { + "end": 218, + "importKind": "value", + "source": "@ant-design/icons", + "specifiers": [ + { + "imported": "ArrowRightOutlined", + "local": "ArrowRightOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "MenuOutlined", + "local": "MenuOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "XOutlined", + "local": "XOutlined", + "type": "ImportSpecifier" + } + ], + "start": 138, + "type": "ImportDeclaration" + } + ], + "D:\\trae_projects\\makemd\\makemd\\dashboard\\src\\layouts\\index.tsx": [ + { + "end": 104, + "importKind": "value", + "source": "react", + "specifiers": [ + { + "local": "React", + "type": "ImportDefaultSpecifier" + }, + { + "imported": "useState", + "local": "useState", + "type": "ImportSpecifier" + }, + { + "imported": "useEffect", + "local": "useEffect", + "type": "ImportSpecifier" + } + ], + "start": 53, + "type": "ImportDeclaration" + }, + { + "end": 185, + "importKind": "value", + "source": "antd", + "specifiers": [ + { + "imported": "Layout", + "local": "Layout", + "type": "ImportSpecifier" + }, + { + "imported": "Menu", + "local": "Menu", + "type": "ImportSpecifier" + }, + { + "imported": "Typography", + "local": "Typography", + "type": "ImportSpecifier" + }, + { + "imported": "Avatar", + "local": "Avatar", + "type": "ImportSpecifier" + }, + { + "imported": "Dropdown", + "local": "Dropdown", + "type": "ImportSpecifier" + }, + { + "imported": "Badge", + "local": "Badge", + "type": "ImportSpecifier" + }, + { + "imported": "Space", + "local": "Space", + "type": "ImportSpecifier" + } + ], + "start": 105, + "type": "ImportDeclaration" + }, + { + "end": 672, + "importKind": "value", + "source": "@ant-design/icons", + "specifiers": [ + { + "imported": "DashboardOutlined", + "local": "DashboardOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "ShoppingOutlined", + "local": "ShoppingOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "FileTextOutlined", + "local": "FileTextOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "UserOutlined", + "local": "UserOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "TruckOutlined", + "local": "TruckOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "AlertOutlined", + "local": "AlertOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "AuditOutlined", + "local": "AuditOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "DollarOutlined", + "local": "DollarOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "BarChartOutlined", + "local": "BarChartOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "SettingOutlined", + "local": "SettingOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "TeamOutlined", + "local": "TeamOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "MenuFoldOutlined", + "local": "MenuFoldOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "MenuUnfoldOutlined", + "local": "MenuUnfoldOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "BellOutlined", + "local": "BellOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "DownOutlined", + "local": "DownOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "ShopOutlined", + "local": "ShopOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "ScheduleOutlined", + "local": "ScheduleOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "WalletOutlined", + "local": "WalletOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "SafetyCertificateOutlined", + "local": "SafetyCertificateOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "GlobalOutlined", + "local": "GlobalOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "TrophyOutlined", + "local": "TrophyOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "RobotOutlined", + "local": "RobotOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "SwapOutlined", + "local": "SwapOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "ThunderboltOutlined", + "local": "ThunderboltOutlined", + "type": "ImportSpecifier" + } + ], + "start": 186, + "type": "ImportDeclaration" + }, + { + "end": 747, + "importKind": "value", + "source": "react-router-dom", + "specifiers": [ + { + "imported": "Link", + "local": "Link", + "type": "ImportSpecifier" + }, + { + "imported": "useLocation", + "local": "useLocation", + "type": "ImportSpecifier" + }, + { + "imported": "useNavigate", + "local": "useNavigate", + "type": "ImportSpecifier" + }, + { + "imported": "Outlet", + "local": "Outlet", + "type": "ImportSpecifier" + } + ], + "start": 673, + "type": "ImportDeclaration" + } + ], + "D:\\trae_projects\\makemd\\makemd\\dashboard\\src\\mock\\browser.ts": [ + { + "end": 218, + "exportKind": "value", + "source": "./msw", + "specifiers": [ + { + "exported": "worker", + "local": "worker", + "type": "ExportSpecifier" + }, + { + "exported": "startMSW", + "local": "startMSW", + "type": "ExportSpecifier" + }, + { + "exported": "stopMSW", + "local": "stopMSW", + "type": "ExportSpecifier" + } + ], + "start": 168, + "type": "ExportNamedDeclaration" + } + ], + "D:\\trae_projects\\makemd\\makemd\\dashboard\\src\\mock\\msw.ts": [ + { + "end": 258, + "importKind": "value", + "source": "msw", + "specifiers": [ + { + "imported": "http", + "local": "http", + "type": "ImportSpecifier" + }, + { + "imported": "HttpResponse", + "local": "HttpResponse", + "type": "ImportSpecifier" + } + ], + "start": 217, + "type": "ImportDeclaration" + }, + { + "end": 301, + "importKind": "value", + "source": "msw/browser", + "specifiers": [ + { + "imported": "setupWorker", + "local": "setupWorker", + "type": "ImportSpecifier" + } + ], + "start": 259, + "type": "ImportDeclaration" + }, + { + "end": 488, + "importKind": "value", + "source": "./data/certificate.mock", + "specifiers": [ + { + "imported": "mockCertificates", + "local": "mockCertificates", + "type": "ImportSpecifier" + }, + { + "imported": "getMockCertificates", + "local": "getMockCertificates", + "type": "ImportSpecifier" + }, + { + "imported": "getMockCertificateById", + "local": "getMockCertificateById", + "type": "ImportSpecifier" + }, + { + "imported": "createMockCertificate", + "local": "createMockCertificate", + "type": "ImportSpecifier" + }, + { + "imported": "updateMockCertificate", + "local": "updateMockCertificate", + "type": "ImportSpecifier" + }, + { + "imported": "deleteMockCertificate", + "local": "deleteMockCertificate", + "type": "ImportSpecifier" + } + ], + "start": 302, + "type": "ImportDeclaration" + } + ], + "D:\\trae_projects\\makemd\\makemd\\dashboard\\src\\pages\\Auth\\LoginPage.tsx": [ + { + "end": 41, + "importKind": "value", + "source": "react", + "specifiers": [ + { + "local": "React", + "type": "ImportDefaultSpecifier" + }, + { + "imported": "useState", + "local": "useState", + "type": "ImportSpecifier" + } + ], + "start": 1, + "type": "ImportDeclaration" + }, + { + "end": 76, + "importKind": "value", + "source": "umi", + "specifiers": [ + { + "imported": "useNavigate", + "local": "useNavigate", + "type": "ImportSpecifier" + } + ], + "start": 42, + "type": "ImportDeclaration" + }, + { + "end": 224, + "importKind": "value", + "source": "antd", + "specifiers": [ + { + "imported": "Card", + "local": "Card", + "type": "ImportSpecifier" + }, + { + "imported": "Form", + "local": "Form", + "type": "ImportSpecifier" + }, + { + "imported": "Input", + "local": "Input", + "type": "ImportSpecifier" + }, + { + "imported": "Button", + "local": "Button", + "type": "ImportSpecifier" + }, + { + "imported": "Checkbox", + "local": "Checkbox", + "type": "ImportSpecifier" + }, + { + "imported": "Space", + "local": "Space", + "type": "ImportSpecifier" + }, + { + "imported": "Divider", + "local": "Divider", + "type": "ImportSpecifier" + }, + { + "imported": "Typography", + "local": "Typography", + "type": "ImportSpecifier" + }, + { + "imported": "Alert", + "local": "Alert", + "type": "ImportSpecifier" + }, + { + "imported": "message", + "local": "message", + "type": "ImportSpecifier" + }, + { + "imported": "Row", + "local": "Row", + "type": "ImportSpecifier" + }, + { + "imported": "Col", + "local": "Col", + "type": "ImportSpecifier" + }, + { + "imported": "Image", + "local": "Image", + "type": "ImportSpecifier" + } + ], + "start": 77, + "type": "ImportDeclaration" + }, + { + "end": 402, + "importKind": "value", + "source": "@ant-design/icons", + "specifiers": [ + { + "imported": "UserOutlined", + "local": "UserOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "LockOutlined", + "local": "LockOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "SafetyOutlined", + "local": "SafetyOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "EyeInvisibleOutlined", + "local": "EyeInvisibleOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "EyeTwoTone", + "local": "EyeTwoTone", + "type": "ImportSpecifier" + }, + { + "imported": "LoginOutlined", + "local": "LoginOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "GoogleOutlined", + "local": "GoogleOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "GithubOutlined", + "local": "GithubOutlined", + "type": "ImportSpecifier" + } + ], + "start": 225, + "type": "ImportDeclaration" + } + ], + "D:\\trae_projects\\makemd\\makemd\\dashboard\\src\\pages\\Auth\\RegisterPage.tsx": [ + { + "end": 41, + "importKind": "value", + "source": "react", + "specifiers": [ + { + "local": "React", + "type": "ImportDefaultSpecifier" + }, + { + "imported": "useState", + "local": "useState", + "type": "ImportSpecifier" + } + ], + "start": 1, + "type": "ImportDeclaration" + }, + { + "end": 199, + "importKind": "value", + "source": "antd", + "specifiers": [ + { + "imported": "Card", + "local": "Card", + "type": "ImportSpecifier" + }, + { + "imported": "Form", + "local": "Form", + "type": "ImportSpecifier" + }, + { + "imported": "Input", + "local": "Input", + "type": "ImportSpecifier" + }, + { + "imported": "Button", + "local": "Button", + "type": "ImportSpecifier" + }, + { + "imported": "Checkbox", + "local": "Checkbox", + "type": "ImportSpecifier" + }, + { + "imported": "Space", + "local": "Space", + "type": "ImportSpecifier" + }, + { + "imported": "Divider", + "local": "Divider", + "type": "ImportSpecifier" + }, + { + "imported": "Typography", + "local": "Typography", + "type": "ImportSpecifier" + }, + { + "imported": "Alert", + "local": "Alert", + "type": "ImportSpecifier" + }, + { + "imported": "message", + "local": "message", + "type": "ImportSpecifier" + }, + { + "imported": "Steps", + "local": "Steps", + "type": "ImportSpecifier" + }, + { + "imported": "Row", + "local": "Row", + "type": "ImportSpecifier" + }, + { + "imported": "Col", + "local": "Col", + "type": "ImportSpecifier" + }, + { + "imported": "Select", + "local": "Select", + "type": "ImportSpecifier" + } + ], + "start": 42, + "type": "ImportDeclaration" + }, + { + "end": 458, + "importKind": "value", + "source": "@ant-design/icons", + "specifiers": [ + { + "imported": "UserOutlined", + "local": "UserOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "LockOutlined", + "local": "LockOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "MailOutlined", + "local": "MailOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "SafetyOutlined", + "local": "SafetyOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "EyeInvisibleOutlined", + "local": "EyeInvisibleOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "EyeTwoTone", + "local": "EyeTwoTone", + "type": "ImportSpecifier" + }, + { + "imported": "UserAddOutlined", + "local": "UserAddOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "CheckCircleOutlined", + "local": "CheckCircleOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "ArrowLeftOutlined", + "local": "ArrowLeftOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "ArrowRightOutlined", + "local": "ArrowRightOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "BankOutlined", + "local": "BankOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "PhoneOutlined", + "local": "PhoneOutlined", + "type": "ImportSpecifier" + } + ], + "start": 200, + "type": "ImportDeclaration" + } + ], + "D:\\trae_projects\\makemd\\makemd\\dashboard\\src\\pages\\CaseStudy.tsx": [ + { + "end": 41, + "importKind": "value", + "source": "react", + "specifiers": [ + { + "local": "React", + "type": "ImportDefaultSpecifier" + }, + { + "imported": "useState", + "local": "useState", + "type": "ImportSpecifier" + } + ], + "start": 1, + "type": "ImportDeclaration" + }, + { + "end": 82, + "importKind": "value", + "source": "umi", + "specifiers": [ + { + "imported": "Link", + "local": "Link", + "type": "ImportSpecifier" + }, + { + "imported": "useNavigate", + "local": "useNavigate", + "type": "ImportSpecifier" + } + ], + "start": 42, + "type": "ImportDeclaration" + }, + { + "end": 168, + "importKind": "value", + "source": "antd", + "specifiers": [ + { + "imported": "Card", + "local": "Card", + "type": "ImportSpecifier" + }, + { + "imported": "Button", + "local": "Button", + "type": "ImportSpecifier" + }, + { + "imported": "Typography", + "local": "Typography", + "type": "ImportSpecifier" + }, + { + "imported": "Row", + "local": "Row", + "type": "ImportSpecifier" + }, + { + "imported": "Col", + "local": "Col", + "type": "ImportSpecifier" + }, + { + "imported": "Tag", + "local": "Tag", + "type": "ImportSpecifier" + }, + { + "imported": "Carousel", + "local": "Carousel", + "type": "ImportSpecifier" + }, + { + "imported": "Pagination", + "local": "Pagination", + "type": "ImportSpecifier" + } + ], + "start": 83, + "type": "ImportDeclaration" + }, + { + "end": 372, + "importKind": "value", + "source": "@ant-design/icons", + "specifiers": [ + { + "imported": "ArrowRightOutlined", + "local": "ArrowRightOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "CheckCircleOutlined", + "local": "CheckCircleOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "DollarOutlined", + "local": "DollarOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "BarChartOutlined", + "local": "BarChartOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "ZapOutlined", + "local": "ZapOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "GlobeOutlined", + "local": "GlobeOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "StarOutlined", + "local": "StarOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "UserOutlined", + "local": "UserOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "CompanyOutlined", + "local": "CompanyOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "TrendingUpOutlined", + "local": "TrendingUpOutlined", + "type": "ImportSpecifier" + } + ], + "start": 169, + "type": "ImportDeclaration" + }, + { + "end": 414, + "importKind": "value", + "source": "@/components/Navbar", + "specifiers": [ + { + "local": "Navbar", + "type": "ImportDefaultSpecifier" + } + ], + "start": 373, + "type": "ImportDeclaration" + } + ], + "D:\\trae_projects\\makemd\\makemd\\dashboard\\src\\pages\\Homepage.tsx": [ + { + "end": 52, + "importKind": "value", + "source": "react", + "specifiers": [ + { + "local": "React", + "type": "ImportDefaultSpecifier" + }, + { + "imported": "useState", + "local": "useState", + "type": "ImportSpecifier" + }, + { + "imported": "useEffect", + "local": "useEffect", + "type": "ImportSpecifier" + } + ], + "start": 1, + "type": "ImportDeclaration" + }, + { + "end": 106, + "importKind": "value", + "source": "react-router-dom", + "specifiers": [ + { + "imported": "Link", + "local": "Link", + "type": "ImportSpecifier" + }, + { + "imported": "useNavigate", + "local": "useNavigate", + "type": "ImportSpecifier" + } + ], + "start": 53, + "type": "ImportDeclaration" + }, + { + "end": 174, + "importKind": "value", + "source": "antd", + "specifiers": [ + { + "imported": "Button", + "local": "Button", + "type": "ImportSpecifier" + }, + { + "imported": "Typography", + "local": "Typography", + "type": "ImportSpecifier" + }, + { + "imported": "Row", + "local": "Row", + "type": "ImportSpecifier" + }, + { + "imported": "Col", + "local": "Col", + "type": "ImportSpecifier" + }, + { + "imported": "Card", + "local": "Card", + "type": "ImportSpecifier" + }, + { + "imported": "Divider", + "local": "Divider", + "type": "ImportSpecifier" + } + ], + "start": 107, + "type": "ImportDeclaration" + }, + { + "end": 327, + "importKind": "value", + "source": "@ant-design/icons", + "specifiers": [ + { + "imported": "ArrowRightOutlined", + "local": "ArrowRightOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "CheckCircleOutlined", + "local": "CheckCircleOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "MenuOutlined", + "local": "MenuOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "XOutlined", + "local": "XOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "TwitterOutlined", + "local": "TwitterOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "LinkedinOutlined", + "local": "LinkedinOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "GithubOutlined", + "local": "GithubOutlined", + "type": "ImportSpecifier" + } + ], + "start": 175, + "type": "ImportDeclaration" + }, + { + "end": 369, + "importKind": "value", + "source": "@/components/Navbar", + "specifiers": [ + { + "local": "Navbar", + "type": "ImportDefaultSpecifier" + } + ], + "start": 328, + "type": "ImportDeclaration" + } + ], + "D:\\trae_projects\\makemd\\makemd\\dashboard\\src\\pages\\OperationAgent.tsx": [ + { + "end": 52, + "importKind": "value", + "source": "react", + "specifiers": [ + { + "local": "React", + "type": "ImportDefaultSpecifier" + }, + { + "imported": "useState", + "local": "useState", + "type": "ImportSpecifier" + }, + { + "imported": "useEffect", + "local": "useEffect", + "type": "ImportSpecifier" + } + ], + "start": 1, + "type": "ImportDeclaration" + }, + { + "end": 167, + "importKind": "value", + "source": "antd", + "specifiers": [ + { + "imported": "Button", + "local": "Button", + "type": "ImportSpecifier" + }, + { + "imported": "Table", + "local": "Table", + "type": "ImportSpecifier" + }, + { + "imported": "Form", + "local": "Form", + "type": "ImportSpecifier" + }, + { + "imported": "Input", + "local": "Input", + "type": "ImportSpecifier" + }, + { + "imported": "Select", + "local": "Select", + "type": "ImportSpecifier" + }, + { + "imported": "Modal", + "local": "Modal", + "type": "ImportSpecifier" + }, + { + "imported": "message", + "local": "message", + "type": "ImportSpecifier" + }, + { + "imported": "Card", + "local": "Card", + "type": "ImportSpecifier" + }, + { + "imported": "Tabs", + "local": "Tabs", + "type": "ImportSpecifier" + }, + { + "imported": "Space", + "local": "Space", + "type": "ImportSpecifier" + }, + { + "imported": "Tag", + "local": "Tag", + "type": "ImportSpecifier" + }, + { + "imported": "Divider", + "local": "Divider", + "type": "ImportSpecifier" + }, + { + "imported": "Alert", + "local": "Alert", + "type": "ImportSpecifier" + } + ], + "start": 53, + "type": "ImportDeclaration" + }, + { + "end": 308, + "importKind": "value", + "source": "@ant-design/icons", + "specifiers": [ + { + "imported": "PlusOutlined", + "local": "PlusOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "SyncOutlined", + "local": "SyncOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "EditOutlined", + "local": "EditOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "DeleteOutlined", + "local": "DeleteOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "CheckOutlined", + "local": "CheckOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "CloseOutlined", + "local": "CloseOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "LoadingOutlined", + "local": "LoadingOutlined", + "type": "ImportSpecifier" + } + ], + "start": 168, + "type": "ImportDeclaration" + }, + { + "end": 408, + "importKind": "value", + "source": "../services/operationAgentService", + "specifiers": [ + { + "imported": "operationAgentService", + "local": "operationAgentService", + "type": "ImportSpecifier" + }, + { + "imported": "Store", + "local": "Store", + "type": "ImportSpecifier" + }, + { + "imported": "StoreBindingData", + "local": "StoreBindingData", + "type": "ImportSpecifier" + } + ], + "start": 309, + "type": "ImportDeclaration" + } + ], + "D:\\trae_projects\\makemd\\makemd\\dashboard\\src\\pages\\Pricing.tsx": [ + { + "end": 41, + "importKind": "value", + "source": "react", + "specifiers": [ + { + "local": "React", + "type": "ImportDefaultSpecifier" + }, + { + "imported": "useState", + "local": "useState", + "type": "ImportSpecifier" + } + ], + "start": 1, + "type": "ImportDeclaration" + }, + { + "end": 95, + "importKind": "value", + "source": "react-router-dom", + "specifiers": [ + { + "imported": "Link", + "local": "Link", + "type": "ImportSpecifier" + }, + { + "imported": "useNavigate", + "local": "useNavigate", + "type": "ImportSpecifier" + } + ], + "start": 42, + "type": "ImportDeclaration" + }, + { + "end": 182, + "importKind": "value", + "source": "antd", + "specifiers": [ + { + "imported": "Card", + "local": "Card", + "type": "ImportSpecifier" + }, + { + "imported": "Button", + "local": "Button", + "type": "ImportSpecifier" + }, + { + "imported": "Typography", + "local": "Typography", + "type": "ImportSpecifier" + }, + { + "imported": "Divider", + "local": "Divider", + "type": "ImportSpecifier" + }, + { + "imported": "Radio", + "local": "Radio", + "type": "ImportSpecifier" + }, + { + "imported": "Row", + "local": "Row", + "type": "ImportSpecifier" + }, + { + "imported": "Col", + "local": "Col", + "type": "ImportSpecifier" + }, + { + "imported": "Tag", + "local": "Tag", + "type": "ImportSpecifier" + }, + { + "imported": "Alert", + "local": "Alert", + "type": "ImportSpecifier" + } + ], + "start": 96, + "type": "ImportDeclaration" + }, + { + "end": 358, + "importKind": "value", + "source": "@ant-design/icons", + "specifiers": [ + { + "imported": "CheckCircleOutlined", + "local": "CheckCircleOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "CloseCircleOutlined", + "local": "CloseCircleOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "ArrowRightOutlined", + "local": "ArrowRightOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "DollarOutlined", + "local": "DollarOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "UserOutlined", + "local": "UserOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "BarChartOutlined", + "local": "BarChartOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "GlobalOutlined", + "local": "GlobalOutlined", + "type": "ImportSpecifier" + }, + { + "imported": "StarOutlined", + "local": "StarOutlined", + "type": "ImportSpecifier" + } + ], + "start": 183, + "type": "ImportDeclaration" + }, + { + "end": 400, + "importKind": "value", + "source": "@/components/Navbar", + "specifiers": [ + { + "local": "Navbar", + "type": "ImportDefaultSpecifier" + } + ], + "start": 359, + "type": "ImportDeclaration" + } + ], + "D:\\trae_projects\\makemd\\makemd\\dashboard\\src\\services\\http.ts": [ + { + "end": 27, + "importKind": "value", + "source": "axios", + "specifiers": [ + { + "local": "axios", + "type": "ImportDefaultSpecifier" + } + ], + "start": 1, + "type": "ImportDeclaration" + } + ], + "D:\\trae_projects\\makemd\\makemd\\dashboard\\src\\services\\operationAgentService.ts": [ + { + "end": 31, + "importKind": "value", + "source": "./http", + "specifiers": [ + { + "imported": "http", + "local": "http", + "type": "ImportSpecifier" + } + ], + "start": 1, + "type": "ImportDeclaration" + } + ] + } + } } diff --git a/dashboard/src/app.ts b/dashboard/src/app.ts index 66eb2e0..51f9cce 100644 --- a/dashboard/src/app.ts +++ b/dashboard/src/app.ts @@ -7,7 +7,7 @@ * @created 2026-03-19 */ -import { RuntimeConfig } from 'umi'; + /** * 应用启动时执行 diff --git a/dashboard/src/components/Navbar.tsx b/dashboard/src/components/Navbar.tsx index 67463d0..14158de 100644 --- a/dashboard/src/components/Navbar.tsx +++ b/dashboard/src/components/Navbar.tsx @@ -1,5 +1,5 @@ import React, { useState, useEffect } from 'react'; -import { Link, useNavigate } from 'umi'; +import { Link, useNavigate } from 'react-router-dom'; import { Button } from 'antd'; import { ArrowRightOutlined, MenuOutlined, XOutlined } from '@ant-design/icons'; @@ -45,10 +45,7 @@ const Navbar: React.FC = () => { fontWeight: '500', transition: 'all 0.3s ease', textDecoration: 'none', - position: 'relative', - '&:hover': { - color: '#1890ff', - } + position: 'relative' }}>首页 { + data: T[]; itemHeight: number; height: number; overscan?: number; - renderItem: (item: any, index: number) => React.ReactNode; - keyExtractor: (item: any) => string; + renderItem: (item: T, index: number) => React.ReactNode; + keyExtractor: (item: T) => string; } -export const VirtualList: React.FC = ({ +export function VirtualList({ data, itemHeight, height, overscan = 5, renderItem, keyExtractor, -}) => { +}: VirtualListProps) { const [scrollTop, setScrollTop] = useState(0); const containerRef = useRef(null); @@ -52,6 +52,6 @@ export const VirtualList: React.FC = ({ ); -}; +} export default VirtualList; \ No newline at end of file diff --git a/dashboard/src/layouts/index.tsx b/dashboard/src/layouts/index.tsx index a820b07..04ad4b2 100644 --- a/dashboard/src/layouts/index.tsx +++ b/dashboard/src/layouts/index.tsx @@ -27,13 +27,22 @@ import { SwapOutlined, ThunderboltOutlined, } from '@ant-design/icons'; -import { Link, useLocation, history, Outlet } from 'umi'; +import { Link, useLocation, useNavigate, Outlet } from 'react-router-dom'; const { Header, Sider, Content } = Layout; const { Title, Text } = Typography; +// 菜单项类型定义 +interface MenuItem { + key: string; + icon?: React.ReactNode; + label: React.ReactNode; + children?: MenuItem[]; + type?: 'divider'; +} + // 菜单项配置 -const menuItems = [ +const menuItems: MenuItem[] = [ // 核心业务 { key: 'core', @@ -175,7 +184,7 @@ const menuItems = [ ]; // 用户菜单项 -const userMenuItems = [ +const userMenuItems: MenuItem[] = [ { key: 'profile', label: '个人中心', @@ -195,6 +204,7 @@ const userMenuItems = [ const MainLayout: React.FC = () => { const location = useLocation(); + const navigate = useNavigate(); const [collapsed, setCollapsed] = useState(false); const [selectedKeys, setSelectedKeys] = useState(['/']); @@ -205,17 +215,19 @@ const MainLayout: React.FC = () => { let matchedKey: string | undefined; // 递归查找匹配的菜单项 - const findMatchedItem = (items: any[]) => { + const findMatchedItem = (items: MenuItem[]): boolean => { for (const item of items) { + if (item.type === 'divider') continue; if (item.children) { // 检查子菜单项 for (const child of item.children) { + if (child.type === 'divider') continue; if (child.key === '/') { if (pathname === '/') { matchedKey = child.key; return true; } - } else if (pathname.startsWith(child.key as string)) { + } else if (pathname.startsWith(child.key)) { matchedKey = child.key; return true; } @@ -231,7 +243,7 @@ const MainLayout: React.FC = () => { matchedKey = item.key; return true; } - } else if (pathname.startsWith(item.key as string)) { + } else if (pathname.startsWith(item.key)) { matchedKey = item.key; return true; } @@ -265,11 +277,11 @@ const MainLayout: React.FC = () => { if (key === 'logout') { // 处理登出逻辑 localStorage.removeItem('token'); - history.push('/Auth/LoginPage'); + navigate('/Auth/LoginPage'); } else if (key === 'profile') { - history.push('/Settings/ProfileSettings'); + navigate('/Settings/ProfileSettings'); } else if (key === 'settings') { - history.push('/Settings'); + navigate('/Settings'); } }; diff --git a/dashboard/src/mock/data/productSelection.mock.ts b/dashboard/src/mock/data/productSelection.mock.ts index 81950fe..2e9e03a 100644 --- a/dashboard/src/mock/data/productSelection.mock.ts +++ b/dashboard/src/mock/data/productSelection.mock.ts @@ -1,407 +1,336 @@ -/** - * [MOCK] 自动选品Mock数据 - * AI注意: 这是Mock数据,不是真实业务数据 - * - * @module mock/data/productSelection.mock - * @author AI-Frontend-33 - * @created 2026-03-20 - */ +// [MOCK] 产品选择模拟数据 +import { ProductSelection } from '@/types/productSelection'; +// 扩展类型定义 export interface ProductPool { id: string; - tenant_id: string; - shop_id: string; - product_id: string; name: string; category: string; - price: number; - cost_price: number; - profit: number; + platform: string; roi: number; - sales_volume: number; - rating: number; - review_count: number; + selection_score: number; competition_level: 'LOW' | 'MEDIUM' | 'HIGH'; trend: 'UP' | 'DOWN' | 'STABLE'; - source_platform: string; - image_url: string; - selection_score: number; - tags: string[]; selected_at?: string; + image_url?: string; + product_id?: string; + tags?: string[]; + price?: number; + cost_price?: number; + profit?: number; + sales_volume?: number; + rating?: number; + review_count?: number; + source_platform?: string; } export interface SelectionRule { id: string; - tenant_id: string; - shop_id: string; name: string; - category: string[]; - min_roi: number; - max_roi: number; - min_profit: number; - max_price: number; - min_sales_volume: number; - max_competition_level: 'LOW' | 'MEDIUM' | 'HIGH'; - min_rating: number; - trend_filter: 'ALL' | 'UP' | 'STABLE'; + description: string; + criteria: any; enabled: boolean; - last_run_at?: string; selected_count: number; + last_run_at?: string; } export interface ListingTask { id: string; - tenant_id: string; - shop_id: string; product_id: string; - product_name: string; - target_platforms: string[]; status: 'PENDING' | 'PROCESSING' | 'COMPLETED' | 'FAILED'; progress: number; - error_message?: string; created_at: string; - completed_at?: string; + updated_at: string; } export interface AutoListingConfig { - id: string; - tenant_id: string; - shop_id: string; enabled: boolean; - batch_size: number; - interval_hours: number; - target_platforms: string[]; - auto_pricing: boolean; - auto_inventory: boolean; - auto_description: boolean; - auto_images: boolean; + max_tasks_per_day: number; + min_roi: number; + max_competition: 'LOW' | 'MEDIUM' | 'HIGH'; + categories: string[]; + batch_size?: number; + interval_hours?: number; + target_platforms?: string[]; + auto_pricing?: boolean; + auto_inventory?: boolean; + auto_description?: boolean; + auto_images?: boolean; } -export const MOCK_CATEGORIES = ['工业自动化', '电子元器件', '工具设备', '仪器仪表', '安防设备']; - -export const MOCK_PLATFORMS = ['Amazon', 'eBay', 'Shopee', 'TikTok', 'Shopify']; +// 常量 +export const MOCK_CATEGORIES = ['electronics', 'home', 'fashion', 'beauty', 'sports']; +export const MOCK_PLATFORMS = ['Amazon', 'eBay', 'AliExpress', 'Wish', 'Shopee']; +// 模拟数据 export const mockProductPool: ProductPool[] = [ { id: '1', - tenant_id: 'tenant-001', - shop_id: 'shop-001', - product_id: 'P-TEMP-001', - name: '工业温度传感器 Pro', - category: '工业自动化', - price: 89.99, - cost_price: 45.00, - profit: 44.99, - roi: 99.98, - sales_volume: 1250, - rating: 4.8, - review_count: 342, - competition_level: 'LOW', + name: 'Smartphone X', + category: 'electronics', + platform: 'Amazon', + roi: 35.5, + selection_score: 9.2, + competition_level: 'MEDIUM', trend: 'UP', - source_platform: 'Amazon', - image_url: 'https://via.placeholder.com/80x80?text=Product', - selection_score: 95, - tags: ['高ROI', '低竞争', '上升趋势'], + selected_at: new Date().toISOString() }, { id: '2', - tenant_id: 'tenant-001', - shop_id: 'shop-001', - product_id: 'P-PRES-002', - name: '压力传感器 Digital', - category: '工业自动化', - price: 129.99, - cost_price: 65.00, - profit: 64.99, - roi: 99.98, - sales_volume: 890, - rating: 4.6, - review_count: 256, - competition_level: 'MEDIUM', - trend: 'UP', - source_platform: 'Amazon', - image_url: 'https://via.placeholder.com/80x80?text=Product', - selection_score: 88, - tags: ['高ROI', '上升趋势'], + name: 'Wireless Earbuds', + category: 'electronics', + platform: 'eBay', + roi: 42.1, + selection_score: 8.7, + competition_level: 'LOW', + trend: 'UP' }, { id: '3', - tenant_id: 'tenant-001', - shop_id: 'shop-001', - product_id: 'P-FLOW-003', - name: '流量计 Ultra', - category: '仪器仪表', - price: 299.99, - cost_price: 150.00, - profit: 149.99, - roi: 99.99, - sales_volume: 456, - rating: 4.9, - review_count: 189, - competition_level: 'LOW', - trend: 'STABLE', - source_platform: 'eBay', - image_url: 'https://via.placeholder.com/80x80?text=Product', - selection_score: 92, - tags: ['高ROI', '低竞争', '高评分'], - }, - { - id: '4', - tenant_id: 'tenant-001', - shop_id: 'shop-001', - product_id: 'P-SENS-004', - name: '智能传感器套件', - category: '电子元器件', - price: 199.99, - cost_price: 120.00, - profit: 79.99, - roi: 66.66, - sales_volume: 678, - rating: 4.5, - review_count: 145, - competition_level: 'MEDIUM', - trend: 'UP', - source_platform: 'Shopee', - image_url: 'https://via.placeholder.com/80x80?text=Product', - selection_score: 85, - tags: ['上升趋势'], - }, - { - id: '5', - tenant_id: 'tenant-001', - shop_id: 'shop-001', - product_id: 'P-CTRL-005', - name: 'PLC控制器 Industrial', - category: '工业自动化', - price: 499.99, - cost_price: 280.00, - profit: 219.99, - roi: 78.57, - sales_volume: 234, - rating: 4.7, - review_count: 98, + name: 'Fitness Tracker', + category: 'sports', + platform: 'AliExpress', + roi: 28.3, + selection_score: 7.9, competition_level: 'HIGH', - trend: 'STABLE', - source_platform: 'Amazon', - image_url: 'https://via.placeholder.com/80x80?text=Product', - selection_score: 78, - tags: ['高利润'], - }, + trend: 'STABLE' + } ]; export const mockSelectionRules: SelectionRule[] = [ { id: '1', - tenant_id: 'tenant-001', - shop_id: 'shop-001', - name: '高ROI低竞争策略', - category: ['工业自动化', '仪器仪表'], - min_roi: 80, - max_roi: 150, - min_profit: 40, - max_price: 500, - min_sales_volume: 500, - max_competition_level: 'MEDIUM', - min_rating: 4.5, - trend_filter: 'UP', + name: '高ROI产品', + description: 'ROI大于30%的产品', + criteria: { min_roi: 30 }, enabled: true, - last_run_at: '2026-03-19 14:30:00', - selected_count: 156, + selected_count: 15, + last_run_at: new Date().toISOString() }, { id: '2', - tenant_id: 'tenant-001', - shop_id: 'shop-001', - name: '稳定增长策略', - category: ['电子元器件', '工具设备'], - min_roi: 60, - max_roi: 100, - min_profit: 30, - max_price: 300, - min_sales_volume: 800, - max_competition_level: 'HIGH', - min_rating: 4.6, - trend_filter: 'STABLE', - enabled: true, - last_run_at: '2026-03-19 10:15:00', - selected_count: 234, - }, + name: '低竞争产品', + description: '竞争度低的产品', + criteria: { competition_level: 'LOW' }, + enabled: false, + selected_count: 8 + } ]; export const mockListingTasks: ListingTask[] = [ { id: '1', - tenant_id: 'tenant-001', - shop_id: 'shop-001', - product_id: 'P-TEMP-001', - product_name: '工业温度传感器 Pro', - target_platforms: ['Amazon', 'eBay'], + product_id: '1', status: 'COMPLETED', progress: 100, - created_at: '2026-03-19 15:00:00', - completed_at: '2026-03-19 15:05:00', + created_at: new Date().toISOString(), + updated_at: new Date().toISOString() }, { id: '2', - tenant_id: 'tenant-001', - shop_id: 'shop-001', - product_id: 'P-PRES-002', - product_name: '压力传感器 Digital', - target_platforms: ['Amazon', 'Shopee'], - status: 'PROCESSING', - progress: 65, - created_at: '2026-03-19 15:10:00', - }, - { - id: '3', - tenant_id: 'tenant-001', - shop_id: 'shop-001', - product_id: 'P-FLOW-003', - product_name: '流量计 Ultra', - target_platforms: ['eBay'], + product_id: '2', status: 'PENDING', progress: 0, - created_at: '2026-03-19 15:15:00', - }, + created_at: new Date().toISOString(), + updated_at: new Date().toISOString() + } ]; export const mockAutoListingConfig: AutoListingConfig = { - id: '1', - tenant_id: 'tenant-001', - shop_id: 'shop-001', enabled: true, - batch_size: 10, - interval_hours: 6, - target_platforms: ['Amazon', 'eBay'], - auto_pricing: true, - auto_inventory: true, - auto_description: true, - auto_images: true, + max_tasks_per_day: 50, + min_roi: 25, + max_competition: 'MEDIUM', + categories: ['electronics', 'home'] }; -export function getMockProductPool(params?: { - category?: string; - min_roi?: number; - max_roi?: number; - competition_level?: string; - trend?: string; - keyword?: string; -}): ProductPool[] { +// 模拟函数 +export const getMockProductPool = (params?: any): ProductPool[] => { let result = [...mockProductPool]; + if (params) { + if (params.category) { + result = result.filter(p => p.category === params.category); + } + if (params.min_roi) { + result = result.filter(p => p.roi >= params.min_roi); + } + if (params.max_roi) { + result = result.filter(p => p.roi <= params.max_roi); + } + if (params.competition_level) { + result = result.filter(p => p.competition_level === params.competition_level); + } + if (params.trend) { + result = result.filter(p => p.trend === params.trend); + } + if (params.keyword) { + const keyword = params.keyword.toLowerCase(); + result = result.filter(p => p.name.toLowerCase().includes(keyword)); + } + } + return result; +}; - if (params?.category) { - result = result.filter(item => item.category === params.category); - } - if (params?.min_roi) { - result = result.filter(item => item.roi >= params.min_roi!); - } - if (params?.max_roi) { - result = result.filter(item => item.roi <= params.max_roi!); - } - if (params?.competition_level) { - result = result.filter(item => item.competition_level === params.competition_level); - } - if (params?.trend) { - result = result.filter(item => item.trend === params.trend); - } - if (params?.keyword) { - const keyword = params.keyword.toLowerCase(); - result = result.filter(item => - item.name.toLowerCase().includes(keyword) || - item.product_id.toLowerCase().includes(keyword) - ); - } - - return result.sort((a, b) => b.selection_score - a.selection_score); -} - -export function getMockSelectionRules(enabled?: boolean): SelectionRule[] { - let result = [...mockSelectionRules]; +export const getMockSelectionRules = (enabled?: boolean): SelectionRule[] => { if (enabled !== undefined) { - result = result.filter(item => item.enabled === enabled); + return mockSelectionRules.filter(rule => rule.enabled === enabled); } - return result; -} + return [...mockSelectionRules]; +}; -export function getMockListingTasks(status?: string): ListingTask[] { - let result = [...mockListingTasks]; +export const getMockListingTasks = (status?: string): ListingTask[] => { if (status) { - result = result.filter(item => item.status === status); + return mockListingTasks.filter(task => task.status === status); } - return result; -} + return [...mockListingTasks]; +}; -export function createMockSelectionRule(data: Partial): SelectionRule { +export const createMockSelectionRule = (data: Partial): SelectionRule => { const newRule: SelectionRule = { - id: `${Date.now()}`, - tenant_id: 'tenant-001', - shop_id: 'shop-001', + id: `NEW-${Date.now()}`, name: data.name || '新规则', - category: data.category || [], - min_roi: data.min_roi || 0, - max_roi: data.max_roi || 100, - min_profit: data.min_profit || 0, - max_price: data.max_price || 1000, - min_sales_volume: data.min_sales_volume || 0, - max_competition_level: data.max_competition_level || 'HIGH', - min_rating: data.min_rating || 0, - trend_filter: data.trend_filter || 'ALL', - enabled: true, - selected_count: 0, + description: data.description || '', + criteria: data.criteria || {}, + enabled: data.enabled ?? true, + selected_count: 0 }; mockSelectionRules.push(newRule); return newRule; -} +}; -export function updateMockSelectionRule(id: string, data: Partial): SelectionRule | null { - const index = mockSelectionRules.findIndex(item => item.id === id); - if (index === -1) return null; - mockSelectionRules[index] = { ...mockSelectionRules[index], ...data }; +export const updateMockSelectionRule = (id: string, data: Partial): SelectionRule | undefined => { + const index = mockSelectionRules.findIndex(rule => rule.id === id); + if (index === -1) return undefined; + + mockSelectionRules[index] = { + ...mockSelectionRules[index], + ...data + }; return mockSelectionRules[index]; -} +}; -export function deleteMockSelectionRule(id: string): boolean { - const index = mockSelectionRules.findIndex(item => item.id === id); - if (index === -1) return false; - mockSelectionRules.splice(index, 1); - return true; -} +export const deleteMockSelectionRule = (id: string): void => { + const index = mockSelectionRules.findIndex(rule => rule.id === id); + if (index !== -1) { + mockSelectionRules.splice(index, 1); + } +}; -export function createMockListingTask(data: Partial): ListingTask { +export const createMockListingTask = (data: Partial): ListingTask => { const newTask: ListingTask = { - id: `${Date.now()}`, - tenant_id: 'tenant-001', - shop_id: 'shop-001', + id: `NEW-${Date.now()}`, product_id: data.product_id || '', - product_name: data.product_name || '', - target_platforms: data.target_platforms || [], status: 'PENDING', progress: 0, - created_at: new Date().toISOString().replace('T', ' ').slice(0, 19), + created_at: new Date().toISOString(), + updated_at: new Date().toISOString() }; - mockListingTasks.unshift(newTask); + mockListingTasks.push(newTask); return newTask; -} +}; -export function updateMockListingTask(id: string, data: Partial): ListingTask | null { - const index = mockListingTasks.findIndex(item => item.id === id); - if (index === -1) return null; - mockListingTasks[index] = { ...mockListingTasks[index], ...data }; +export const updateMockListingTask = (id: string, data: Partial): ListingTask | undefined => { + const index = mockListingTasks.findIndex(task => task.id === id); + if (index === -1) return undefined; + + mockListingTasks[index] = { + ...mockListingTasks[index], + ...data, + updated_at: new Date().toISOString() + }; return mockListingTasks[index]; -} +}; -export function deleteMockListingTask(id: string): boolean { - const index = mockListingTasks.findIndex(item => item.id === id); - if (index === -1) return false; - mockListingTasks.splice(index, 1); - return true; -} +export const deleteMockListingTask = (id: string): void => { + const index = mockListingTasks.findIndex(task => task.id === id); + if (index !== -1) { + mockListingTasks.splice(index, 1); + } +}; -export function getMockAutoListingConfig(): AutoListingConfig { +export const getMockAutoListingConfig = (): AutoListingConfig => { return { ...mockAutoListingConfig }; -} +}; -export function updateMockAutoListingConfig(data: Partial): AutoListingConfig { +export const updateMockAutoListingConfig = (data: Partial): AutoListingConfig => { Object.assign(mockAutoListingConfig, data); - return { ...mockAutoListingConfig }; -} + return mockAutoListingConfig; +}; + +// 原有导出保持不变 +export const mockProductSelections: ProductSelection[] = [ + { + id: '1', + name: '热销产品组合', + description: '基于市场热度选择的产品组合', + products: ['PROD001', 'PROD002', 'PROD003'], + criteria: { + minSales: 100, + maxPrice: 500, + categories: ['electronics', 'home'], + }, + createdAt: new Date('2024-01-01').toISOString(), + updatedAt: new Date('2024-01-01').toISOString(), + }, + { + id: '2', + name: '高利润产品', + description: '利润率高于30%的产品', + products: ['PROD004', 'PROD005'], + criteria: { + minProfitMargin: 30, + categories: ['electronics'], + }, + createdAt: new Date('2024-01-02').toISOString(), + updatedAt: new Date('2024-01-02').toISOString(), + }, + { + id: '3', + name: '新品推荐', + description: '最近30天内上架的产品', + products: ['PROD006', 'PROD007', 'PROD008'], + criteria: { + maxDaysSinceAdded: 30, + categories: ['fashion', 'beauty'], + }, + createdAt: new Date('2024-01-03').toISOString(), + updatedAt: new Date('2024-01-03').toISOString(), + }, +]; + +export const mockProductSelectionDetail = (id: string): ProductSelection | undefined => { + return mockProductSelections.find(item => item.id === id); +}; + +export const mockCreateProductSelection = (data: Partial): ProductSelection => { + const newItem: ProductSelection = { + id: `NEW-${Date.now()}`, + name: data.name || '新选择', + description: data.description || '', + products: data.products || [], + criteria: data.criteria || {}, + createdAt: new Date().toISOString(), + updatedAt: new Date().toISOString(), + }; + mockProductSelections.push(newItem); + return newItem; +}; + +export const mockUpdateProductSelection = (id: string, data: Partial): ProductSelection | undefined => { + const index = mockProductSelections.findIndex(item => item.id === id); + if (index === -1) return undefined; + + mockProductSelections[index] = { + ...mockProductSelections[index], + ...data, + updatedAt: new Date().toISOString(), + }; + return mockProductSelections[index]; +}; + +export const mockDeleteProductSelection = (id: string): boolean => { + const index = mockProductSelections.findIndex(item => item.id === id); + if (index === -1) return false; + mockProductSelections.splice(index, 1); + return true; +}; \ No newline at end of file diff --git a/dashboard/src/models/StateManagement.ts b/dashboard/src/models/StateManagement.ts index 382c2e0..6ab8ee9 100644 --- a/dashboard/src/models/StateManagement.ts +++ b/dashboard/src/models/StateManagement.ts @@ -1,37 +1,37 @@ // FE-OP002: 前端状态管理优化 -import { createStore, combineReducers, applyMiddleware } from 'redux'; -import thunk from 'redux-thunk'; -import { createLogger } from 'redux-logger'; +// 使用umi的model格式 -// 定义状态类型 -interface AppState { - user: UserState; - products: ProductState; - orders: OrderState; - loading: boolean; - error: string | null; -} - -interface UserState { +export interface UserState { isLoggedIn: boolean; userInfo: any; token: string | null; } -interface ProductState { +export interface ProductState { list: any[]; selected: any | null; loading: boolean; } -interface OrderState { +export interface OrderState { list: any[]; selected: any | null; loading: boolean; } -// 定义初始状态 -const initialState: AppState = { +export interface AppState { + loading: boolean; + error: string | null; +} + +interface State { + user: UserState; + products: ProductState; + orders: OrderState; + app: AppState; +} + +const initialState: State = { user: { isLoggedIn: false, userInfo: null, @@ -47,150 +47,125 @@ const initialState: AppState = { selected: null, loading: false, }, - loading: false, - error: null, + app: { + loading: false, + error: null, + }, }; -// 定义action类型 -const SET_LOADING = 'SET_LOADING'; -const SET_ERROR = 'SET_ERROR'; -const CLEAR_ERROR = 'CLEAR_ERROR'; - -// User actions -const SET_USER = 'SET_USER'; -const LOGOUT = 'LOGOUT'; - -// Product actions -const SET_PRODUCTS = 'SET_PRODUCTS'; -const SET_SELECTED_PRODUCT = 'SET_SELECTED_PRODUCT'; -const SET_PRODUCTS_LOADING = 'SET_PRODUCTS_LOADING'; - -// Order actions -const SET_ORDERS = 'SET_ORDERS'; -const SET_SELECTED_ORDER = 'SET_SELECTED_ORDER'; -const SET_ORDERS_LOADING = 'SET_ORDERS_LOADING'; - -// Action creators -export const setLoading = (loading: boolean) => ({ type: SET_LOADING, payload: loading }); -export const setError = (error: string) => ({ type: SET_ERROR, payload: error }); -export const clearError = () => ({ type: CLEAR_ERROR }); - -// User action creators -export const setUser = (userInfo: any, token: string) => ({ type: SET_USER, payload: { userInfo, token } }); -export const logout = () => ({ type: LOGOUT }); - -// Product action creators -export const setProducts = (products: any[]) => ({ type: SET_PRODUCTS, payload: products }); -export const setSelectedProduct = (product: any | null) => ({ type: SET_SELECTED_PRODUCT, payload: product }); -export const setProductsLoading = (loading: boolean) => ({ type: SET_PRODUCTS_LOADING, payload: loading }); - -// Order action creators -export const setOrders = (orders: any[]) => ({ type: SET_ORDERS, payload: orders }); -export const setSelectedOrder = (order: any | null) => ({ type: SET_SELECTED_ORDER, payload: order }); -export const setOrdersLoading = (loading: boolean) => ({ type: SET_ORDERS_LOADING, payload: loading }); - -// Reducers -const userReducer = (state = initialState.user, action: any) => { - switch (action.type) { - case SET_USER: +export default { + namespace: 'global', + state: initialState, + reducers: { + // User reducers + setUser(state: State, { payload }: { payload: { userInfo: any; token: string } }) { return { ...state, - isLoggedIn: true, - userInfo: action.payload.userInfo, - token: action.payload.token, + user: { + isLoggedIn: true, + userInfo: payload.userInfo, + token: payload.token, + }, }; - case LOGOUT: - return initialState.user; - default: - return state; - } + }, + logout(state: State) { + return { + ...state, + user: initialState.user, + }; + }, + + // Product reducers + setProducts(state: State, { payload }: { payload: any[] }) { + return { + ...state, + products: { + ...state.products, + list: payload, + }, + }; + }, + setSelectedProduct(state: State, { payload }: { payload: any | null }) { + return { + ...state, + products: { + ...state.products, + selected: payload, + }, + }; + }, + setProductsLoading(state: State, { payload }: { payload: boolean }) { + return { + ...state, + products: { + ...state.products, + loading: payload, + }, + }; + }, + + // Order reducers + setOrders(state: State, { payload }: { payload: any[] }) { + return { + ...state, + orders: { + ...state.orders, + list: payload, + }, + }; + }, + setSelectedOrder(state: State, { payload }: { payload: any | null }) { + return { + ...state, + orders: { + ...state.orders, + selected: payload, + }, + }; + }, + setOrdersLoading(state: State, { payload }: { payload: boolean }) { + return { + ...state, + orders: { + ...state.orders, + loading: payload, + }, + }; + }, + + // App reducers + setLoading(state: State, { payload }: { payload: boolean }) { + return { + ...state, + app: { + ...state.app, + loading: payload, + }, + }; + }, + setError(state: State, { payload }: { payload: string | null }) { + return { + ...state, + app: { + ...state.app, + error: payload, + }, + }; + }, + clearError(state: State) { + return { + ...state, + app: { + ...state.app, + error: null, + }, + }; + }, + }, + effects: { + // 可以在这里添加异步操作 + }, + subscriptions: { + // 可以在这里添加订阅 + }, }; - -const productsReducer = (state = initialState.products, action: any) => { - switch (action.type) { - case SET_PRODUCTS: - return { - ...state, - list: action.payload, - }; - case SET_SELECTED_PRODUCT: - return { - ...state, - selected: action.payload, - }; - case SET_PRODUCTS_LOADING: - return { - ...state, - loading: action.payload, - }; - default: - return state; - } -}; - -const ordersReducer = (state = initialState.orders, action: any) => { - switch (action.type) { - case SET_ORDERS: - return { - ...state, - list: action.payload, - }; - case SET_SELECTED_ORDER: - return { - ...state, - selected: action.payload, - }; - case SET_ORDERS_LOADING: - return { - ...state, - loading: action.payload, - }; - default: - return state; - } -}; - -const appReducer = (state = initialState, action: any) => { - switch (action.type) { - case SET_LOADING: - return { - ...state, - loading: action.payload, - }; - case SET_ERROR: - return { - ...state, - error: action.payload, - }; - case CLEAR_ERROR: - return { - ...state, - error: null, - }; - default: - return state; - } -}; - -// 组合reducers -const rootReducer = combineReducers({ - user: userReducer, - products: productsReducer, - orders: ordersReducer, - app: appReducer, -}); - -// 中间件 -const middleware = [thunk]; - -// 开发环境添加logger -if (process.env.NODE_ENV === 'development') { - const logger = createLogger(); - middleware.push(logger); -} - -// 创建store -const store = createStore(rootReducer, applyMiddleware(...middleware)); - -export type RootState = ReturnType; -export default store; diff --git a/dashboard/src/pages/Ad/AIOptimization/index.tsx b/dashboard/src/pages/Ad/AIOptimization/index.tsx index d4acc49..cb54572 100644 --- a/dashboard/src/pages/Ad/AIOptimization/index.tsx +++ b/dashboard/src/pages/Ad/AIOptimization/index.tsx @@ -2,13 +2,24 @@ import React, { useState } from 'react'; import { Card, Typography, Row, Col, Form, Input, Select, Button, Table, Statistic, Spin, message, Alert } from 'antd'; import { LineChart, Line, BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer, PieChart, Pie, Cell } from 'recharts'; import { RocketOutlined, SaveOutlined, BarChartOutlined, TargetOutlined, ReloadOutlined } from '@ant-design/icons'; -import { Link } from 'umi'; +import { Link } from 'react-router-dom'; import { adOptimizationDataSource, OptimizationSuggestion, AdPerformance } from '@/services/adOptimizationDataSource'; const { Title, Text, Paragraph } = Typography; const { Option } = Select; const { Item } = Form; +// Mock数据 +const mockAdPerformance = [ + { id: '1', date: '2026-03-12', clicks: 1200, conversions: 120, spend: 1800, roi: 3.2 }, + { id: '2', date: '2026-03-13', clicks: 1300, conversions: 135, spend: 1950, roi: 3.4 }, + { id: '3', date: '2026-03-14', clicks: 1100, conversions: 105, spend: 1650, roi: 3.1 }, + { id: '4', date: '2026-03-15', clicks: 1400, conversions: 150, spend: 2100, roi: 3.3 }, + { id: '5', date: '2026-03-16', clicks: 1500, conversions: 165, spend: 2250, roi: 3.5 }, + { id: '6', date: '2026-03-17', clicks: 1600, conversions: 180, spend: 2400, roi: 3.6 }, + { id: '7', date: '2026-03-18', clicks: 1700, conversions: 195, spend: 2550, roi: 3.8 }, +]; + const AIOptimization: React.FC = () => { const [loading, setLoading] = useState(false); const [optimizationSuggestions, setOptimizationSuggestions] = useState([]); diff --git a/dashboard/src/pages/AutoProductSelection/index.tsx b/dashboard/src/pages/AutoProductSelection/index.tsx index c288908..2cee4f6 100644 --- a/dashboard/src/pages/AutoProductSelection/index.tsx +++ b/dashboard/src/pages/AutoProductSelection/index.tsx @@ -22,6 +22,7 @@ import { Switch, Form, Modal, + Drawer, message, Tooltip, Badge, @@ -55,7 +56,7 @@ import { DeleteOutlined, SyncOutlined, BarChartOutlined, - TrendingUpOutlined, + WarningOutlined, FireOutlined, RobotOutlined, AlertOutlined, @@ -81,7 +82,7 @@ const { Title, Text } = Typography; const { TabPane } = Tabs; const { Option } = Select; -const COMPETITION_CONFIG = { +const COMPETITION_CONFIG: { [key: string]: { color: string; text: string } } = { LOW: { color: 'success', text: '低' }, MEDIUM: { color: 'warning', text: '中' }, HIGH: { color: 'error', text: '高' }, diff --git a/dashboard/src/pages/Blacklist/BlacklistManage.tsx b/dashboard/src/pages/Blacklist/BlacklistManage.tsx index 8badfa0..d95da73 100644 --- a/dashboard/src/pages/Blacklist/BlacklistManage.tsx +++ b/dashboard/src/pages/Blacklist/BlacklistManage.tsx @@ -96,6 +96,7 @@ const MOCK_BLACKLISTS: BlacklistRecord[] = [ id: '1', tenant_id: 'tenant-001', shop_id: 'shop-001', + business_type: 'TOC', buyer_id: 'buyer-001', buyer_name: 'John Smith', buyer_email: 'john.smith@example.com', @@ -118,6 +119,7 @@ const MOCK_BLACKLISTS: BlacklistRecord[] = [ id: '2', tenant_id: 'tenant-001', shop_id: 'shop-001', + business_type: 'TOC', buyer_id: 'buyer-002', buyer_name: 'Jane Doe', buyer_email: 'jane.doe@example.com', @@ -139,6 +141,7 @@ const MOCK_BLACKLISTS: BlacklistRecord[] = [ id: '3', tenant_id: 'tenant-001', shop_id: 'shop-001', + business_type: 'TOC', buyer_id: 'buyer-003', buyer_name: 'Mike Johnson', buyer_email: 'mike.j@example.com', @@ -160,6 +163,7 @@ const MOCK_BLACKLISTS: BlacklistRecord[] = [ id: '4', tenant_id: 'tenant-001', shop_id: 'shop-001', + business_type: 'TOC', buyer_id: 'buyer-004', buyer_name: 'Sarah Wilson', buyer_email: 'sarah.w@example.com', @@ -213,6 +217,7 @@ const BlacklistManage: React.FC = () => { id: `${Date.now()}`, tenant_id: 'tenant-001', shop_id: 'shop-001', + business_type: 'TOC', buyer_id: `buyer-${Date.now()}`, buyer_name: values.buyer_name, buyer_email: values.buyer_email, diff --git a/dashboard/src/pages/Blacklist/RiskMonitor.tsx b/dashboard/src/pages/Blacklist/RiskMonitor.tsx index f4fb3e9..374c26e 100644 --- a/dashboard/src/pages/Blacklist/RiskMonitor.tsx +++ b/dashboard/src/pages/Blacklist/RiskMonitor.tsx @@ -104,90 +104,67 @@ const PLATFORMS = [ const MOCK_ASSESSMENTS: RiskAssessment[] = [ { id: '1', - tenant_id: 'tenant-001', - shop_id: 'shop-001', - buyer_id: 'buyer-001', - platform: 'Amazon', - platform_buyer_id: 'AMZ-001', - risk_score: 85, - risk_level: 'CRITICAL', - risk_factors: ['High return rate', 'Multiple chargebacks', 'Suspicious activity'], - recommendations: ['Block buyer immediately', 'Add to blacklist', 'Review all past transactions'], - is_blacklisted: true, - blacklist_reasons: ['Fraudulent transactions'], - confidence_score: 85, - assessment_reason: 'New order received', - assessment_date: '2026-03-18 10:30:00', - created_at: '2026-03-18 10:30:00', + orderId: 'ORD-2026-001', + customerId: 'CUST-001', + customerName: 'Suspicious Customer', + riskScore: 85, + riskLevel: 'HIGH', + riskFactors: ['新账户', '高额订单', '异常地址'], + status: 'PENDING', + createdAt: '2026-03-15', + updatedAt: '2026-03-15', }, { id: '2', - tenant_id: 'tenant-001', - shop_id: 'shop-001', - buyer_id: 'buyer-002', - platform: 'eBay', - platform_buyer_id: 'EBAY-002', - risk_score: 72, - risk_level: 'HIGH', - risk_factors: ['High return rate', 'New account'], - recommendations: ['Place order on hold', 'Request additional verification', 'Limit order amount'], - is_blacklisted: false, - confidence_score: 78, - assessment_reason: 'New order received', - assessment_date: '2026-03-18 11:15:00', - created_at: '2026-03-18 11:15:00', + orderId: 'ORD-2026-002', + customerId: 'CUST-002', + customerName: 'John Doe', + riskScore: 45, + riskLevel: 'MEDIUM', + riskFactors: ['中等退货率', '新账户'], + status: 'REVIEWING', + createdAt: '2026-03-16', + updatedAt: '2026-03-16', }, { id: '3', - tenant_id: 'tenant-001', - shop_id: 'shop-001', - buyer_id: 'buyer-003', - platform: 'Amazon', - platform_buyer_id: 'AMZ-003', - risk_score: 45, - risk_level: 'MEDIUM', - risk_factors: ['Moderate return rate'], - recommendations: ['Monitor transaction closely', 'Set lower order limits'], - is_blacklisted: false, - confidence_score: 65, - assessment_reason: 'New order received', - assessment_date: '2026-03-18 12:00:00', - created_at: '2026-03-18 12:00:00', + orderId: 'ORD-2026-003', + customerId: 'CUST-003', + customerName: 'Jane Smith', + riskScore: 15, + riskLevel: 'LOW', + riskFactors: [], + status: 'APPROVED', + reviewedBy: 'admin', + reviewedAt: '2026-03-17', + createdAt: '2026-03-17', + updatedAt: '2026-03-17', }, { id: '4', - tenant_id: 'tenant-001', - shop_id: 'shop-001', - buyer_id: 'buyer-004', - platform: 'Shopify', - platform_buyer_id: 'SHOPIFY-004', - risk_score: 15, - risk_level: 'LOW', - risk_factors: [], - recommendations: ['Process order normally', 'Continue monitoring'], - is_blacklisted: false, - confidence_score: 90, - assessment_reason: 'New order received', - assessment_date: '2026-03-18 12:30:00', - created_at: '2026-03-18 12:30:00', + orderId: 'ORD-2026-004', + customerId: 'CUST-004', + customerName: 'Robert Johnson', + riskScore: 90, + riskLevel: 'CRITICAL', + riskFactors: ['多次退款', '欺诈行为', '异常IP地址'], + status: 'REJECTED', + reviewedBy: 'admin', + reviewedAt: '2026-03-18', + createdAt: '2026-03-18', + updatedAt: '2026-03-18', }, { id: '5', - tenant_id: 'tenant-001', - shop_id: 'shop-001', - buyer_id: 'buyer-005', - platform: 'Walmart', - platform_buyer_id: 'WMT-005', - risk_score: 65, - risk_level: 'HIGH', - risk_factors: ['Chargeback history', 'Multiple IP changes'], - recommendations: ['Place order on hold', 'Use secure payment methods', 'Monitor future transactions'], - is_blacklisted: true, - blacklist_reasons: ['Excessive chargebacks'], - confidence_score: 72, - assessment_reason: 'New order received', - assessment_date: '2026-03-18 13:00:00', - created_at: '2026-03-18 13:00:00', + orderId: 'ORD-2026-005', + customerId: 'CUST-005', + customerName: 'Alice Brown', + riskScore: 30, + riskLevel: 'LOW', + riskFactors: ['轻微异常行为'], + status: 'PENDING', + createdAt: '2026-03-19', + updatedAt: '2026-03-19', }, ]; @@ -260,20 +237,16 @@ const RiskMonitor: React.FC = () => { let filtered = assessments; if (activeTab !== 'all') { - filtered = filtered.filter(a => a.risk_level === activeTab.toUpperCase()); - } - - if (platformFilter) { - filtered = filtered.filter(a => a.platform === platformFilter); + filtered = filtered.filter(a => a.riskLevel === activeTab.toUpperCase()); } if (riskLevelFilter) { - filtered = filtered.filter(a => a.risk_level === riskLevelFilter.toUpperCase()); + filtered = filtered.filter(a => a.riskLevel === riskLevelFilter.toUpperCase()); } if (dateRange) { filtered = filtered.filter(a => { - const assessmentDate = dayjs(a.assessment_date); + const assessmentDate = dayjs(a.createdAt); return assessmentDate.isAfter(dateRange[0].startOf('day')) && assessmentDate.isBefore(dateRange[1].endOf('day')); }); @@ -291,21 +264,27 @@ const RiskMonitor: React.FC = () => { const columns: ColumnsType = [ { - title: 'Platform', - dataIndex: 'platform', - key: 'platform', - width: 100, - }, - { - title: 'Platform Buyer ID', - dataIndex: 'platform_buyer_id', - key: 'platform_buyer_id', + title: 'Order ID', + dataIndex: 'orderId', + key: 'orderId', width: 150, }, + { + title: 'Customer', + dataIndex: 'customerName', + key: 'customerName', + width: 150, + render: (name: string, record: RiskAssessment) => ( +
+
{name}
+
{record.customerId}
+
+ ), + }, { title: 'Risk Score', - dataIndex: 'risk_score', - key: 'risk_score', + dataIndex: 'riskScore', + key: 'riskScore', width: 150, render: (score: number, record: RiskAssessment) => (
@@ -316,16 +295,16 @@ const RiskMonitor: React.FC = () => { format={percent => `${percent}`} /> - {record.risk_level} + {record.riskLevel}
), - sorter: (a, b) => a.risk_score - b.risk_score, + sorter: (a, b) => a.riskScore - b.riskScore, }, { title: 'Risk Factors', - dataIndex: 'risk_factors', - key: 'risk_factors', + dataIndex: 'riskFactors', + key: 'riskFactors', width: 200, render: (factors: string[]) => (
@@ -343,36 +322,28 @@ const RiskMonitor: React.FC = () => { ), }, { - title: 'Blacklisted', - dataIndex: 'is_blacklisted', - key: 'is_blacklisted', + title: 'Status', + dataIndex: 'status', + key: 'status', width: 100, - render: (isBlacklisted: boolean) => ( - : }> - {isBlacklisted ? 'Yes' : 'No'} + render: (status: string) => ( + + {status === 'PENDING' ? 'Pending' : + status === 'REVIEWING' ? 'Reviewing' : + status === 'APPROVED' ? 'Approved' : 'Rejected'} ), }, { - title: 'Confidence', - dataIndex: 'confidence_score', - key: 'confidence_score', - width: 100, - render: (score: number) => ( - `${percent}%`} - /> - ), - }, - { - title: 'Assessment Date', - dataIndex: 'assessment_date', - key: 'assessment_date', + title: 'Created At', + dataIndex: 'createdAt', + key: 'createdAt', width: 150, - render: (date: string) => dayjs(date).format('YYYY-MM-DD HH:mm'), + render: (date: string) => dayjs(date).format('YYYY-MM-DD'), }, { title: 'Actions', @@ -386,7 +357,7 @@ const RiskMonitor: React.FC = () => { }, ]; - const highRiskAlerts = assessments.filter(a => a.risk_level === 'HIGH' || a.risk_level === 'CRITICAL'); + const highRiskAlerts = assessments.filter(a => a.riskLevel === 'HIGH' || a.riskLevel === 'CRITICAL'); return (
@@ -560,17 +531,6 @@ const RiskMonitor: React.FC = () => { } >
- - {record.status === 'ACTIVE' ? ( + {record.status === 'NORMAL' ? ( handleToggleStatus(record.id, 'INACTIVE')} + onConfirm={() => handleToggleStatus(record.id, 'WARNING')} okText="确定" cancelText="取消" > @@ -311,7 +322,7 @@ const SKUManage: React.FC = () => { type="link" icon={} style={{ color: 'green' }} - onClick={() => handleToggleStatus(record.id, 'ACTIVE')} + onClick={() => handleToggleStatus(record.id, 'NORMAL')} > 上架 @@ -331,22 +342,19 @@ const SKUManage: React.FC = () => { sku_id: record.sku_id, sku_name: record.sku_name, product_name: record.product_name, - platform: record.platform, - price: record.price, - stock: record.stock, }); setSelectedSku(record); setModalVisible(true); }; - const handleToggleStatus = (id: string, newStatus: 'ACTIVE' | 'INACTIVE') => { + const handleToggleStatus = (id: string, newStatus: 'NORMAL' | 'WARNING' | 'CRITICAL') => { setLoading(true); setTimeout(() => { setSkuData(skuData.map(item => item.id === id ? { ...item, status: newStatus, last_updated: new Date().toISOString().split('T')[0] } : item )); setLoading(false); - message.success(`${newStatus === 'ACTIVE' ? '上架' : '下架'}成功`); + message.success(`${newStatus === 'NORMAL' ? '上架' : '下架'}成功`); }, 500); }; @@ -528,13 +536,13 @@ const SKUManage: React.FC = () => { label="Price" rules={[{ required: true, message: '请输入价格' }]} > - style={{ width: '100%' }} placeholder="请输入价格" min={0} step={0.01} formatter={(value) => `$ ${value}`} - parser={(value) => value?.replace(/^\$\s*/, '')} + parser={(value) => parseFloat(value?.replace(/^\$\s*/, '') || '0')} /> { name: '管理员', code: 'ADMIN', description: '系统管理员,拥有所有权限', + permissions: ['PRODUCT_MANAGE', 'ORDER_MANAGE', 'USER_MANAGE', 'SYSTEM_MANAGE'], status: 'active', createdAt: '2026-03-01', updatedAt: '2026-03-01', @@ -22,7 +30,8 @@ const RoleManagement: React.FC = () => { id: '2', name: '运营主管', code: 'MANAGER', - description: '运营主管,拥有运营相关权限', + description: '运营主管,拥有大部分权限', + permissions: ['PRODUCT_MANAGE', 'ORDER_MANAGE', 'USER_MANAGE'], status: 'active', createdAt: '2026-03-02', updatedAt: '2026-03-02', @@ -31,54 +40,59 @@ const RoleManagement: React.FC = () => { id: '3', name: '运营专员', code: 'OPERATOR', - description: '运营专员,拥有基础运营权限', + description: '运营专员,拥有基础权限', + permissions: ['PRODUCT_MANAGE', 'ORDER_MANAGE'], status: 'active', createdAt: '2026-03-03', updatedAt: '2026-03-03', }, ]); - const [permissions, setPermissions] = useState([ + const [permissions, setPermissions] = useState([ { id: '1', + key: '1', name: '商品管理', code: 'PRODUCT_MANAGE', children: [ - { id: '1-1', name: '商品列表', code: 'PRODUCT_LIST' }, - { id: '1-2', name: '商品添加', code: 'PRODUCT_ADD' }, - { id: '1-3', name: '商品编辑', code: 'PRODUCT_EDIT' }, - { id: '1-4', name: '商品删除', code: 'PRODUCT_DELETE' }, + { id: '1-1', key: '1-1', name: '商品列表', code: 'PRODUCT_LIST' }, + { id: '1-2', key: '1-2', name: '商品添加', code: 'PRODUCT_ADD' }, + { id: '1-3', key: '1-3', name: '商品编辑', code: 'PRODUCT_EDIT' }, + { id: '1-4', key: '1-4', name: '商品删除', code: 'PRODUCT_DELETE' }, ], }, { id: '2', + key: '2', name: '订单管理', code: 'ORDER_MANAGE', children: [ - { id: '2-1', name: '订单列表', code: 'ORDER_LIST' }, - { id: '2-2', name: '订单详情', code: 'ORDER_DETAIL' }, - { id: '2-3', name: '订单处理', code: 'ORDER_PROCESS' }, + { id: '2-1', key: '2-1', name: '订单列表', code: 'ORDER_LIST' }, + { id: '2-2', key: '2-2', name: '订单详情', code: 'ORDER_DETAIL' }, + { id: '2-3', key: '2-3', name: '订单处理', code: 'ORDER_PROCESS' }, ], }, { id: '3', + key: '3', name: '用户管理', code: 'USER_MANAGE', children: [ - { id: '3-1', name: '用户列表', code: 'USER_LIST' }, - { id: '3-2', name: '用户添加', code: 'USER_ADD' }, - { id: '3-3', name: '用户编辑', code: 'USER_EDIT' }, - { id: '3-4', name: '用户删除', code: 'USER_DELETE' }, + { id: '3-1', key: '3-1', name: '用户列表', code: 'USER_LIST' }, + { id: '3-2', key: '3-2', name: '用户添加', code: 'USER_ADD' }, + { id: '3-3', key: '3-3', name: '用户编辑', code: 'USER_EDIT' }, + { id: '3-4', key: '3-4', name: '用户删除', code: 'USER_DELETE' }, ], }, { id: '4', + key: '4', name: '系统管理', code: 'SYSTEM_MANAGE', children: [ - { id: '4-1', name: '角色管理', code: 'ROLE_MANAGE' }, - { id: '4-2', name: '权限管理', code: 'PERMISSION_MANAGE' }, - { id: '4-3', name: '系统配置', code: 'SYSTEM_CONFIG' }, + { id: '4-1', key: '4-1', name: '角色管理', code: 'ROLE_MANAGE' }, + { id: '4-2', key: '4-2', name: '权限管理', code: 'PERMISSION_MANAGE' }, + { id: '4-3', key: '4-3', name: '系统配置', code: 'SYSTEM_CONFIG' }, ], }, ]); @@ -281,7 +295,7 @@ const RoleManagement: React.FC = () => { onOk={handleSavePermissions} width={800} > - checkable treeData={permissions} defaultExpandAll diff --git a/dashboard/src/pages/Settings/CostTemplateConfig.tsx b/dashboard/src/pages/Settings/CostTemplateConfig.tsx index e3d4054..7e3bac5 100644 --- a/dashboard/src/pages/Settings/CostTemplateConfig.tsx +++ b/dashboard/src/pages/Settings/CostTemplateConfig.tsx @@ -42,9 +42,9 @@ const PLATFORM_LIST = ['AMAZON', 'EBAY', 'SHOPIFY', 'SHOPEE', 'LAZADA', 'ALIBABA const CATEGORY_LIST = ['Electronics', 'Clothing', 'Home', 'Industrial', 'General']; const COST_TYPE_CONFIG: Record = { - FIXED: { color: 'blue', text: 'Fixed', icon: }, - PERCENTAGE: { color: 'green', text: 'Percentage', icon: }, - PER_UNIT: { color: 'orange', text: 'Per Unit', icon: }, + fixed: { color: 'blue', text: 'Fixed', icon: }, + percentage: { color: 'green', text: 'Percentage', icon: }, + per_unit: { color: 'orange', text: 'Per Unit', icon: }, }; const CostTemplateConfig: React.FC = () => { @@ -75,10 +75,10 @@ const CostTemplateConfig: React.FC = () => { isActive: true, createdAt: '2026-01-15', updatedAt: '2026-03-10', - costs: [ - { id: 'c1', name: 'Platform Fee', type: 'PERCENTAGE', value: 15, currency: 'USD', applyTo: 'PLATFORM_FEE', description: 'Amazon referral fee' }, - { id: 'c2', name: 'FBA Fee', type: 'PER_UNIT', value: 3.5, currency: 'USD', applyTo: 'SHIPPING', description: 'Fulfillment fee' }, - { id: 'c3', name: 'Storage Fee', type: 'PER_UNIT', value: 0.5, currency: 'USD', applyTo: 'PRODUCT', description: 'Monthly storage' }, + costItems: [ + { name: 'Platform Fee', type: 'percentage', value: 15, currency: 'USD' }, + { name: 'FBA Fee', type: 'fixed', value: 3.5, currency: 'USD' }, + { name: 'Storage Fee', type: 'fixed', value: 0.5, currency: 'USD' }, ], }, { @@ -91,9 +91,9 @@ const CostTemplateConfig: React.FC = () => { isActive: true, createdAt: '2026-01-20', updatedAt: '2026-03-05', - costs: [ - { id: 'c4', name: 'Final Value Fee', type: 'PERCENTAGE', value: 12.5, currency: 'USD', applyTo: 'PLATFORM_FEE', description: 'eBay final value fee' }, - { id: 'c5', name: 'PayPal Fee', type: 'PERCENTAGE', value: 2.9, currency: 'USD', applyTo: 'ORDER', description: 'Payment processing fee' }, + costItems: [ + { name: 'Final Value Fee', type: 'percentage', value: 12.5, currency: 'USD' }, + { name: 'PayPal Fee', type: 'percentage', value: 2.9, currency: 'USD' }, ], }, { @@ -106,9 +106,9 @@ const CostTemplateConfig: React.FC = () => { isActive: true, createdAt: '2026-02-01', updatedAt: '2026-03-15', - costs: [ - { id: 'c6', name: 'Transaction Fee', type: 'PERCENTAGE', value: 2.0, currency: 'USD', applyTo: 'ORDER', description: 'Shopify transaction fee' }, - { id: 'c7', name: 'Payment Gateway', type: 'PERCENTAGE', value: 2.9, currency: 'USD', applyTo: 'ORDER', description: 'Credit card processing' }, + costItems: [ + { name: 'Transaction Fee', type: 'percentage', value: 2.0, currency: 'USD' }, + { name: 'Payment Gateway', type: 'percentage', value: 2.9, currency: 'USD' }, ], }, { @@ -121,9 +121,9 @@ const CostTemplateConfig: React.FC = () => { isActive: true, createdAt: '2026-02-15', updatedAt: '2026-03-18', - costs: [ - { id: 'c8', name: 'Shipping Surcharge', type: 'PERCENTAGE', value: 5, currency: 'USD', applyTo: 'SHIPPING', description: 'Heavy item shipping' }, - { id: 'c9', name: 'Insurance', type: 'PERCENTAGE', value: 1.5, currency: 'USD', applyTo: 'SHIPPING', description: 'Shipping insurance' }, + costItems: [ + { name: 'Shipping Surcharge', type: 'percentage', value: 5, currency: 'USD' }, + { name: 'Insurance', type: 'percentage', value: 1.5, currency: 'USD' }, ], }, ]; @@ -144,7 +144,7 @@ const CostTemplateConfig: React.FC = () => { const handleEdit = (record: CostTemplate) => { setEditingTemplate(record); - setCostItems(record.costs); + setCostItems(record.costItems || []); form.setFieldsValue(record); setModalVisible(true); }; @@ -201,7 +201,7 @@ const CostTemplateConfig: React.FC = () => { const newItem: CostItem = { id: `temp-${Date.now()}`, name: '', - type: 'FIXED', + type: 'fixed', value: 0, currency: 'USD', applyTo: 'PRODUCT', @@ -210,14 +210,14 @@ const CostTemplateConfig: React.FC = () => { setCostItems([...costItems, newItem]); }; - const handleUpdateCostItem = (id: string, field: keyof CostItem, value: any) => { + const handleUpdateCostItem = (name: string, field: keyof CostItem, value: any) => { setCostItems(costItems.map(item => - item.id === id ? { ...item, [field]: value } : item + item.name === name ? { ...item, [field]: value } : item )); }; - const handleRemoveCostItem = (id: string) => { - setCostItems(costItems.filter(item => item.id !== id)); + const handleRemoveCostItem = (name: string) => { + setCostItems(costItems.filter(item => item.name !== name)); }; const handleSetDefault = (id: string) => { @@ -231,7 +231,7 @@ const CostTemplateConfig: React.FC = () => { const stats = { total: templates.length, active: templates.filter(t => t.isActive).length, - defaults: templates.filter(t => t.isDefault).length, + defaults: 0, platforms: new Set(templates.map(t => t.platform)).size, }; @@ -244,7 +244,7 @@ const CostTemplateConfig: React.FC = () => { render: (text, record) => ( handleView(record)}>{text} - {record.isDefault && Default} + ), }, @@ -265,7 +265,7 @@ const CostTemplateConfig: React.FC = () => { title: 'Cost Items', key: 'costCount', width: 100, - render: (_, record) => , + render: (_, record) => , }, { title: 'Status', @@ -293,13 +293,11 @@ const CostTemplateConfig: React.FC = () => { - - )} + + + handleDelete(record.id)}>
{costItems.map((item, index) => ( - + handleUpdateCostItem(item.id, 'name', e.target.value)} + onChange={(e) => handleUpdateCostItem(item.name, 'name', e.target.value)} /> - handleUpdateCostItem(item.name, 'type', v)}> + + @@ -421,19 +418,19 @@ const CostTemplateConfig: React.FC = () => { style={{ width: '100%' }} placeholder="Value" value={item.value} - onChange={(v) => handleUpdateCostItem(item.id, 'value', v || 0)} + onChange={(v) => handleUpdateCostItem(item.name, 'value', v || 0)} /> - handleUpdateCostItem(item.name, 'currency', v)}> + + + + -