54 lines
1.8 KiB
Markdown
54 lines
1.8 KiB
Markdown
|
|
# WebApp(C端知识工作台)技术栈定版
|
|||
|
|
|
|||
|
|
C 端 Web 知识工作台,定位是高体验的学习工具。用户在浏览器里管理知识库、编辑知识点、查看学习进度。
|
|||
|
|
|
|||
|
|
```text
|
|||
|
|
框架:Vite + React + TypeScript
|
|||
|
|
UI:shadcn/ui + Tailwind CSS
|
|||
|
|
编辑器:Tiptap
|
|||
|
|
路由:React Router
|
|||
|
|
服务端状态:TanStack Query
|
|||
|
|
本地状态:Zustand
|
|||
|
|
API Client:OpenAPI + 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.cloud,API 走 api.longde.cloud
|
|||
|
|
|
|||
|
|
## 八、最终拍板
|
|||
|
|
|
|||
|
|
Vite + React + TypeScript + shadcn/ui + Tiptap + React Router + TanStack Query + Zustand + Orval + React Hook Form + Zod
|