refactor: 消除占位页面 + 删除 barrel 导出 — 页面集中注册 + 直接导入

- 删除 8 个占位页面文件(Account/Vip/Recharge/Billing/Orders/Projects/Quota/ComplianceAssets)
- PageDispatcher: PAGE_MAP 支持无组件页面自动渲染 PlaceholderPage
- 新增页面只需在 PAGE_MAP 加一行配置,无需创建独立文件
- 删除 services/modules/index.ts barrel,13 个文件改为直接导入
- IDE 跳转到定义一步到位,import 自文档化
- TypeScript 编译零错误

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-09 14:32:14 +08:00
parent 7982b69219
commit 76e66a37c8
24 changed files with 80 additions and 212 deletions

View File

@@ -14,7 +14,7 @@ import { CloseOutlined } from '@ant-design/icons';
import type { CarouselRef } from 'antd/es/carousel';
import { useBannerList } from '@/hooks/use-api';
import type { Banner } from '@/services/modules';
import type { Banner } from '@/services/modules/banner';
// ---------- 组件 Props ----------

View File

@@ -29,7 +29,8 @@ import { useHomeContext } from '@/pages/home/HomeContent';
import { useAppContext } from '@/components/AppProvider';
import { useSubmitTask } from '@/hooks/use-api';
import { emit, EVENTS } from '@/utils/event-bus';
import type { ModelsListResponseBody, TaskInfoItemResponseBody } from '@/services/modules';
import type { ModelsListResponseBody } from '@/services/modules/models';
import type { TaskInfoItemResponseBody } from '@/services/modules/task';
const { Text, Title } = Typography;
const { TextArea } = Input;

View File

@@ -9,8 +9,7 @@ import { AppstoreOutlined } from '@ant-design/icons';
import { useModelList } from '@/hooks/use-api';
import { useHomeContext } from '@/pages/home/HomeContent';
import { resolveCategoryLabel, MODEL_CATEGORIES } from '@/services/modules';
import type { ModelsListResponseBody, ModelCategoryStringEnum } from '@/services/modules';
import { resolveCategoryLabel, MODEL_CATEGORIES, type ModelsListResponseBody, type ModelCategoryStringEnum } from '@/services/modules/models';
const { Text } = Typography;

View File

@@ -13,7 +13,7 @@ import {
import { useHomeContext } from '@/pages/home/HomeContent';
import { useTaskDetail } from '@/hooks/use-api';
import type { TaskStatusString } from '@/services/modules';
import type { TaskStatusString } from '@/services/modules/task';
const { Text } = Typography;

View File

@@ -26,8 +26,8 @@ import type {
TaskInfoItemResponseBody,
TaskListRequestParams,
TaskStatusString,
} from '@/services/modules';
import { TaskStatusMap, OutputTypeMap } from '@/services/modules';
} from '@/services/modules/task';
import { TaskStatusMap, OutputTypeMap } from '@/services/modules/task';
const { Text } = Typography;