ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
## H5与原生交互插件 天马框架,本身集成了cordova功能。提供了一些框架插件功能。在使用下列插件之前,需要先引用下面js: ``` <script type="text/javascript" src="http://review.360tianma.com/cordova/exec/cordova.js"></script> <script type="text/javascript" src="http://review.360tianma.com/cordova/exec/tmcontroller.js"></script> ``` ### 1组件消息通信 ``` 插件说明:不同组件之间进行消息通信 插件名称:TMController 调用方法:sendMessage 入参类型:JSON ``` >入参: | 参数名|含义 | 规则说明 | 参数类型 |是否必须 |缺省值 | |:-------------:|:-------------|:-------------|:-------------|:-------------|:-------------| |ClassName|类名|目标控制器的类名|String|是|无| |message|要发送的消息|由开发者自定义,JSON格式字符串|String|是|无| >调用实例: ``` function create(){ var title = document.getElementById("title").value; var content = document.getElementById("content").value; var messageJson = "{\"title\":\""+title+"\",\"content\":\""+content+"\"}"; TMController.sendMessage(className,messageJson,onSuccess, onError); //成功返回: {} function onSuccess(msg){ alert(msg); } //失败返回: {"error":"失败信息"} function onError(error){ alert(error); } } ``` --- ### 2打开Native新窗口 ``` 插件说明:A组件需要打开B组件界面 插件名称:TMController 调用方法:openNativeInterface 入参类型:JSON ``` >入参: | 参数名|含义 | 规则说明 | 参数类型 |是否必须 |缺省值 | |:-------------:|:-------------|:-------------|:-------------|:-------------|:-------------| |className|类名|需要打开页面的控制器类名|String|是|无| |arguments|参数|JSON格式字符串|String|否|无| >调用实例: ``` function openNativeInterface(){ var className = "TMViewController"; var title = document.getElementById("title").value; var content = document.getElementById("content").value; var arguments = "{\"title\":\""+title+"\",\"content\":\""+content+"\"}"; TMController.openNativeInterface(className, arguments,onSuccess, onError); } ``` --- ### 3打开Native新窗口加载HTML页面 ### ``` 插件说明:组件打开Native新窗口加载HTML页面 插件名称:TMController 调用方法:openHtmlInterface 入参类型:JSON ``` >入参: | 参数名|含义 | 规则说明 | 参数类型 |是否必须 |缺省值 | |:-------------:|:-------------|:-------------|:-------------|:-------------|:-------------| |loadUrl|URL|如果是远程H5, 则填写全连接,如果是本地H5,则填写文件名|String|是|无| |folder|文件路径|如果是本地网页,这填写文件路径|String|否|无| >调用实例: ``` function openHtmlInterface(){ var loadUrl = "https://www.360tianma.com"; var folder = ""; TMController.openHtmlInterface(loadUrl, folder, onSuccess, onError); } ``` ***** ### 4.检测是否登录 ``` 插件说明:检测是否登录 插件名称:TMController 调用方法:checkLogin 入参类型:结果回调 ``` >调用实例: ``` function checkLogin(){ var onSuccess = function(result) { alert('是否登录:' + result); }; TMController.checkLogin(onSuccess); } ``` --- ### 5.获取会员信息 ### ``` 插件说明:获取登陆后的会员信息 插件名称:TMController 调用方法:getUser 入参类型:成功或者失败回调 ``` >调用实例: ``` function getUserInfo(){ TMController.getUser(onSuccess, onError); function onSuccess(userInfo) { alert(userInfo); } function onError(error) { alert(error); } } ``` >返回结果: ``` 如果未登录,则返回错误,走onError回调 如果已登录,则以Json格式返回会员信息,例如: {"member_id":1,"member_nickname":"昵称"} 返回的更多参数,请参考TMHttpUserInstance.h类文件 ``` --- ### 6.获取基础配置信息 ### ``` 插件说明:获取基础配置信息 插件名称:TMController 调用方法:getBaseConfig 入参类型:成功或者失败回调 ``` >调用实例: ``` function getBaseConfig(){ TMController.getBaseConfig(onSuccess); function onSuccess(baseConfig) { alert(baseConfig); } function onError(error) { alert(error); } } ``` >返回结果: ``` 以Json格式返回基础配置信息,例如: { "domain":"http://review.360tianma.com", "siteCode":"00000000000000000000000000000000", "themeColor":"#d81e06", "titleColor":"#ffffff", "backgroundType": 0, "backgroundValue": "#d81e06" } domain域名, themeColor主题色, titleColor 导航栏标题颜色, backgroundType标题栏背景类型(0:16进制色值字符串(如#1479D7),1:图片base64字符串,2:图片网络链接,默认为色值字符串), backgroundValue标题栏背景颜色值。 ``` --- ### 7.跳转到登录界面 ### ``` 插件说明:跳转到登录界面 插件名称:TMController 调用方法:openLoginInterface 入参类型:成功或失败回调 ``` >调用实例: ``` function openLoginInterface(){ TMController.openLoginInterface(onSuccess,onError); function onSuccess() { alert("onSuccess"); } function onError(error) { alert(error); } } ``` >返回结果: ``` 如果登录成功则走成功回调,并返回会员信息 前往登录页面失败或者用户主动取消登录并返回,则走失败回调 ``` --- ### 8.跳转到会员中心界面 ### ``` 插件说明:跳转到会员中心界面 插件名称:TMController 调用方法:openUCMainInterface 入参类型:无参数 ``` >调用实例: ``` function openUCMainInterface(){ TMController.openUCMainInterface(); } ``` --- ### 9.跳转到绑定手机界面 ### ``` 插件说明:跳转到登录界面 插件名称:TMController 调用方法:openBindingMobileInterface 入参类型:成功或者失败回调 ``` >调用实例: ``` function openBindingMobileInterface(){ TMController.openBindingMobileInterface(onSuccess,onError); function onSuccess() { alert("onSuccess"); } function onError(error) { alert(error); } } ``` >返回结果: ```、 成功跳转到绑定手机号页面则走成功回调 前往绑定手机号页面失败,或手机号已存在,则走失败回调 ``` ### 10.分享网页 ### ``` 插件说明:分享网页到第三方平台 插件名称:TMController 调用方法:shareUrl ``` >入参: | 参数名|含义 | 规则说明 | 参数类型 |是否必须 |缺省值 | |:-------------:|:-------------|:-------------|:-------------|:-------------|:-------------| |description|描述|分享内容的描述|String|否|无| |thumb|缩略图|缩略图的地址|String|否|无| |title|标题|分享的标题|String|否|无| |url|链接地址|分享的链接地址|String|否|无| >调用实例: ``` function shareUrl(){ var des = "描述"; var thumb = "缩略图"; var title = "标题"; var url = "链接"; TMController.shareUrl(onSuccess,onError, des,thumb,title,url); var onSuccess = function(data) { //platformType:分享的平台信息,1:QQ,2:微信,3:微博,4:未知 alert('platformType: ' + data.platformType + '\n'); }; function onError(msg) { alert('error: ' + msg); } } ``` ### 11.分享图片 ### ``` 插件说明:分享图片到第三方平台 插件名称:TMController 调用方法:shareImage 入参类型:String ``` >入参: | 参数名|含义 | 规则说明 | 参数类型 |是否必须 |缺省值 | |:-------------:|:-------------|:-------------|:-------------|:-------------|:-------------| |图链接|图片链接|分享的图片|String|否|APP图标| >调用实例: ``` function shareImage(){ var des = "描述"; TMController.shareImage(onSuccess, onError, des); var onSuccess = function(data) { //platformType:分享的平台信息,1:QQ,2:微信,3:微博,4:未知 alert('platformType: ' + data.platformType + '\n'); }; function onError(msg) { alert('error: ' + msg); } } ``` ### 12.分享文本 ### ``` 插件说明:分享文本到第三方平台 插件名称:TMController 调用方法:shareText 入参类型:String ``` >入参: | 参数名|含义 | 规则说明 | 参数类型 |是否必须 |缺省值 | |:-------------:|:-------------|:-------------|:-------------|:-------------|:-------------| |description|描述|分享的文本|String|是|无| >调用实例: ``` function shareText(){ var des = "描述"; TMController.shareText(onSuccess, onError, des); function onSuccess(platform) { alert(platform); } function onError(error) { alert(error); } } ``` >返回结果: ``` 成功返回分享的平台 失败返回错误信息 ``` ### 13.弹出支付对话框 ### ``` 插件说明:弹出支付方式选择的对话框 插件名称:TMController 调用方法:showPayDialog ``` >入参: | 参数名|含义 | 规则说明 | 参数类型 |是否必须 |缺省值 | |:-------------:|:-------------|:-------------|:-------------|:-------------|:-------------| |cost|支付的金额|显示支付的金额(如3.5)|String|是|无| >调用实例: ``` function showPayDialog(){ var cost= "12.5"; TMController.showPayDialog(onSuccess, onError, cost); function onSuccess(type) { alert(type); } function onError(error) { alert(error); } } ``` >返回结果: ``` 成功返回选择的支付类型,请将该数据原样返回给后端签名 失败返回错误信息 ``` ### 14.前往支付 ### ``` 插件说明:前往支付 插件名称:TMController 调用方法:gotoPay ``` >入参: | 参数名|含义 | 规则说明 | 参数类型 |是否必须 |缺省值 | |:-------------:|:-------------|:-------------|:-------------|:-------------|:-------------| |type|支付方式(1:支付宝 2:微信)|支付选择框中选择的支付方式|String|是|无| |content|签名|后端签名后的数据|String|是|无| >调用实例: ``` function gotoPay(type, content){ TMController.gotoPay(onSuccess, onError, type,content); function onSuccess() { } function onError(error) { alert(error); } } ``` >返回结果: ``` 成功无返回结果 失败返回错误信息 ``` ### 15.获取支持的支付平台 ### ``` 插件说明:前往支付 插件名称:TMController 调用方法:getPaySupportPlatform ``` >入参: >调用实例: ``` function getPaySupportPlatform(type, content){ TMController.getPaySupportPlatform(onSuccess, onError); function onSuccess() { } function onError(error) { alert(error); } } ``` >返回结果: ``` 成功:返回支持的平台数据,其中 1:支付宝 2:微信 失败返回错误信息 ```