6c72b7d048
- Add docs/DATA_SOURCE_FLOW.md: end-to-end source -> NotebookLM -> storage -> App flow, source list with publish frequency, institution intro status, ingestion artifact structure, and known cadence gaps - Link the new doc from README and PROJECT_OVERVIEW indexes - Localize top-level and subproject READMEs to Chinese for handoff (pre-existing working-tree changes) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
78 lines
2.7 KiB
Markdown
78 lines
2.7 KiB
Markdown
# report-notebooklm-app
|
||
|
||
report-notebooklm 第一阶段应用外壳的 Flutter 客户端。
|
||
|
||
后端 API 在同一个 monorepo 的 `../report-notebooklm-api/` 里。API、数据、内容流水线的细节都记在那边;这个目录专注于应用交接、UI 状态、构建命令和对接说明。
|
||
|
||
## 先读这些
|
||
|
||
- [docs/HANDOFF.md](docs/HANDOFF.md):当前应用状态、已实现的页面、占位项,以及下一步工作。
|
||
- [docs/PROJECT_BRIEF.md](docs/PROJECT_BRIEF.md):产品和第一阶段范围速览。
|
||
- [docs/APP_RUNBOOK.md](docs/APP_RUNBOOK.md):Flutter 版本、本地运行、Web 构建、Android 调试构建和验证。
|
||
- [docs/API_CONTRACT_NOTES.md](docs/API_CONTRACT_NOTES.md):应用所消费的接口和字段。
|
||
- [docs/PROJECT_MAP.md](docs/PROJECT_MAP.md):源码目录地图。
|
||
|
||
## 产品边界
|
||
|
||
这个仓库装的是应用代码和一份工程交接快照,不是产品的唯一真源。
|
||
|
||
产品 SSOT:mall-docs 里的 report-notebooklm 文档。快照日期:2026-06-03。
|
||
|
||
技术标识符用 `report-notebooklm` 和 `rnb`,面向用户的产品名是 `研听`。
|
||
|
||
## 环境要求
|
||
|
||
- Flutter 3.44.1 / Dart 3.12.1,或兼容的更新版本。
|
||
- 一个正在运行、提供 `/api/report-notebooklm/v1` 的后端。
|
||
- 做 Android 构建还需要:Android SDK、已接受的许可协议,以及一台模拟器或真机。
|
||
|
||
## API 基础地址
|
||
|
||
应用刻意不内置任何线上 API 默认值。请显式传入后端基础地址:
|
||
|
||
```bash
|
||
flutter run -d chrome --dart-define=RNB_API_BASE=<api-base-url>
|
||
```
|
||
|
||
Android 模拟器:
|
||
|
||
```bash
|
||
flutter run -d <emulator-id> --dart-define=RNB_API_BASE=<emulator-api-base-url>
|
||
```
|
||
|
||
同一局域网内的 Android 真机:
|
||
|
||
```bash
|
||
flutter run -d <device-id> --dart-define=RNB_API_BASE=http://<host-lan-ip>:<port>/api/report-notebooklm/v1
|
||
```
|
||
|
||
明文 HTTP 只能用于调试构建。发布构建必须使用 HTTPS。
|
||
|
||
## 验证
|
||
|
||
```bash
|
||
flutter analyze
|
||
flutter test
|
||
flutter build web --dart-define=RNB_API_BASE=<api-base-url>
|
||
flutter build apk --debug --dart-define=RNB_API_BASE=<emulator-api-base-url>
|
||
```
|
||
|
||
## 当前应用范围
|
||
|
||
已实现:
|
||
|
||
- 五个底部标签页:推荐、研报、机构、听单、我的。
|
||
- 基于 API 的信息流、研报列表、机构列表、听单、机构详情和研报详情。
|
||
- 用于内联模块和「卡片 + 页面」模块的模块渲染器注册表。
|
||
- 产品显示名 `研听`。
|
||
- 登录、收藏、外链跳转确认、播放进度的本地 UI 占位。
|
||
|
||
尚未实现:
|
||
|
||
- 真实鉴权。
|
||
- 真实的收藏 / 历史 / 收听记录同步。
|
||
- 真正可播放的音频流。
|
||
- 真实的外链事件写入。
|
||
- 生产 API 域名。
|
||
- 发布签名、最终图标和最终应用商店元信息。
|