#
简要描述
- 请求服务端API之前需首先请求当前接口获取到服务端API的实际url地址。
- 根据app_id,app_secret获取服务端接口API配置文件,建议由服务端进行拉取,并在本地缓存(可以定时拉取接口地址,建议间隔时间1天或者更长时间,或者访问接口失败时候刷新,如果刷新失败,采用上一次的缓存结果,并进行重试)
请求URL
app服务签名实现方式
- app服务签名基于hmac算法生成,密码为app_secret,以app_id作为数据进行加密生成
Java示例代码:
import cn.hutool.crypto.digest.HMac;
import cn.hutool.crypto.digest.HmacAlgorithm;
class Test {
public static void main(String[] args) {
String data = "appId";
byte[] key = "appSecret".getBytes();
HMac mac = new HMac(HmacAlgorithm.HmacMD5, key);
String appServerSign = mac.digestHex(data);
System.out.println(appServerSign);
}
}
Go示例代码
package main
import (
"crypto/hmac"
"crypto/md5"
"encoding/hex"
"fmt"
)
func main() {
key := "appSecret"
data := "appId"
hmac := hmac.New(md5.New, []byte(key))
hmac.Write([]byte(data))
fmt.Println(hex.EncodeToString(hmac.Sum([]byte(""))))
}
Node示例代码
const Crypto = require('crypto');
function main() {
let key = 'appSecret';
let data = 'appId';
let hmac = Crypto.createHmac('md5', key);
let sign = hmac.update(data).digest('hex');
console.log(sign);
}
请求方式
- 传输协议:HTTPS
- 请求方法:GET
- Header中需要添加:Content-Type: application/json
请求参数
无
请求示例
返回参数
服务端api
参数名 |
类型 |
说明 |
mg_list |
string |
拉取游戏列表接口地址(服务端使用) |
mg_info |
string |
拉取游戏信息接口地址(服务端使用) |
get_game_report_info |
string |
查询游戏局信息接口地址(服务端使用) |
get_game_report_info_page |
string |
分页查询游戏局信息接口地址(服务端使用) |
query_game_report_info |
string |
根据自定义游戏局ID查询游戏上报信息接口地址(服务端使用) |
get_player_results |
string |
获取玩家游戏结果(服务端使用) |
report_game_round_bill |
string |
上报每局游戏消耗货币信息(服务端使用) |
push_event |
string |
推送事件到游戏服(服务端使用) |
create_order |
string |
创建订单(服务端使用) |
query_order |
string |
查询订单(服务端使用) |
query_match_base |
string |
查询单场游戏基础信息(服务端使用) |
query_match_round_ids |
string |
查询单场游戏内的所有局id(服务端使用) |
query_user_settle |
string |
查询用户结算信息(服务端使用) |
弹幕api
参数名 |
类型 |
说明 |
init |
string |
初始化(服务端使用) |
command |
string |
发送指令(服务端使用) |
refresh |
string |
刷新(服务端使用) |
get_rank |
string |
查询排行榜(服务端使用) |
web3 API
参数名 |
类型 |
说明 |
get_details |
string |
获取已穿戴的NFT详情接口地址(服务端使用) |
refresh_details |
string |
刷新已穿戴的NFT详情令牌接口地址(服务端使用) |
返回示例
{
"api": {
"mg_list": "",
"mg_info": "",
"get_game_report_info": "",
"get_game_report_info_page": "",
"query_game_report_info": "",
"report_game_round_bill": "",
"push_event": "",
"auth_app_list": "",
"auth_room_list": ""
},
"match_api": {
"create_match": "",
"cancel_match": "",
"query_game_config": "",
"query_user_matching": ""
},
"cross_app_api": {
"auth_app_list": "",
"auth_room_list": ""
},
"bullet_api": {
"init":"",
"command":"",
"refresh": "",
"get_rank": ""
},
"web3_api": {
"get_nft_details": "",
"refresh_details": ""
}
}