项目名称: 建科小智开放平台 版本: v3.8 更新日期: 2026-04-02 技术栈: React 18 + TypeScript + Vite + Ant Design + SCSS + Zustand
建科小智开放平台 - 基于 RAG 技术的知识库管理与应用开发平台
src/
├── apis/ # API 接口配置 (api.ts, config.ts, index.ts)
├── assets/ # 静态资源
├── components/ # 公共组件
│ ├── 404/ # 404 页面
│ ├── chat/ # 聊天组件
│ ├── common/ # 通用组件
│ │ ├── FilterBar/ # 筛选栏
│ │ ├── FilterDrawer/ # 筛选抽屉
│ │ ├── AppCard/ # 应用卡片
│ │ ├── GuideTips/ # 引导提示
│ │ ├── HeroBanner/ # 横幅
│ │ ├── PageLayout/ # 页面布局
│ │ └── StatsGrid/ # 统计卡片
│ └── step/ # 步骤条
├── config/ # 配置文件
├── mock/ # Mock 数据
│ ├── index.ts # 全局 Mock 数据
│ └── knowledgeApi.ts # 知识库 Mock API
├── pages/ # 页面组件
│ ├── appCenter/ # 应用中心
│ ├── home/ # 首页/概览
│ ├── knowledgeLib/ # 知识库管理
│ ├── layout/ # 布局组件
│ ├── login/ # 登录
│ ├── questionAnswer/ # 问答应用
│ ├── system/ # 系统管理
│ └── universalChat/ # 智能问答
├── store/ # 状态管理 (Zustand + route.tsx)
├── styles/ # 全局样式
│ ├── variables.scss # SCSS 变量
│ └── global.scss # 全局样式
├── typings/ # 类型定义
├── utils/ # 工具函数
├── App.tsx
├── main.tsx
├── router.tsx # 路由配置
└── LocalStorage.ts # 本地存储封装
src/styles/variables.scss 中定义的变量所有组件样式文件必须以 SCSS 格式,导入全局变量
// 文件顶部必须导入
@import '@/styles/variables.scss';
.my-component {
// ✅ 使用变量
color: $text-primary;
padding: $spacing-4;
border-radius: $radius-lg;
// ❌ 禁止硬编码
color: #1F2937;
padding: 16px;
}
$spacing-* 系列变量(4px 基准).page-container { padding: $spacing-4 $spacing-6 }.content-section { margin-bottom: $spacing-4; padding: $spacing-3 }间距变量定义:
$spacing-1: 4px - 最小间距$spacing-2: 8px - 小间距$spacing-3: 12px - 中等间距$spacing-4: 16px - 标准间距$spacing-5: 20px - 大间距$spacing-6: 24px - 加大间距主色调:
$primary-color: #005D80 - 企业主色 (WCAG AAA)$primary-light: #007A99 - 悬停/强调$primary-dark: #004060 - 点击/激活文字色:
$text-primary: #1F2937 - 主文字色$text-secondary: #6B7280 - 次要文字色规范:
$radius-sm: 4px$radius-md: 6px$radius-lg: 8px$radius-xl: 12px$radius-2xl: 16px$radius-full: 9999pxsrc/mock/index.tssrc/mock/{apiName}.tssrc/apis/api.ts 中修改 const USE_MOCK = true/falsePOST /bigmodel/api/knowledgeListGET /bigmodel/api/detailKnowledge/:idPOST /bigmodel/api/createKnowledgePUT /bigmodel/api/updateKnowledge/:idDELETE /bigmodel/api/delKnowledge/:idGET /bigmodel/api/embeddingPOST /bigmodel/api/documentListGET /bigmodel/api/documentDetail/:idPUT /bigmodel/api/updateDocument/:idDELETE /bigmodel/api/delDocument/:idPOST /bigmodel/api/uploadDocument/:knowledgeIdGET /bigmodel/api/documentSetting/:idPUT /bigmodel/api/updateDocumentSetting/:idPOST /bigmodel/api/getSliceListGET /bigmodel/api/getSliceDetail/:sliceId/:knowledgeIdPOST /bigmodel/api/add/slicePUT /bigmodel/api/updateSliceInfoDELETE /bigmodel/api/deleteSlice/:sliceId/:knowledgeId/:documentIdGET /deepseek/revise/pageListGET /deepseek/revise/listGET /deepseek/revise/sliceListPUT /deepseek/revise/reviseSliceGET /deepseek/revise/reviseHistoryListGET /deepseek/api/standard_classificationGET /deepseek/api/parsing_typeGET /deepseek/api/splitting_typeGET /deepseek/api/revision_statusPOST /bigmodel/api/chatHistory/listPOST /bigmodel/api/dialog/export/:id/auth/login (POST) - 用户登录/auth/code (GET) - 获取验证码/system/user/getInfo (GET) - 获取用户信息/deepseek/overview/topData (GET) - 首页统计数据/bigmodel/api/getApplicationList (POST) - 获取应用列表/deepseek/api/app/audit/list (POST) - 审核列表/bigmodel/api/selectApplication/:id (GET) - 应用详情/deepseek/overview/onlineUserData (GET) - 在线用户数据/deepseek/overview/conversationData (GET) - 会话数据/deepseek/dataset/pageList (GET) - 数据集列表业务路由 (src/store/route.tsx):
/overview - home/index - 概览/首页/appCenter - appPlazaList/index - 应用中心/appCenter/questionAnswer - questionAnswer/list - 我创建的应用/appCenter/questionAnswer/create - questionAnswer/form/index - 创建应用/knowledge/knowledgeLib - knowledgeLib/list - 知识库列表/knowledge/knowledgeLib/:id/:createBy - knowledgeLib/detail/index - 知识库详情/knowledge/revisionTool - revisionTool/list - 修订工具/system/apiKey - apiKey/index - API Key 管理/system/audit - audit/index.placeholder - 应用审核 (待实现)公共路由 (src/router.tsx):
/login - 登录页/universalChat - 智能问答 (独立)/mobile-test - H5 测试/404 - 404 页面<div className="page-container">
<div className="list-header">
<div className="list-header-title">
<h1>页面标题</h1>
<p>页面描述</p>
</div>
<div className="list-header-actions">
<Button type="primary">创建</Button>
</div>
</div>
<GuideTips visible={true} title="提示" steps={[]} />
<FilterBar tabs={[]} searchValue="" />
<div className="content-section">
{/* 表格/卡片内容 */}
</div>
</div>
<div className="page-container">
<div className="list-header">...</div>
<FilterBar tabs={[]} />
<div className="app-card-grid">
<AppCard ... />
</div>
<div className="pagination-container">
<Pagination ... />
</div>
</div>
masterzy)# 查看修改
git status
git diff HEAD --stat
[x] 补充核心 API Mock 数据
/auth/login, /auth/code) - 已完成于 src/mock/authApi.ts/deepseek/overview/topData) - 已完成于 src/mock/overviewApi.ts/bigmodel/api/getApplicationList) - 已完成于 src/mock/applicationApi.ts/deepseek/api/app/audit/list) - 已完成于 src/mock/auditApi.ts[x] 完成审核页面实现
src/pages/system/audit/index.tsx, src/pages/system/audit/store.ts[x] 统一样式变量使用
.scss 文件是否导入 variables.scss$spacing-* 系列变量layout/style.scss, layout/components/sidebar.scss, system/audit/style.scss, styles/global.scss[x] 补充应用管理 API Mock
[x] 完善文档
docs/API.md)# 开发
npm run start:demo # Demo 模式(静态 + Mock)
npm run start # 开发模式(带 API)
# 构建
npm run build:demo # 构建 Demo 版
npm run build:prod # 构建生产版
http://esc.sribs.com.cn:8080/esc-sso/oauth2.0/authorize?client_id=e97f94cf93761f4d69e8&response_type=code
在 src/router.tsx 中实现:
/login)README.md - 项目说明页面布局与间距控制规范.md - 布局规范知识库路由和 Mock 数据说明.md - Mock 数据说明最后更新: 2026-04-02