手机端选择本地照片
原图、相册列表和编辑状态只保存在手机本地,不进入云端。
Phone to watch
wristalbum.wristtale.com 同时承载落地页、应用 API 和 R2 素材分发。Flutter 只调用 API 路径,手表只下载相册素材路径。
原图、相册列表和编辑状态只保存在手机本地,不进入云端。
裁切框使用当前连接设备的屏幕尺寸和形状,让预览尽量贴近手表显示。
上传的是压缩后的手表尺寸图片,Worker 校验大小、格式、哈希和配额。
Flutter 发送 manifest URL 和下载指令,手表也可以在已配对后手动重新下载。
Local-first
WristAlbum 的云端状态保持很薄:上传意图、限流计数、裁切后的图片对象和当前 manifest。用户原始照片、相册选择、排序和编辑数据仍由 Flutter 应用本地保存。
这样可以先避开账号系统,把安全边界收敛到 install token、album token、对象校验、上传限额和图片尺寸限制上。
Implementation model
使用本地安装身份和长随机 album token 保护写入链路,避免一开始引入账号系统。
图片和 manifest 通过 wristalbum.wristtale.com 同域分发,便于手表端直接访问。
正常路径使用 Connect IQ 网络图片请求,由手表端拿到设备可用的 bitmap。