为微信小游戏添加游戏圈
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_c830ad09/wechat-game-club。
技能介绍
要解决什么问题
微信小游戏想接「游戏圈」时,常见做法是堆后端、云开发或改引擎流程。对只有 game.js、game.json 和原生 Canvas 的项目来说,真正需要的往往只是:在现有 UI 里加一个入口,用小程序后台下发的 openlink 打开游戏圈页面。
技能如何工作
本技能把集成范围限定在小游戏客户端内,依赖 wx.createPageManager,不引入额外服务端。
- 先读项目约定:对照
AGENTS.md或同类规则,确认是微信小游戏工程(project.config.json、Canvas 渲染等)。 - openlink 作为唯一外部输入:缺省时向用户索取 MP 后台的 openlink,不要当成普通网页 URL 硬编码别的项目的链接。
- 桥接模块:复制或补丁
assets/game-club-bridge.js,替换占位符__GAME_CLUB_OPENLINK__;若已有 bridge,只改一处,避免第二个game-club.js。 - UI 接入:入口放在项目已有的社交/社区位(首页、暂停菜单、侧栏);Canvas 里在 renderer 画按钮,在现有 input/点击路由里做命中,不要用 DOM 按钮。
- 调用顺序与防抖:
load({ openlink })成功后再show();用 loading 标志和复用的 page manager 实例,让重复点击幂等。 - 错误映射:将 -1~-8 等错误码转成可读提示(无效 openlink、版本/设备不支持、网络、频率、版本不匹配等),不支持时用
wx.showToast或项目内 toast。
适用边界
- 仅适用于微信小游戏原生 JS 栈,不为此功能单独加 npm/build 或云存储。
wx.createPageManager行为依赖真机与开发者工具运行时,语法检查通过后仍应在小游戏编译目标下验证。- openlink 必须与当前小游戏版本匹配;不要把 show 放在 load 完成之前。
使用场景
- 已有 Canvas 小游戏首页,要在不搭后端的前提下增加「游戏圈」入口并绑定 MP 后台 openlink
- 暂停菜单里已有社区类按钮位,需要接到 bridge.open() 并用 loading 防止重复点击
- 项目里已有 game-club-bridge.js,只需替换 __GAME_CLUB_OPENLINK__ 并核对 load 后再 show 的调用顺序
- 上线前要把 createPageManager 的 -1~-8 错误码映射成用户能看懂的 toast 文案
适合人员
- 维护纯客户端微信小游戏、只有 game.js 与 Canvas 渲染、需接官方游戏圈的独立开发者
- 负责小游戏版本迭代的工程师,希望用 pageManager 本地跳转而不引入云开发或 npm 构建
- 用 AI Agent 改存量小游戏代码时,需要按 AGENTS.md 规范接入 openlink 与桥接模块的协作开发者
- 要在真机与开发者工具上验证游戏圈入口、并处理低版本微信不支持情况的 QA 或发布同学