44 lines
1.3 KiB
Markdown
44 lines
1.3 KiB
Markdown
|
|
# AuthSessionBootstrapper 旧代码应删除
|
|||
|
|
|
|||
|
|
## 文件位置
|
|||
|
|
|
|||
|
|
`apps/lib/app/startup/auth_session_bootstrapper.dart`
|
|||
|
|
|
|||
|
|
## 问题描述
|
|||
|
|
|
|||
|
|
`AuthSessionBootstrapper` 是遗留代码,用于在用户登录时同步日历事件和通知提醒。
|
|||
|
|
|
|||
|
|
### 代码问题
|
|||
|
|
|
|||
|
|
```dart
|
|||
|
|
Future<void> syncForAuthState(AuthState state) async {
|
|||
|
|
if (state is! AuthAuthenticated) {
|
|||
|
|
_syncedUserId = null;
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
// 获取180天日历事件并重建通知提醒
|
|||
|
|
final events = await _calendarService.getEventsForRange(start, end);
|
|||
|
|
await _notificationService.rebuildUpcomingReminders(events);
|
|||
|
|
...
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
1. **同步逻辑已迁移** - `CalendarService` 和 `LocalNotificationService` 应自己管理缓存生命周期,无需登录时手动触发
|
|||
|
|
2. **内存缓存不可靠** - `_syncedUserId` 仅内存存储,App 重启后失效
|
|||
|
|
3. **静默失败** - 同步失败被 `catch (_)` 吞掉,无日志无重试
|
|||
|
|
4. **180 天硬编码** - 时间范围未从配置读取
|
|||
|
|
|
|||
|
|
## 处理方式
|
|||
|
|
|
|||
|
|
**直接删除**:
|
|||
|
|
- 删除 `apps/lib/app/startup/auth_session_bootstrapper.dart`
|
|||
|
|
- 确认无调用处后,清理 `startup/` 目录(若为空)
|
|||
|
|
|
|||
|
|
## 相关文件
|
|||
|
|
|
|||
|
|
- `apps/lib/app/startup/auth_session_bootstrapper.dart`
|
|||
|
|
|
|||
|
|
## 修复优先级
|
|||
|
|
|
|||
|
|
**低** - 功能层面暂无影响,但属于应清理的技术债
|