25 lines
975 B
Markdown
25 lines
975 B
Markdown
# Daily Widget Reco(补充说明 / Overflow)
|
||
|
||
## 1. 关键配置
|
||
|
||
- **App Group suiteName**:`group.com.damer.mindfulness`
|
||
- **后端鉴权**:无
|
||
- **多语言**:仅 `en / tc`
|
||
|
||
## 2. 共享存储 Key(App ↔ Widget)
|
||
|
||
- `widget.config.v1`
|
||
- 字段:`schema_version=1`、`saved_at`、`apiBaseUrl`
|
||
- `widget.userProfile.v1_2`
|
||
- 字段:`schema_version=1`、`saved_at`、`user_profile`(结构对齐 `UserProfileV1_2`)
|
||
- `widget.dailyReco.v1`
|
||
- 字段:`schema_version=1`、`saved_at`、`day_key`(本地日 `YYYY-MM-DD`)、`lang`、`item{content_id,text}`、`source`
|
||
|
||
## 3. 更新策略(双通道)
|
||
|
||
- **Widget 主动拉取**:缓存过期时请求 `POST /v1/reco/widget`,写回 `widget.dailyReco.v1`,并使用 `TimelinePolicy.after` 设定次日刷新
|
||
- **App 辅助刷新**:
|
||
- 启动与回到前台时调用 `ensureDailyWidgetRecoUpToDate`
|
||
- 成功写入缓存后调用 `WidgetCenter.reloadAllTimelines()`(系统仍可能延迟)
|
||
|