diff --git a/docs/superpowers/plans/2026-06-29-device-session-management.md b/docs/superpowers/plans/2026-06-29-device-session-management.md index 782eca7..287a7c4 100644 --- a/docs/superpowers/plans/2026-06-29-device-session-management.md +++ b/docs/superpowers/plans/2026-06-29-device-session-management.md @@ -41,12 +41,15 @@ - [x] 测试:ForceLogout 删 jti+标 revoked_at;DeleteDevice per-device revoke - [ ] 验收:强制退出→refresh 失败;清除→设备消失+凭证作废 -## P4 · 每设备流量验证 -- [ ] `ConnectNode` 兜底 `RegisterIfAbsent`(device 缺失时) -- [ ] 端到端确认 `usage_device_daily` 填充 -- [ ] 统计页设备下拉接真实设备 + `deviceUsageProvider`(#10) -- [ ] 测试:集成(注册→连接→上报→有行);统计页设备下拉 widget -- [ ] 验收:统计页按设备看分流量 +## P4 · 每设备流量(基础设施已由 P1–P3 交付;展示层收口归 #10) +**结论**:每设备归因**链路已通**——登录注册设备 → connect `EnsureDeviceDpUUID` 命中 → +铸 per-device dp_uuid 下发 sing-box → `ReportUsage` → `UserDeviceByDpUUID`(deviceID>0) +→ `AccumulateDeviceUsage` 填 `usage_device_daily`(store 测试已锁)。 +- [x] 链路打通(P1–P3 交付);不做 ConnectNode 兜底:登录已注册,且 connect 体只带 + device_id、无 name/platform,不宜在此造半残设备行 +- [ ] **统计页设备下拉真过滤** → **归入统计整改 #10**:需新的 per-device **每日曲线 API** + (现 `deviceUsageProvider` 只给单设备窗口聚合,对不齐月/周/日卡 + 14 天折线的每日数据) +- [ ] **端到端**(注册→连接→走流量→`usage_device_daily` 有行):需真连客户端,**人工验证** ## P5 · (未来)2FA 信任设备 —— 本轮不编码 - 占位:清除联动 `totp_trusted_until`(P2 已预留列)。