54 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# WebAppC端知识工作台技术栈定版
C 端 Web 知识工作台,定位是高体验的学习工具。用户在浏览器里管理知识库、编辑知识点、查看学习进度。
```text
框架Vite + React + TypeScript
UIshadcn/ui + Tailwind CSS
编辑器Tiptap
路由React Router
服务端状态TanStack Query
本地状态Zustand
API ClientOpenAPI + Orval
表单React Hook Form + Zod
认证JWT与 iOS 共享同一套后端)
部署4核4G Nginx 静态托管
```
## 一、为什么用 Vite + React 而不是 Next.js
WebApp 不需要 SSR/SEO。用户登录后才能使用所有功能。Vite 构建产物直接托管到 Nginx。
## 二、为什么用 shadcn/ui
C 端产品需要精致、不臃肿的体验。知识工作台是沉浸式工具,不是表格/表单密集的后台。
## 三、为什么用 Tiptap
基于 ProSeMirror支持富文本编辑、Markdown 快捷输入、代码块、数学公式、图片拖拽、自定义节点。
## 四、状态管理
| 类型 | 方案 | 用途 |
|------|------|------|
| 服务端状态 | TanStack Query | 知识库列表、知识点、学习记录、用户信息 |
| 本地状态 | Zustand | 侧边栏、编辑器焦点、选中知识点、主题 |
## 五、API
OpenAPI → Orval 生成类型安全 client → TanStack Query hooks
## 六、页面清单
知识库:列表页、详情页、创建页、知识源、导入进度、候选知识点确认
学习:知识点详情/编辑(Tiptap)、主动回忆、AI分析结果、待巩固项、复习卡片
个人:设置、会员/额度、学习统计
## 七、部署
4核4G Nginx 静态托管,域名 app.longde.cloudAPI 走 api.longde.cloud
## 八、最终拍板
Vite + React + TypeScript + shadcn/ui + Tiptap + React Router + TanStack Query + Zustand + Orval + React Hook Form + Zod