# SuperX-APP-H5-Docs **Repository Path**: thinkive/SuperX-APP-H5-Docs ## Basic Information - **Project Name**: SuperX-APP-H5-Docs - **Description**: No description available - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-08-23 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # s-x-docs ## 对接文档 params 参数使用 String 类型的 JSON 数据结构。 App 回调JS,给的数据也使用 String 类型的 JSON 数据结构。 JS 与 APP 交互使用统一的函数名: callApp 。 安卓在 JS 全局注入的对象为:`_native_bridge `。 ### JS与App交互示例 js 调用 app 解锁游戏关卡, 发送以下数据到 App: ``` params: { "data": { "Body": { "UserID": 100000493, "Intent": 1, "IntentRequest": { "MatchID": 1568988, "TournamentID": 105, "EnergyAmount": 4, "Approachs": 8 } }, "ChannelInfo": { "Language": "zh_CN", "UserChannel": "TACHN", "ClientVersion": "1.0.0", "CountryID": "17" }, "Token": "xxxx", "totalPrice": 1 }, "functionName": "unlock", "success": "_native_bridge_success_call1", "error": "_native_bridge_error_call1" } App 回传数据给js: 成功: window['_native_bridge_success_call1']('{code: "1", data: ""}') 失败: window['_native_bridge_error_call1']('{ code: "0", message: "用户取消支付" }') ``` 安卓调用JS示例: ``` webView.loadUrl("javascript:window['_native_bridge_success_call1']('json string')"); // < android 4.4 webView.evaluateJavascript("javascript:window['_native_bridge_success_call1']('json string')") // >= android 4.4 参考:https://blog.csdn.net/carson_ho/article/details/64904691 ``` ### 解锁4颗星 ``` function name: unlock params: { "data": { "Body": { "UserID": 100000493, "Intent": 1, "IntentRequest": { "MatchID": 1568988, "TournamentID": 105, "EnergyAmount": 4, "Approachs": 8 } }, "ChannelInfo": { "Language": "zh_CN", "UserChannel": "TACHN", "ClientVersion": "1.0.0", "CountryID": "17" }, "Token": "xxxx", "totalPrice": 1 }, "functionName": "unlock", "success": "_native_bridge_success_call1", "error": "_native_bridge_error_call1" } // IntentRequest/ChannelInfo 等参数,是【对接TCM加星及复活及账号接口说明.pdf】文档中要求的参数。 // totalPrice 是总价,方便使用js灵活配置价格 // success 是支付成功的回调函数名称 // error 是支付失败的回调函数名称,用户取消支付,也调用这个。 // "success":"_native_bridge_success_call1", 这是暴露在js上的全局函数,当支付成功后,app调用这个即可,把数据放在里面。 // 回调 success 示例:window['_native_bridge_success_call1']('{code: 0}') // 注意:成功、失败的回调函数名称每次都会变化。 成功回传数据给 JS: data: { // 请求状态,0取消付款,1付款成功,2付款失败 code: "1", data: { PaymentID: "", // String Yes 订单 ID(合作方支付完成后生成的) Raw: {}, // Object 订单原始数据(合作方支付完成后生成的) Body: { "UserID": 100000493, "Intent": 1, "IntentRequest": { "MatchID": 1568988, "TournamentID": 105, "EnergyAmount": 4, "Approachs": 8 } } } } 失败回传数据给 JS: data: { code: "0", message: "用户取消支付" } ``` ### 复活 ``` function name: replay params: { "data": { "Body": { "UserID": 100000493, "Intent": 2, "IntentRequest": { "TournamentID": 105, "ReviveType": 1 } }, "ChannelInfo": { "Language": "zh_CN", "UserChannel": "TACHN", "ClientVersion": "1.0.0", "CountryID": "17" }, "Token": "xxxx", "totalPrice": 2 }, "functionName": "replay", "success": "_native_bridge_success_call1", "error": "_native_bridge_error_call1" } 成功回传数据给 JS: data: { // 请求状态,0取消付款,1付款成功,2付款失败 code: "1", data: { PaymentID: "", // String Yes 订单 ID(合作方支付完成后生成的) Raw: {}, // Object 订单原始数据(合作方支付完成后生成的) Body: { "UserID": 100000493, "Intent": 1, "IntentRequest": { "MatchID": 1568988, "TournamentID": 105, "EnergyAmount": 4, "Approachs": 8 } } } } 失败回传数据给 JS: data: { code: "0", message: "用户取消支付" } ```