- HealthKitBridge.m: 自定义原生模块,心率/步数/睡眠采集 - WeatherKitBridge.swift/m: 天气模块,当前+每日+每小时预报 - pare.py: 身体数据陡度监控,阈值告警→inbox+冰箱贴 - cyberboss: 5-20分钟随机唤醒,pare→decide→push - 冰箱贴: 纸质感卡片,黑字多级透明度,独立输入框 - 首页三区无视觉布局: 左门/中记录/右冰箱 - 端口3003→3004(VS Code占用) - 聊天屏锚定底部滚动 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2.1 KiB
2.1 KiB
沈晏 App 进度总览 — 2026-05-16
当前状态
iOS 真机。Mac 桥单通道。APNs 后台推送已通。cyberboss + pare 主动联系。HealthKit + WeatherKit 身体天气。冰箱贴 + 三区无视觉布局。
已完成
苹果开发者
- 付费账号(Team: Xiulun Wang, ID: ZZMLW32PHH),Bundle ID: com.shenyan.room
- APNs Key: 3VJ5X6V9Q8,设备 token 已获取,后台推送已通
- WeatherKit 权限 + HealthKit 权限
首页
- 三区无视觉布局:左门(50%双击敲)、中记录(窄竖条)、右冰箱贴
- Bridge 状态轮询,三张图片全屏背景
聊天屏
- FlatList 锚定底部(onContentSizeChange + maintainVisibleContentPosition)
- 消息 AsyncStorage 持久化 + /history
- 气泡 25% 白,聊天屏内不弹横幅
通信
- Mac 桥
192.168.31.51:3004(3003 被 VS Code 占) - 端点: /send, /respond, /knock, /push, /push/clear, /poll, /history, /register-device, /notes, /notes/add, /notes/reply
- launchd 持久化
APNs
- AppDelegate 原生注册 + Bridging Header,点通知进聊天,badge 清零
- 定制横幅 + 震动,前台/后台/锁屏全场景
cyberboss + pare
- 5-20 分钟随机唤醒,pare 先扫健康陡度 → decide.py 判断是否推
- pare 阈值: 心率±20/过高120/过低50/步数骤增2000/活动<100/睡眠<4h
- alert 同时入 inbox + 冰箱贴
HealthKit
- 自定义 ObjC 模块(兼容 Fabric interop),每 10 分钟采心率/步数/睡眠
WeatherKit
- Swift + ObjC 桥接模块,当前天气 + 每日/每小时预报
冰箱贴
- Modal 面板,纸质感背景(PIL 生成),黑字多级透明度
- 每便签独立输入框,KeyboardAvoidingView 防遮挡
- 未读红点(打开清零),首页背景图
- 便签回复同步 inbox
代码仓库
- Gitea:
http://101.36.73.102:3112/fyah/mao1→shenyan-app/ - IDC:
/home/idc/mao1/shenyan-room/技术/ShenYanApp/
已回退
- BlurView → Fabric + iOS 26 不兼容
- notifee → 换 push-notification-ios
- IDC 双桥 → 单通道
- 3003 端口 → 3004
待解决
- Monitor 超时
- 中区功能
- 冰箱贴回复 → 聊天
- inbox 清理
- pare 真实数据验证