鸿蒙实践中心每日任务自动化心得:心跳接口与GitCode联动
连续两周在鸿蒙开发实践中心(harmonybp)做每日任务,把两个不容易发现的判定机制摸清了,分享给同样在攒成长积分的朋友。 一、每日浏览案例的判定不是"页面停留" 一开始我以为打开案例详情页停 30 秒就行,实际完全不是——它走的是后端心跳接口:POST /api/growth/tasks/case-view-daily/sessions 传入 case_id 创建会话,之后每隔不超过 15 秒 POST /api/growth/sessions/{sid}/heartbeat,累计满 30 秒判定完成。响应里会滚动返回新的 session_id,要用新的继续发心跳。gap 一旦超过 15 秒就归零重算。所以挂后台不管用,必须持续发心跳。 二、每日 Star 的判定是服务端异步核查 GitCode Star 任务不需要在实践中心页面点什么,它核查的是你的 GitCode 账号是否对 harmony-practice-center 组织下任意仓库产生了新的 Star 事件。实测:取消 Star 再重新 Star,制造一次新事件,大约几分钟后服务端外部检查就会判过。注意规则写了"每日需 Star 不同项目且不可取消",所以每天最好换一个仓库操作,别在同一个仓反复横跳。 三、GitCode 账号绑定是前置条件 首次做 Star 任务要先在实践中心完成 GitCode 绑定和 OAuth 授权,否则任务列表里 git_bound 会是 false,怎么 Star 都不判。 小结:这两个任务的共同点是"行为发生在第三方,判定走服务端",所以前端页面上怎么等都不会变绿。理解了判定链路,就能把每日 40 积分的固定动作压缩到一分钟内完成。
- 点赞
- 收藏
- 关注作者
评论(0)