# WebGame 渠道 API 文档 ## 渠道信息 - **渠道ID**: 25 - **渠道名称**: WebGame - **服务器地址**: `https://serverkfhero.3ligame.com/api` --- ## 1. 账号登录(WebGame) ### 接口地址 - **POST** `https://serverkfhero.3ligame.com/api/thirdLogin` ### 请求参数(JSON Body) | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | channel_id | number/string | 是 | 固定传 `25` | | uid | string | 是 | 用户ID | | token | string | 是 | 登录凭证(当前不校验) | | device_no | string | 否 | 设备号 | | reg_device | string | 否 | 注册设备信息 | | device_type | string | 否 | 设备类型 | | device_model | string | 否 | 设备型号 | | device_version | string | 否 | 设备版本 | | system_version | string | 否 | 系统版本 | | platform | string | 否 | 平台ID(落库用,可不传) | ### 请求示例 ```bash POST https://serverkfhero.3ligame.com/api/thirdLogin Content-Type: application/json { "channel_id": 25, "uid": "test%401234", "token": "any_token" } ``` ### 响应示例 ```json { "code": 1, "msg": "success", "data": { "uid": "test@1234", "platform": "unknown" } } ``` --- ## 2. 获取游戏 URL(getGameUrl) ### 接口地址 - **POST** `https://serverkfhero.3ligame.com/api/webgame/gameUrl` ### 请求参数(JSON Body) | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | uid | string | 是 | 用户ID | | platform | string | 是 | 平台ID | | time | number/string | 是 | 时间戳 | | back_url | string | 是 | 登录失败跳转 URL | | type | string | 是 | 登录类型:`web` / `pc` | | gkey | string | 否 | 游戏名缩写 | | skey | string | 否 | 区服ID | | is_adult | string/number | 否 | 防沉迷标识 | | exts | string | 否 | 透传参数 | | device_no | string | 否 | 设备号 | | reg_device | string | 否 | 注册设备信息 | | device_type | string | 否 | 设备类型 | | device_model | string | 否 | 设备型号 | | device_version | string | 否 | 设备版本 | | system_version | string | 否 | 系统版本 | ### 请求示例 ```bash POST https://serverkfhero.3ligame.com/api/webgame/gameUrl Content-Type: application/json { "uid": "test%401234", "platform": "4399", "time": 1710000000, "back_url": "https://www.example.com/back", "type": "web", "exts": "a=1&b=2" } ``` ### 响应示例 ```json { "code": 1, "msg": "success", "data": { "gameUrl": "https://.../login.html?uid=test%401234&platform=4399&time=1710000000&back_url=https%3A%2F%2Fwww.example.com%2Fback&type=web&exts=a%3D1%26b%3D2&sign=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" } } ``` --- ## 3. WebGame 权限校验(客户端仅传 sign) ### 接口地址 - **GET/POST** `https://serverkfhero.3ligame.com/api/webgame/auth` ### 请求参数 | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | sign | string | 是 | 从 `gameUrl` 上取到的 `sign` | ### 请求示例 ```bash GET https://serverkfhero.3ligame.com/api/webgame/auth?sign=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ``` ### 响应示例(成功) ```json { "code": 1, "msg": "success", "data": { "uid": "test@1234", "platform": "4399", "time": "1710000000", "gkey": "cssg", "skey": "1", "is_adult": "1", "exts": "a=1&b=2" } } ``` ### 响应示例(失败) ```json { "code": 0, "msg": "签名无效或已过期", "data": null } ``` --- ## 4. 支付回调接口(WebGame) ### 接口地址 - **GET/POST** `https://serverkfhero.3ligame.com/api/callback` ### 请求参数(Body 或 Query 均可,建议 POST Body) | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | channel_id | number/string | 是 | 固定传 `25` | | id | string | 是 | 渠道侧支付单号 | | user_id | string | 否 | 渠道侧用户ID(当前逻辑不参与验签) | | game_order | string | 是 | 我方订单号(用于发货) | | status | string | 是 | 支付状态,需为 `completed` 才会发货 | | amount | string/number | 是 | 支付金额(元) | | sign | string | 是 | 支付回调签名 | ### 请求示例 ```bash POST https://serverkfhero.3ligame.com/api/callback?channel_id=25 Content-Type: application/json { "id": "pay_123", "user_id": "u_1", "game_order": "CP202601010101010001", "status": "completed", "amount": "6.00", "sign": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" } ``` ### 响应示例 ```json { "code": 1, "msg": "发货成功", "data": {} } ``` --- ## 5. 角色查询(getUserRoleList) ### 接口地址 - **GET** `https://serverkfhero.3ligame.com/api/getUserRoleList` ### 请求参数(Query) | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | uid | string | 是 | 用户ID | | channel_id | number/string | 否 | 渠道ID(不传默认 1;WebGame 建议传 `25`) | ### 请求示例 ```bash GET https://serverkfhero.3ligame.com/api/getUserRoleList?uid=test%401234&channel_id=25 ``` ### 响应示例(成功) ```json { "code": 1, "msg": "请求成功", "data": [ { "roleId": "10001", "roleName": "张三", "zhandouli": 123456, "serverName": "S1", "serverId": 1, "createTime": "2026-04-20 12:00:00" } ] } ``` ### 响应示例(无角色) ```json { "code": 1, "msg": "请求成功", "data": [] } ```