b4272b5ec93c7de080217e168bf2fba0f6c3f065
report-notebooklm-app
report-notebooklm 第一阶段应用外壳的 Flutter 客户端。
后端 API 在同一个 monorepo 的 ../report-notebooklm-api/ 里。API、数据、内容流水线的细节都记在那边;这个目录专注于应用交接、UI 状态、构建命令和对接说明。
先读这些
- docs/HANDOFF.md:当前应用状态、已实现的页面、占位项,以及下一步工作。
- docs/PROJECT_BRIEF.md:产品和第一阶段范围速览。
- docs/APP_RUNBOOK.md:Flutter 版本、本地运行、Web 构建、Android 调试构建和验证。
- docs/API_CONTRACT_NOTES.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 默认值。请显式传入后端基础地址:
flutter run -d chrome --dart-define=RNB_API_BASE=<api-base-url>
Android 模拟器:
flutter run -d <emulator-id> --dart-define=RNB_API_BASE=<emulator-api-base-url>
同一局域网内的 Android 真机:
flutter run -d <device-id> --dart-define=RNB_API_BASE=http://<host-lan-ip>:<port>/api/report-notebooklm/v1
明文 HTTP 只能用于调试构建。发布构建必须使用 HTTPS。
验证
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 域名。
- 发布签名、最终图标和最终应用商店元信息。
Description
Languages
Dart
98.6%
HTML
0.6%
Ruby
0.5%
Swift
0.2%