game_server.lt_client_notify
简介
提供一些基础方法处理来自雷霆平台的推送通知
组件接口
lt_client_notify.gs
提供一些基础方法处理来自雷霆平台的推送通知
通过setup方法进行 初始化
目前已知有两种来自雷霆平台的推送通知:
- 充值订单通知
- 将通知信息转为LtChargeOrderNotify实例
- 调用on_charge_order_notify方法
- 防沉迷登出通知
- 将通知信息转为LtAddictionLogoutNotify实例
- 调用on_addiction_logout_notify方法
平台文档中的充值通知等由平台推送给游戏服务器的通知处理:https://leiting.feishu.cn/docx/Jc0IdLInJoLyCcxKNc6ccXATnEH
文档:https://leiting.feishu.cn/docx/Jc0IdLInJoLyCcxKNc6ccXATnEH
样例
public void pkg_sample()
{
import pkg.game_server.lt_client_notify;
lt_client_notify.setup({
"charge_order_collection" : "charge_orders",
"ip_whitelist" : [
"127.0.0.1"
]
});
printf("---------------------------------------------------\n");
// 处理充值订单通知
LtChargeOrderNotify order_para = LtChargeOrderNotify.new();
order_para.gameOrderNo = "ORDER001";
order_para.status = "success";
order_para.thirdNo = "thirdNo";
order_para.thirdAmount = "100";
order_para.currency = "CNY";
order_para.channelNo = "channel";
order_para.productId = "vip688";
order_para.userId = "U0000000001";
order_para.sign = "94ab1cd2ed0cf120342361963a309357";
ChargeOrderFunc order_func = (LtChargeOrderNotify para) {
printf("order para=%O\n", para);
// 具体处理订单
// if (false)
// {
// // 异常需要上报结果
// // 推送订单异常
// LtChargeReportOrderException exception = LtChargeReportOrderException.new();
// exception.gameOrderNo = para.gameOrderNo;
// ...
// exception.sign_by_key("kkk");
// exception.request("http://127.0.0.1:4567");
// }
return true;
};
bool order_result = lt_client_notify.on_charge_order_notify(order_para, "kkk", "127.0.0.1", order_func);
printf("order result=%O\n", order_result);
printf("---------------------------------------------------\n");
// 处理防沉迷登出通知
LtAddictionLogoutNotify logout_para = LtAddictionLogoutNotify.new();
logout_para.age = 18;
logout_para.game = "test_game";
logout_para.gameZone = "Zone001";
logout_para.isFast = 1;
logout_para.isHoliday = 1;
logout_para.onlineTime = 3600 * 24;
logout_para.timestamp = 1706254028;
logout_para.type = 1;
logout_para.token = "3dadbce7f806732b8204f92458668d60";
AddictionLogoutFunc logout_func = (LtAddictionLogoutNotify para) {
printf("addiction logout para=%O\n", para);
// 具体处理登出
return true;
};
LtAddictionLogoutNotifyResult result = lt_client_notify.on_addiction_logout_notify(logout_para, "zzz", logout_func);
printf("addition result status: %O, msg=%O\n", result.status, result.message);
}