feat: make core pages local-first offline
This commit is contained in:
+13
-8
@@ -1,6 +1,8 @@
|
||||
# 喵记账 · 项目骨架
|
||||
|
||||
> Flutter 客户端 + .NET 9 后端 · 搭建于 2026-07-18
|
||||
> Flutter 客户端 + .NET 9 后端 · 当前状态更新于 2026-08-21
|
||||
|
||||
当前实现状态与待办以 [`STATUS.md`](STATUS.md) 为准;本文保留项目入口、运行方式和接口索引。
|
||||
|
||||
## 目录结构
|
||||
|
||||
@@ -50,7 +52,7 @@ jizhang/
|
||||
2. 改 `backend/MiaoJiZhang.Api/appsettings.json` 里的连接串(`your_password`)
|
||||
3. 改 `Jwt:Secret` 为 ≥32 字符的随机串
|
||||
4. `cd backend && dotnet run --project MiaoJiZhang.Api`
|
||||
- 开发期 `Program.cs` 会 `EnsureCreated` 建表 + 跑种子数据
|
||||
- 数据库结构通过 `MiaoJiZhang.Infrastructure/Persistence/Migrations` 维护;本地首次启动前执行 `dotnet ef database update`
|
||||
- OpenAPI 文档:`http://localhost:5000/openapi/v1.json`
|
||||
5. 测试注册:
|
||||
```bash
|
||||
@@ -93,15 +95,18 @@ flutter run
|
||||
9. ~~性格设置页~~ ✅(PUT /api/users/me/companion + CompanionPage,形象/性格/三滑杆)
|
||||
10. ~~分类管理~~ ✅(POST/DELETE /api/categories + CategoryManagePage,自定义分类增删)
|
||||
11. ~~语音/OCR 流程~~ ✅(POST /api/parse + ParseSheet 确认入账;ASR/OCR SDK 接入后自动填充文本)
|
||||
12. ~~LLM 接入层~~ ✅(ILlmClient 抽象 + NullLlmClient 回退规则版;对接真实 LLM 时实现该接口即可)
|
||||
12. ~~LLM 接入层~~ ✅(已有客户端抽象、权限/额度和回退路径;仍需真实环境联调)
|
||||
|
||||
13. ~~Admin Web 后台~~ ✅(配置、分类、AI 形象/性格、表情包、用户、推送、审计与管理员账号页面已存在)
|
||||
14. ~~EF Core Migration~~ ✅(已有多次迁移;发布前仍需执行全新库和升级库验证)
|
||||
|
||||
## 遗留(需要外部资源/发布前处理)
|
||||
|
||||
- ASR(语音转文字)与拍照 OCR 的 SDK 选型接入(ParseSheet 已留好入口,接入后把识别文本传入即可)
|
||||
- 真实 LLM 对接(实现 ILlmClient;性格 Prompt 已在 AiPersona 表可后台调)
|
||||
- SVG 图标(category_icon.dart / stickerStyle 集中管理,直接替换映射即可)
|
||||
- Admin Web 后台(`docs/DESIGN.md` 第 8 节;实体 AppConfig/AiPersona/AiAvatar/Sticker 已建好)
|
||||
- EF Migration 替代 EnsureCreated;Jwt Secret 换生产值;baseUrl 环境化
|
||||
- 真实 LLM、OCR/ASR、截图识别和推送供应商的生产配置与联调
|
||||
- JWT Secret、管理员引导变量、数据库连接串、API Base URL 和更新下载地址环境化
|
||||
|
||||
## 已完成的接口清单
|
||||
|
||||
@@ -129,6 +134,6 @@ flutter run
|
||||
|
||||
## 技术债 / 注意
|
||||
|
||||
- 后端用 `EnsureCreated` 跳过 Migration,便于快速起盘;正式环境前要切到 `dotnet ef migrations add Init`
|
||||
- `appsettings.json` 的 `Jwt:Secret` 是占位值,**生产必须换**
|
||||
- 前端 `main_shell.dart` 的 5 个 branch 暂用 `Placeholder()`,下一步逐个填真实页面
|
||||
- `Build:Version` 未注入时后端显示 `dev`;发布构建必须显式注入版本。
|
||||
- `appsettings.json` 的 JWT、数据库和外部服务配置不能直接用于生产。
|
||||
- Admin Web 的 `wwwroot/assets` 是构建生成物;本地构建后不要把临时 hashed 文件混入提交。
|
||||
|
||||
Reference in New Issue
Block a user