加解密算法 将以下字段按特定格式拼接成一个字符串: busi_id(游戏唯一标识三方自定义)+busi_key(秘钥)+token(三方提供token)+time(时间戳秒级) 返回Hex编码的32字符MD5签名(小写) 时间戳有效期可以自行判断
下面是go代码加密示例: func GetSign(busiId string, token string, nowUnix int64) string { sign := fmt.Sprintf("busi_id=%v&busi_key=%v&token=%v&time=%v", busiId, config.key, token, nowUnix) return Md5Encode(sign) } func Md5Encode(s string) string { md5Str, _ := gmd5.Encrypt(s) return gstr.ToLower(md5Str) }
测试秘钥 tGuKSsWbskmfCLkKcHaBYIlPisSgqHTiHMjQQTwgorYrpWJDRtfntbNKkWhtvqFg
需要提供域名(或服务器ip端口)
需要提供接口
请求url
/api/game/user/info
请求方法
GET
请求参数
| 字段名 | 类型 | 是否必填 | 备注 |
|---|---|---|---|
| busi_id | string | 是 | 自定义游戏唯一标识id |
| uid | int | 是 | 用户id |
| token | string | 是 | 提供token,用于后期玩游戏加减币鉴权校验 |
| time | int | 是 | 传入时间戳,用于加解密校验 |
| sign | string | 是 | 生成的签名,用于校验 |
返回参数
| 字段名 | 类型 | 备注 |
|---|---|---|
| uid | int | 用户id |
| nick | string | 昵称 |
| profile | string | 头像 |
| remain_coin_num | int | 余额 |
返回示例
{ "code": 0, "message": "success", "data": { "uid": 1234567, "nick": "sss", "profile": "https://istatic.imamolive.top//common/fuya_def_head.png", "remain_coin_num": 1000 }}请求url
/api/game/coin/exchange
请求方法
POST
请求参数
| 字段名 | 类型 | 是否必填 | 备注 |
|---|---|---|---|
| busi_id | string | 是 | 自定义游戏唯一标识id |
| uid | int | 是 | 用户id |
| room_id | string | 否 | 房间id,房间游戏需要,若非房间游戏,无需传入 |
| token | string | 是 | 提供token,用于后期玩游戏加减币鉴权校验 |
| coin_num | int | 是 | 加减金额,正值为加钻,负值为减钻 |
| time | int | 是 | 传入时间戳,用于加解密校验 |
| sign | string | 是 | 生成的签名,用于校验 |
| order_id | string | 是 | 加减币唯一标识id |
返回参数
| 字段名 | 类型 | 是否必填 |
|---|---|---|
| user_id | int | 用户id |
| remain_coin_num | int | 剩余钻石数 |
返回示例
xxxxxxxxxx{ "code": 0, "message": "success", "data": { "user_id": 1234567, "remain_coin_num": 900 }}| code | 备注 |
|---|---|
| 0 | 成功 |
| 500 | 请求失败 |
xxxxxxxxxx?busi_id=10001&vesrion=1.0.1&plat_id=4&uid=10000001&language=1&token=xxxxxxxxxxxxxxxxxxxxxx示例:小老虎: https://fuya-game-test.fuyalive.top/tiger/?busi_id=10001&vesrion=1.0.1&plat_id=101&language=1&uid=xxxxx&token=xxxxxxxxxxxxxxxxxxx麻将: https://fuya-game-test.fuyalive.top/majiang/?busi_id=10001&vesrion=1.0.1&plat_id=101&uid=xxxxxx&language=1&token=xxxxxxxxxxxxxxx阿拉丁:https://fuya-game-test.fuyalive.top/alading/?busi_id=10001&vesrion=1.0.1&plat_id=101&uid=xxxxxx&language=1&token=xxxxxxxxxxxxxxxx
| 字段名 | 类型 | 是否必填 | 备注 |
|---|---|---|---|
| busi_id | string | 是 | 自定义游戏唯一标识id |
| version | string | 是 | 游戏每次升级时候增加的版本号 |
| plat_id | string | 是 | 对接平台的平台ID,需要 |
| language | int | 是 | 对接的游戏适配语言 1 = 英语,2 = 越南语 , 3 = 印尼语 (最终展示根据游戏能适配的语言展示,默认展示英语) |
| uid | int | 是 | 用户id |
| token | string | 是 | 提供token,用于后期玩游戏加减币鉴权校验 |
x?busi_id=10001&vesrion=1.0.1&plat_id=4&uid=10000001&room_id=13657991730749840242646697&app-v=1.2.4&app-name=xxxx&app-channel=android&app-language=1&room_type=live&token=xxxxxxxxxxxxxxxxxxxxxx小老虎:https://fuya-game-test.fuyalive.top/tiger-half/?busi_id=20004&plat_id=101&version=1.0.1&uid=4000&room_id=room_play&app-language=1&token=eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE3NDQ4MDI0ODUsImV4cCI6MTc0NTA2MTk4NSwianRpIjoiYWI4ZTVmMTM5OGMwNDEwOWJkNDU4Njk3MTI5YzQwMmQiLCJpZCI6InhIV0tnOXJXUE5FRHVaOUNNNlNMTlE9PSIsInR5cGUiOiI0In0.t7zfp4jqpTol0Mqzbk6Eo5Pk6ijhjCZwVZkh_yI7lUU麻将:https://fuya-game-test.fuyalive.top/majiang-half/?busi_id=10001&vesrion=1.0.1&plat_id=101&uid=4000&room_id=room_play&app-language=1&token=eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE3NDQ4MDI0ODUsImV4cCI6MTc0NTA2MTk4NSwianRpIjoiYWI4ZTVmMTM5OGMwNDEwOWJkNDU4Njk3MTI5YzQwMmQiLCJpZCI6InhIV0tnOXJXUE5FRHVaOUNNNlNMTlE9PSIsInR5cGUiOiI0In0.t7zfp4jqpTol0Mqzbk6Eo5Pk6ijhjCZwVZkh_yI7lUU阿拉丁:https://fuya-game-test.fuyalive.top/alading-half/?busi_id=20001&vesrion=1.0.1&plat_id=101&uid=4000&room_id=room_play&app-language=1&token=eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE3NDQ4MDI0ODUsImV4cCI6MTc0NTA2MTk4NSwianRpIjoiYWI4ZTVmMTM5OGMwNDEwOWJkNDU4Njk3MTI5YzQwMmQiLCJpZCI6InhIV0tnOXJXUE5FRHVaOUNNNlNMTlE9PSIsInR5cGUiOiI0In0.t7zfp4jqpTol0Mqzbk6Eo5Pk6ijhjCZwVZkh_yI7lUU
| 字段名 | 类型 | 是否必填 | 备注 |
|---|---|---|---|
| busi_id | string | 是 | 自定义游戏唯一标识id |
| version | string | 是 | 游戏每次升级时候增加的版本号 |
| plat_id | string | 是 | 对接平台的平台ID |
| room_id | string | 是 | 直播间房间ID |
| app-v | string | 否 | app版本号 |
| app-name | string | 否 | app简称 |
| app-channel | string | 否 | app系统 安卓 = android , 苹果 = ios |
| app-language | int | 是 | 对接的游戏适配语言 1 = 英语,2 = 越南语 , 3 = 印尼语 (最终展示根据游戏能适配的语言展示,默认展示英语) |
| room_type | string | 否 | 直播间类型,直播间 = live |
| uid | int | 是 | 用户id |
| token | string | 是 | 提供token,用于后期玩游戏加减币鉴权校验 |
xxxxxxxxxxwindow["Android"].startPurchasePage();
xxxxxxxxxxlet func = "startPurchasePage"let query = {}window['webkit'].messageHandlers.xxxxx.postMessage(JSON.stringify({ name: func, data: query }));
xxxxx 是第三方定义IOS接受的对象,需要第三方提供
window.changeCoin(coin)