PK 页面
-
PkView是独立内容 View,可嵌入主页或单独放入 Scaffold。传入PkData、onSwitchFriend、onBack、onRefresh和可选onPoke。 -
HomePkView/PkController管理主页入口与好友选择,复用趋势页好友弹层(showSelf: false)。默认不改变趋势页的选择。 -
PkData.result根据双方积分决定胜、负、平;monthlyResult根据胜利天数独立决定。缺失值不视为平局,月历缺失日期显示空圈。 - 已接入
HealthApi.getCurrentMonthPkData:绑定另一半的双方积分、步数、活动消耗、站立小时数、胜利天数及每日积分。左侧映射pair_user_*,右侧映射user_*;默认选中另一半。当前接口没有好友参数,普通好友只显示好友接口提供的健康数据,不套用另一半的战绩。 - 请求结果按绑定对象及加载日期隔离,月历过滤跨月、未来及不完整记录。站立时间沿用现有活动报告的小时单位。
-
onPoke暂未接入:现有互动接口只有绑定双方通用动作,尚未确认 PK 数据互动参数及任意好友的目标参数,主页按钮仍禁用。 - Figma 导出图片保存在
assets/images/pk/,不依赖临时远程资源。preview_friend/preview_self仅供设计测试使用。
设计状态测试:flutter test test/app/modules/pk/pk_view_test.dart。
可选设置 PK_FONT_PATH 为本机中文字体文件、PK_CAPTURE_DIR 为截图目录,并加 --update-goldens,导出三种状态的预览图。