混合式开发接口文档
来源:互联网 发布:优酷会员淘宝上没得卖 编辑:程序博客网 时间:2024/05/15 07:59
通用
页面引入js文件
js文件版本在添加升级功能时地址会变化,如有需要(比如要使用新增的js-api),请随时关注地址变更。但是旧版本js文件也将一直可用。
http://res.dinghuo123.com/app/ydh/dist/js/lib/hybrid.js
这个脚本在客户端执行,判断平台后实际使用不同代码。如果想减少交互次数,可以在服务器直接判断平台后,调取不同的js代码。
Android:http://res.dinghuo123.com/app/ydh/dist/js/lib/hybrid/android/cordova.js
iOS:http://res.dinghuo123.com/app/ydh/dist/js/lib/hybrid/ios/cordova.js
全局变量、命名空间
直接引入hybird.js会得到一个全局变量ydh
命名空间:设备(ydh.device)、业务(ydh.biz)
权限验证
H5应用模块的URL后面增加参数access_token,access_token由移动应用提供。
当网页超时发生302异常时,网页程序需要从APP获取accessToken,之后通过身份验证接口重新认证身份。
参数说明
接口约定
- 所有接口都为异步
- 接受一个object类型的参数
- 成功回调onSuccess(某些异步接口的成功回调,将在事件触发时被调用,具体详情请查看相关onSuccess回调时机,未做描述的即为同步接口)
- 失败回调 onFail
如下showToast的接口:
function myBtnOneOnClick(){ ydh.device.showToast(function(result){ alert("success:"+result); },function(err){ alert("error:"+err); },{ text:'Hello world again!' });}
设备
ydh.device
获取通用唯一识别码
接口名称
ydh.device.getUuid
返回说明
获取手机APP版本号和版本名称
接口名称
ydh.device.getAppVersion
返回说明
启动器
获取当前网络类型
接口名称
ydh.device.getNetworkType
返回说明
跳转至新的H5界面
接口名称
ydh.device.openPage
参数说明
返回说明
无
弹窗
confirm
接口名称
ydh.device.showConfirm
参数说明
- 返回说明
toast
接口名称
ydh.device.showToast
参数说明
返回说明
无
showPreloader
接口说明
显示浮层,请和hidePreloader配对使用
接口名称
ydh.device.showPreloader
参数说明
返回说明
无
hidePreloader
接口说明
隐藏浮层,请和showPreloader配对使用
接口名称
ydh.device.showPreloader
参数说明
无
返回说明
无
业务
获取accessToken
接口名称
ydh.biz.getAccessToken
参数说明
无
返回说明
登录
接口名称
ydh.biz.login
接口说明
调用此接口将会登录并自动跳转到相对应的主界面。
参数说明
返回说明
无
切换账号
接口名称
ydh.biz.changeAccount
接口说明
调用此接口将会跳转到切换账号界面。
参数说明
无
返回说明
无
注销
接口名称
ydh.biz.logout
接口说明
调用此接口将会注销,并跳转到登录界面。
参数说明
无
返回说明
无
分享
接口名称
ydh.biz.shareContent
参数说明
返回说明
无
评分
接口名称
ydh.biz.grade
参数说明
无
返回说明
无
图片浏览器
接口说明
调用此api,将显示一个图片浏览器
接口名称
ydh.biz.showImages
参数说明
返回说明
无
保存图片到手机
接口说明
调用此api,将图片保存到手机
接口名称
ydh.biz.saveImage
参数说明
返回说明
无
日期选择器
接口说明
注意:format只支持android系统规范,即2015-03-31格式为yyyy-MM-dd
接口名称
ydh.biz.pickDate
参数说明
- 返回说明
选择图片上传(多图片,拍照是单图片)
接口说明
将在成功上传之后回调onSuccess方法,返回图片链接。如果选择了拍照上传,则拍完照后马上上传,上传完毕直接返回url给H5页面。调用此接口后,APP将会启动图片选择界面,用户选择图片就进入上传图片等待,待图片上传完毕后将返回图片url数组。
接口名称
ydh.biz.uploadImages
参数说明
- 返回说明
选择文件上传(单文件)
接口说明
将在成功上传之后回调onSuccess方法,返回文件链接。
接口名称
ydh.biz.uploadFile
参数说明
- 返回说明
获取数据
接口说明
从平台获取相关数据。
接口名称
ydh.biz.getData
参数说明
- 返回说明
电话
打电话
接口名称
ydh.biz.call
参数说明
发短信
接口名称
ydh.biz.sendMessage
参数说明
扫码
接口名称
ydh.biz.scanCode
参数说明
- 返回说明
下载
接口名称
ydh.biz.download
接口说明
使用系统浏览器进行下载
参数说明
返回说明
无
支付
支付宝支付
接口名称
ydh.biz.alipay.pay
参数说明
返回说明
透传了支付宝支付接口处理订单的结果,请按支付宝文档正确处理订单信息。
易极付支付
接口名称
ydh.biz.yiji.pay
参数说明
参数 参数类型 是否必须 说明 merchantAccount String 是 厂商端银行账号 ticketNo String 是 订单流水号 buyerAccountId String 是 买家ID返回说明
参数 参数类型 说明 resultCode int 200代表“支付成功”,300代表“在线支付已取消”,400代表“支付失败”,201代表“业务正在受理中”,401代表“检验失败,请重试” message String resultCode对应的信息
易极付注册
接口名称
ydh.biz.yiji.registerForYiJi
参数说明
无
返回说明
参数 参数类型 说明 resultCode int 0代表“注册失败”,1代表“注册成功” message String resultCode对应的信息
状态栏
ydh.biz.statusBar
设置状态栏属性
接口名称
ydh.biz.statusBar.setAttributes
参数说明
返回说明
无
导航栏
ydh.biz.navigation
设置导航栏标题
接口名称
ydh.biz.navigation.setTitle
参数说明
返回说明
无
设置导航栏可见性
接口名称
ydh.biz.navigation.setVisibility
参数说明
返回说明
无
设置导航栏背景颜色
接口名称
ydh.biz.navigation.setBackgroundColor
参数说明
返回说明
无
设置导航栏右侧多个按钮
接口名称
ydh.biz.navigation.setMenu
参数说明
返回说明
点击任一一个按钮将会回调onSuccess,并返回被点击item的id
多个按钮排序规则
items个数小于等于两个,将在右上角直接排列,多于两个则变成菜单形式
例子
ydh.biz.navigation.setMenu(function(result){ alert("success:"+result); },function(err){ alert("error:"+err); },{ backgroundColor:"#888888", items:[{ id:"1", iconId:"share", text:"分享" },{ id:"2", iconId:"send", text:"发送" }] });
- icon索引值对应的图片
返回上一个界面
接口说明
调用该接口返回到上一个界面,如果本界面是首页则退出应用
接口名称
ydh.biz.navigation.finish
参数说明
无
返回说明
无
底部标签栏
ydh.biz.tab注意:此接口只在带标签栏的页面起效,不通用
设置底部标签栏可见性
接口名称
ydh.biz.tab.setVisibility
参数说明
返回说明
无
应用界面
打开订单列表界面
接口名称
ydh.biz.ui.openOrderList
参数说明
无
返回说明
无
打开订单详情界面
接口名称
ydh.biz.ui.openOrderDetail
参数说明
返回说明
无
打开退单详情界面
接口名称
ydh.biz.ui.openReturnOrderDetail
参数说明
参数 参数类型 说明 returnOrderNum String 退单号返回说明
无
打开客户反馈列表
接口名称
ydh.biz.ui.openCustomerFeedbackList
参数说明
无
返回说明
无
打开系统反馈列表界面
接口名称
ydh.biz.ui.openSystemFeedbackList
参数说明
无
返回说明
无
打开通知详情界面
接口名称
ydh.biz.ui.openNoticeDetail
参数说明
返回说明
无
打开扫码出库界面
接口名称
ydh.biz.ui.openScanOutStorage
参数说明
无
返回说明
无
打开发货核验界面
接口名称
ydh.biz.ui.openSendOutVerification
参数说明
无
返回说明
无
特别说明
html里的事件不能使用内联的方式,必须使用javascript为document添加事件监听方式。
document.getElementById("myBtnOne").addEventListener("click", myBtnOneOnClick);
cordova开发如何解决中文乱码?
在html页面增加如下代码。<meta http-equiv="Content-type" content="text/html; charset=utf-8">
出现乱码的原因是网页与平台(Android/iOS)的编码不一致,而目前Android和iOS项目开发所用的编码均为utf-8,所以在网页需要添加编码配置。
Android平台上将APP上的js代码直接放到服务器,然后在APP里调用网页,无法正常运行。
针对WhitelistPlugin类,需要复写shouldAllowBridgeAccess方法。/** * 链接远程url需要覆写这个方法 * @param url * @return */ @Override public Boolean shouldAllowBridgeAccess(String url) { return true; }
无法正常运行的的原因是:WhitelistPlugin默认只支持本地url的加载,而http开头的url则无法通过,所以导致无法正常运行。复写shouldAllowBridgeAccess返回true,则允许通过所有方式进行加载。
Android平台上将APP上的js代码直接放到服务器,然后在iOS平台进行访问,无法正常运行。
由于cordova在Android和iOS平台上SDK的代码不一样,所以出现无法正常运行情况。
解决思路:将Android和iOS平台上的cordova关于js的代码混合起来,然后通过外部参数决定使用哪一个平台的代码。
解决方案:新增hybird.js文件实现逻辑,在url上新增platform参数,值是Android或者iOS,如下var queryString = getQueryString("platform"); if(queryString=='Android'){ include('platform/android/cordova.js'); }else if(queryString=='iOS'){ include('platform/ios/cordova.js'); } else { alert('Not Android or iOS platform!'); }
本地调试时,增加platform参数
<content src="index.html?platform=Android" />
远程调试时,增加platform参数
http://res.dinghuo123.com/app/www/index.html?platform=iOS
- 混合式开发接口文档
- Hybrid App 混合式开发
- vux 混合式开发
- AppCon 混合式开发
- Builder 混合式开发
- 如何开发混合式app
- 混合式APP开发问题记录
- 混合式开发App步骤详解
- 开发使用混合式Winform模块 WCF
- 7个混合式HTML5移动开发框架
- 7个混合式HTML5移动开发框架
- 7个混合式HTML5移动开发框架
- 5个好用的混合式App开发工具
- iOS使用ionic实现混合式开发
- Html5 + android原生 混合式开发(一)
- Html5 + android原生 混合式开发(二)
- Html5 + android原生 混合式开发(一)
- 彩e接口开发文档
- 安全测试的清单
- Linux查看程序端口占用情况
- 删除Array重复元素的方法
- composer (一)
- jquery和jqueryMobile的js文件引入
- 混合式开发接口文档
- struts2+jquery实现ajax异步提交并返回json串
- java 自定义注解
- HTML5新特性及标签标记概要
- 环形染色法
- Restricted Boltzmann Machine (RBM)限制波尔兹曼机
- 这里面70%以上的我都知道。还是普及给那些不知道的人吧
- DataOutputStream和DataInputStream
- 分布式文件存储FastDFS(五)FastDFS常用命令总结