docs: 用户/开发手册 HTML 版、db-schema 补 license_purchases、CLAUDE.md 文档地图、pay 对接指南

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JJ1g8XV1YhhmHRzhwWEW7o
This commit is contained in:
wangjia
2026-07-03 20:40:21 +08:00
parent d256e7ac85
commit b856f5fec8
8 changed files with 1433 additions and 69 deletions
+11 -5
View File
@@ -4,6 +4,12 @@
**开始任何任务前,先读 `docs/context/project.md`** 了解项目全貌。
**文档地图**(入口 `docs/index.html`):
- 用户使用手册:`docs/manual/user-manual.html`(官网帮助页精简版源=`web/content/docs.md`,两者同步改)
- 开发手册(架构/后端/前端/数据库/API/运维/发版):`docs/manual/dev-manual.html`
- 数据库列级文档:`docs/db-schema.html`schema 变更时同步)
- 设计契约与像素闸:`design/CONTRACT.md` + `tools/screens.mjs`
---
## Orchestrator:如何自动选择 Agent
@@ -248,10 +254,10 @@ cd client && flutter test
- 使用 `dart:io``Platform` 类前,必须先检查 `kIsWeb``import 'package:flutter/foundation.dart'`
- Web 平台不支持 `dart:io`,直接使用会在 Web 构建时崩溃
### 表格列头筛选
- 可筛选列使用 `FilterableColumnHeader`(来自 `widgets/multi_select_dropdown.dart`
- 不要在 toolbar 放独立筛选按钮,筛选入口内嵌列头
- 列定义使用 `ColDef`,可隐藏列用 `ColumnToggleButton` 控制
### 表格列头筛选ds 真相源)
- 列表屏统一 `DsTable``widgets/ds/ds_table.dart`toolbar+表格+pager 连成一卡),列定义 `DsColumn`,可筛选列走其列头漏斗(`filtered` 态高亮),可隐藏列走列设置菜单
- 不要在 toolbar 放独立筛选按钮,筛选入口内嵌列头或工具栏 `DsChip`
- `FilterableColumnHeader`/`multi_select_dropdown.dart` 仅存量引用,勿在新屏使用
### 响应式 / 移动端适配
- 断点判定统一用 `context.isMobile``client/lib/core/responsive/responsive.dart`,宽度 < 600 为窄屏/手机),**禁止**在各处散落 `MediaQuery.width < 600` 这类魔法数
@@ -290,7 +296,7 @@ cd client && flutter test
```
执行顺序:本地 build → test(按 part)→ 更新对应 CHANGELOG → git commit → tag `<part>-v<ver>` → push main+tag。
CI/CDForgejo)按 tag 前缀触发对应 workflow,自动:编译 → 测试 → 创建 Release → 部署 EC2 → Telegram 通知。
CI/CDForgejo)按 tag 前缀触发对应 workflow,自动:编译 → 测试 → 创建 Release → 部署 alijiu.51yanmei.com443→ Telegram 通知。
**归属与解耦**(关键):
- `version.yaml` 归 **client**(写 version/build_number/release_notes/下载链接/changelog);nginx/systemd 归 **server**。