流程

  1. 看具体游戏有哪些资源可以被替换
  2. 确定后,后端出模板配置
  3. 后端创建一个测试游戏的配置,给出游戏id
  4. 按以下步骤接入
  5. 把发布后的代码给我,充分保证你的劳动成果不被窃取

引入sdk

如果是白鹭5.0需要在发布后引入

1
<script src="//h5.iguojin.com/template/gamesdk/hudongsdk.js"></script>

实例化sdk

1
2
3
4
// ts声明,防止报错
declare var HudongSdk
var sdk
sdk = HudongSdk.getInstance()

替换资源

以白鹭为例,可以在

1
await RES.loadConfig("resource/default.res.json", "resource/");

后面添加如下代码,并记录值,在需要时可以直接从里获取,而不用默认的值
可以检测url上的gameid参数,正式交付客户都会加上这个参数

1
2
3
await sdk.loadConfig().then((res)=>{
console.log(res)
})

并在回调中进行替换,数据格式如下,重点关注data字段

1
2
3
4
5
6
7
8
{
"code": 1,
"msg": "游戏配置",
"data": {
"logo": "https://test/log.jpg"
},
"url": ""
}

次数限制

点击游戏开始前,先检查剩余次数,例如

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
sdk.limit().then((res) => {
if (res["code"] == 0) {
alert(res["msg"])
return;
}
let num_act = res['data']['limit_act']
if (num_act == 0) {
alert('您的游戏机会已经用完')
}
let num_day = res['data']['limit_day']
if (num_day == 0) {
alert('您今日的游戏机会已经用完')
}
// 以下为开始逻辑
// todo
}).catch(()=>{
alert('error')
})

原始数据结构
其中data.limit_day为当日剩余次数,data.limit_act为剩余的总次数,其中任何为0时候,将无法提交分数

1
2
3
4
5
6
7
8
9
{
"code": 1,
"msg": "剩余次数",
"data": {
"limit_day": 997,
"limit_act": 996
},
"url": ""
}

提交分数

其中score参数为分数

1
2
3
sdk.result(score).then((res)=>{
console.log(res)
})

访问地址

至此游戏模板化结束,一个做好的测试地址

1
https://wx.iguojin.com/game/login/testgame

以上地址可以防止IOS微信出现底部的白色导航条
最终将跳转到实际的游戏地址,例如

1
https://h5.iguojin.com/template/gsk/?gameid=testgame

排行榜

考虑将此功能放入iframe实现,程序引入sdk即可