From 443854569371f9e32b5e6c5290e84f91c20abfc4 Mon Sep 17 00:00:00 2001 From: wanghanlin <1533525126@qq.com> Date: Sat, 15 Aug 2026 11:53:19 +0800 Subject: [PATCH] =?UTF-8?q?TDesign=20=E6=9C=AF=E8=AF=AD=E5=AF=B9=E9=BD=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CLAUDE.md | 16 +- frontend/UI-DEV-GUIDE.md | 406 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 415 insertions(+), 7 deletions(-) create mode 100644 frontend/UI-DEV-GUIDE.md diff --git a/CLAUDE.md b/CLAUDE.md index 1e144f8..0e33c00 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -124,13 +124,15 @@ AI 智能客服系统,基于 Spring AI Alibaba + 通义千问 + PGVector,支 ## 前端架构 -- **技术栈**: Vue 3 CDN + ES Module(`importmap` 引入,无构建工具) -- **入口**: `src/main/resources/static/index.html` → `js/app.js` -- **组件化**: 每个功能模块一个 JS 文件(`components/` 目录),导出 Vue 组件定义对象 -- **状态管理**: `js/store.js` 使用 Vue 3 `reactive`,跨组件共享分类、统计、弹窗状态 -- **API 封装**: `js/api.js` 统一封装所有后端调用,API 基址为空字符串(同源部署) -- **SSE 流式**: `js/utils.js` 中 `readSSEStream()` 统一处理三种 SSE 接口 -- **添加新功能**: 在 `components/` 下新建 JS 组件文件,在 `app.js` 中导入注册即可 +- **技术栈**: Vue 3.5 + TypeScript + Vite + TDesign Vue Next(`tdesign-vue-next`)+ Pinia + Vue Router(hash 模式) +- **源码目录**: `frontend/`(不再手写 `static/js`;`static` 现在是 `npm run build` 的产物,由 `frontend/cp-to-static.mjs` 拷贝进去) +- **入口**: `frontend/src/main.ts` → `App.vue`(登录页 / `MainLayout` 切换)→ `router/index.ts` +- **组件化**: 每个功能页面一个 `.vue` 文件(`frontend/src/views/`),TDesign 组件通过 `unplugin-vue-components` 自动按需引入(模板直接写 ``) +- **状态管理**: Pinia(`frontend/src/stores/`),路由守卫在 `router/index.ts` 中做页面数据预加载 +- **API 封装**: `frontend/src/api/*.ts` 统一封装(axios 实例 + 拦截器见 `request.ts`),API 基址为空字符串(同源部署) +- **SSE 流式**: `frontend/src/utils/sse.ts` 中 `readSSEStream*()` 统一处理 SSE 接口 +- **开发运行**: `cd frontend && npm run dev`(Vite 代理到 9090);生产 `npm run build` 后拷贝进 `static` +- **UI 开发准则**: 页面 UI 开发统一遵循 `frontend/UI-DEV-GUIDE.md`(组件优先、复用 composables、Token 配色等铁律) ## 开发规范与踩坑记录 diff --git a/frontend/UI-DEV-GUIDE.md b/frontend/UI-DEV-GUIDE.md new file mode 100644 index 0000000..a0f031c --- /dev/null +++ b/frontend/UI-DEV-GUIDE.md @@ -0,0 +1,406 @@ +# 前端 UI 开发准则 + +> 本准则适用于 `frontend/` 目录下的管理后台前端(Vue 3 + TypeScript + Vite + TDesign Vue Next)。 +> 面向**后续新增/改造页面**的统一依据。核心目标:**不重复造轮子** —— 能用 TDesign 组件就不手写原生标签,能用项目共享基建就不重复造状态逻辑;布局统一、符合 TDesign 风格。 + +--- + +## ① 总则与铁律 + +### 技术栈 + +| 类别 | 选型 | +| --- | --- | +| 框架 | Vue 3.5(` +``` + +### 模板要点裁决 + +| 点 | 规范 | +| --- | --- | +| 表格列定义 | 统一写在 `