Skip to content

v0.11.12

Choose a tag to compare

@sctale sctale released this 14 Oct 11:08
· 20 commits to main since this release

起因:报销管理页「看不到具体备注信息,不好区分」。查下来不是备注没存,而是行宽被挤没了:那一行的右侧要放「核销」按钮和金额,左侧信息列被压到约 60dp,而日期胶囊自己就占掉约 56dp —— 备注和它排在同一行、允许收缩,于是被压到零宽,屏幕上看着像"这条记录没有备注"。明细页没有核销按钮,所以同样的代码在那边只是截断、在这边是彻底消失。

修复

  • 记录行的日期与备注改为整行宽度单独占一行(左边缘与分类文字对齐):不再和「核销 + 金额」抢宽度,报销页的备注、记账人、日期都能看全;备注由 1 行放宽到 2 行,长备注不再只露两三个字
  • 顺带修好同一页缺的两处明细:记账人标识(此前该页没传成员缓存,全家一起报账时分不清是谁垫的)和点击条目进入编辑(此前该页条目点不开,长备注没有任何地方能看全)
  • 影响面:明细页、统计页分类明细用同一个行组件,备注同样变成整行宽、最多两行(只是能看更多字,位置不变)

优化(触感反馈调柔)

用户反馈「振动太大了,点击反馈不舒服」。查 expo-haptics 的 Android 实现后确认这不是错觉:它在 Android 上是直接驱动马达的固定波形(不走系统触感通道),notificationAsync 因此天生偏重——成功是「40ms+停顿+40ms」双段共 180ms,失败是三段共 330ms,而这两档此前被用在记一笔成功、金额校验失败这类日常高频动作上。

  • 日常确认改为单段轻击:hapticSuccess 由 notificationAsync(Success)(双段 180ms)改为 impactAsync(Soft)(单段 50ms,振幅 30)
  • 错误提示保留但减重:hapticError 由三段 330ms 改为 impactAsync(Heavy)(单段 60ms,振幅 70)——错误仍要能被察觉,但不再是一串长震
  • hapticLight(数字键盘按键等,已是单段 50ms 最轻档)不变;三个入口仍集中在 src/utils/haptics.ts,以后调强度只改这一处

新增(管理页状态灯)

  • 「家庭同步」入口行右侧加连接状态灯:绿=已登录且 /api/health 探测通过,灰=未配置 / 未登录 / 服务器不可达 / 正在检测。此前管理页只有一行文字摘要,看不出"同步到底还活着没",得点进二级页才知道
  • 探测随管理页摘要一起刷新(进入该 Tab、同步完成、登录态变化),并沿用同步页的 mounted + 序号防护,切走页面后旧响应不会回来盖掉新结果
  • 读屏会念出「服务器已连接 / 未连接」,颜色不是唯一线索