2.1 KiB
2.1 KiB
识糖小课堂平台接入说明
已接入能力
- 复用主小程序
token与微信小程序登录,不创建第二套游戏账号。 - 按周一日期、性别自动分配最多 7 人的同行组。
- 首次入组使用数据库分配锁,多个用户同时进入也不会重复分组或超过 7 人。
- 以真实平台昵称、头像、认糖数和本周最高分排序。
- 每局用
session_key上报绝对进度,断网重试不会重复加分。 - 待同步成绩最多本地保留 8 局,重新联网后自动补传。
- 微信好友与朋友圈分享使用随机分享码,不在链接中暴露用户 ID。
- 每张周分享卡对同一受邀人只记录一次轻量访问,不自动建立家庭或好友绑定。
接口
GET /api/tcm/gameWeeklyLeaderboard:获取或创建当前周同行榜。POST /api/tcm/gameSubmitProgress:上报session_key、learned_count、score、ended。POST /api/tcm/gameRecordShare:记录分享动作并获取本周分享码。POST /api/tcm/gameAcceptShare:受邀用户登录后提交invite_code。
四个接口都使用现有 LoginMiddleware 校验主小程序 token。
部署顺序
- 执行
server/sql/1.9.20260717/add_tcm_endless_game_platform.sql。 - 发布
server/app/api/logic/tcm/GamePlatformLogic.php和TcmController.php。 - 重新构建并上传小程序前端。
如果数据库已经执行过本功能的旧版建表脚本,再执行一次
server/sql/1.9.20260717/upgrade_tcm_endless_game_platform_20260717.sql,用于补充分组锁并把分享去重范围修正为“每张周分享卡”。
如果后端或数据表尚未发布,游戏仍可离线游玩,榜单会显示“离线记录中”;联网且接口可用后自动补传。
上线前检查
- 用男女各两个测试账号进入,确认被分入对应性别组。
- 同一局重复提交相同
session_key,确认周认糖数不重复增加。 - 断网完成几次消除,再联网打开榜单,确认成绩补传。
- 分享给另一个微信账号,确认能直接进入游戏且链接中没有用户 ID。
- 周一验证新周重新分组,旧周成绩不带入新周。