混合式开发接口文档

来源:互联网 发布:优酷会员淘宝上没得卖 编辑:程序博客网 时间: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,之后通过身份验证接口重新认证身份。

参数说明

参数 参数类型 必须 说明 access_token String 是 该令牌唯一表示该用户、用户的组和用户的特权。 platform String 是 APP平台值:Android、iOS nodeCode String 是 节点标识,代表连接的是哪个节点服务器,该值是手机应用获取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

  • 返回说明

参数 参数类型 说明 uuid String 通用唯一识别码

获取手机APP版本号和版本名称

  • 接口名称

    ydh.device.getAppVersion

  • 返回说明

参数 参数类型 说明 platform String APP平台值:Android、iOS versionCode String APP的版本号 versionName String APP的版本名称

启动器

获取当前网络类型

  • 接口名称

    ydh.device.getNetworkType

  • 返回说明

参数 参数类型 说明 result String result值: wifi、2g、3g、4g、unknown、none,none表示离线

跳转至新的H5界面

  • 接口名称

    ydh.device.openPage

  • 参数说明

参数 参数类型 是否必须 说明 url String 是 新的url地址 title String 否 界面标题,用于设置界面标题,如果为空则界面使用默认的标题
  • 返回说明


弹窗

confirm

  • 接口名称

    ydh.device.showConfirm

  • 参数说明

参数 参数类型 说明 title String 标题 message String 消息说明 buttonLabels Array[String] 按钮名称,1~3个
  • 返回说明
参数 参数类型 说明 buttonIndex integer 被点击按钮的索引值,Number类型,从0开始,0~2

toast

  • 接口名称

    ydh.device.showToast

  • 参数说明

参数 参数类型 说明 text String 提示信息
  • 返回说明


showPreloader

  • 接口说明

    显示浮层,请和hidePreloader配对使用

  • 接口名称

    ydh.device.showPreloader

  • 参数说明

参数 参数类型 说明 text String loading显示的字符,空表示不显示文字
  • 返回说明


hidePreloader

  • 接口说明

    隐藏浮层,请和showPreloader配对使用

  • 接口名称

    ydh.device.showPreloader

  • 参数说明

  • 返回说明


业务

获取accessToken

  • 接口名称

    ydh.biz.getAccessToken

  • 参数说明

  • 返回说明

参数 参数类型 说明 accessToken String 访问令牌

登录

  • 接口名称

    ydh.biz.login

  • 接口说明

    调用此接口将会登录并自动跳转到相对应的主界面。

  • 参数说明

参数 参数类型 是否必须 说明 username String 是 用户名 password String 是 密码
  • 返回说明


切换账号

  • 接口名称

    ydh.biz.changeAccount

  • 接口说明

    调用此接口将会跳转到切换账号界面。

  • 参数说明

  • 返回说明


注销

  • 接口名称

    ydh.biz.logout

  • 接口说明

    调用此接口将会注销,并跳转到登录界面。

  • 参数说明

  • 返回说明


分享

  • 接口名称

    ydh.biz.shareContent

  • 参数说明

参数 参数类型 说明 url String url地址 title String 分享标题 content String 分享内容 image String 分享的图片
  • 返回说明


评分

  • 接口名称

    ydh.biz.grade

  • 参数说明

  • 返回说明


图片浏览器

  • 接口说明

    调用此api,将显示一个图片浏览器

  • 接口名称

    ydh.biz.showImages

  • 参数说明

参数 参数类型 说明 urls Array[String] 图片地址列表 current String 当前显示的图片链接
  • 返回说明


保存图片到手机

  • 接口说明

    调用此api,将图片保存到手机

  • 接口名称

    ydh.biz.saveImage

  • 参数说明

参数 参数类型 是否必须 说明 url String 是 图片地址 name String 否 图片名称,默认是yyyyMMddHHmmss.jpg,后缀名根据实际的图片类型而定
  • 返回说明


日期选择器

  • 接口说明

    注意:format只支持android系统规范,即2015-03-31格式为yyyy-MM-dd

  • 接口名称

    ydh.biz.pickDate

  • 参数说明

参数 参数类型 说明 format String format只支持android系统规范,即2015-03-31格式为yyyy-MM-dd value String 默认显示日期
  • 返回说明
参数 参数类型 说明 value String 返回选择的日期

选择图片上传(多图片,拍照是单图片)

  • 接口说明

    将在成功上传之后回调onSuccess方法,返回图片链接。如果选择了拍照上传,则拍完照后马上上传,上传完毕直接返回url给H5页面。调用此接口后,APP将会启动图片选择界面,用户选择图片就进入上传图片等待,待图片上传完毕后将返回图片url数组。

  • 接口名称

    ydh.biz.uploadImages

  • 参数说明

参数 参数类型 说明 multiple Boolean 是否多选,默认false max Number max为正整数,最多可选个数 attachmentType Number 附件类型,attachmentType为正整数,1是商品附件,2是订单附件,3是通知附件,5是反馈附件,7是付款记录附件
  • 返回说明
参数 参数类型 说明 imageInfos Array[Object] 图片信息列表,信息对象包含attachment,fileName和size等信息

选择文件上传(单文件)

  • 接口说明

    将在成功上传之后回调onSuccess方法,返回文件链接。

  • 接口名称

    ydh.biz.uploadFile

  • 参数说明

参数 参数类型 说明 attachmentType Number 附件类型,attachmentType为正整数,1是商品附件,2是订单附件,3是通知附件,4是付款记录附件
  • 返回说明
参数 参数类型 说明 fileInfo Object 信息对象包含attachment,fileName和size等信息

获取数据

  • 接口说明

    从平台获取相关数据。

  • 接口名称

    ydh.biz.getData

  • 参数说明

参数 参数类型 说明 dataType String 数据类型
  • 返回说明
参数 参数类型 说明 dataType String 数据类型 data Object 数据对象

电话

打电话

  • 接口名称

    ydh.biz.call

  • 参数说明

参数 参数类型 说明 phone String 电话号码

发短信

  • 接口名称

    ydh.biz.sendMessage

  • 参数说明

参数 参数类型 说明 telephone String 手机号码 text String 短信内容

扫码

  • 接口名称

    ydh.biz.scanCode

  • 参数说明

参数 参数类型 说明 type String type为qrCode或者barCode
  • 返回说明
参数 参数类型 说明 text String 扫码内容

下载

  • 接口名称

    ydh.biz.download

  • 接口说明

    使用系统浏览器进行下载

  • 参数说明

参数 参数类型 说明 downloadUrl String 下载地址
  • 返回说明


支付

支付宝支付

  • 接口名称

    ydh.biz.alipay.pay

  • 参数说明

参数 参数类型 说明 info String 需要构建的订单信息,参考支付宝文档:https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.CKTNjZ&treeId=59&articleId=103663&docType=1
  • 返回说明

    透传了支付宝支付接口处理订单的结果,请按支付宝文档正确处理订单信息。

参数 参数类型 说明 memo String 保留参数,一般无内容 result String 本次操作返回的结果数据 resultStatus String 本次操作的状态返回值,标识本次调用的结果,参考:https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.MMxZUF&treeId=59&articleId=103671&docType=1

易极付支付

  • 接口名称

    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

  • 参数说明

参数 参数类型 是否必须 说明 backgroundColor String 否 背景颜色,ARGB格式,如#deffffff,为空则不设置
  • 返回说明


导航栏

ydh.biz.navigation

设置导航栏标题

  • 接口名称

    ydh.biz.navigation.setTitle

  • 参数说明

参数 参数类型 说明 title String 控制标题文本,空字符串表示显示默认文本
  • 返回说明


设置导航栏可见性

  • 接口名称

    ydh.biz.navigation.setVisibility

  • 参数说明

参数 参数类型 说明 visibility Integer 0代表不可见,1代表可见
  • 返回说明


设置导航栏背景颜色

  • 接口名称

    ydh.biz.navigation.setBackgroundColor

  • 参数说明

参数 参数类型 说明 color String ARGB格式,如#deffffff
  • 返回说明


设置导航栏右侧多个按钮

  • 接口名称

    ydh.biz.navigation.setMenu

  • 参数说明

参数 参数类型 是否必须 说明 backgroundColor String 否 下拉菜单背景色 items JSONOArray 是 多个按钮的属性数组 item.id String 是 每一个item的唯一标示 item.iconId String 否 预置icon的索引值 item.text String 是 item的文字属性
  • 返回说明

    点击任一一个按钮将会回调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索引值对应的图片
索引值 说明 对应图标 share 分享图标 这里写图片描述

返回上一个界面

  • 接口说明

    调用该接口返回到上一个界面,如果本界面是首页则退出应用

  • 接口名称

    ydh.biz.navigation.finish

  • 参数说明

  • 返回说明


底部标签栏

ydh.biz.tab注意:此接口只在带标签栏的页面起效,不通用

设置底部标签栏可见性

  • 接口名称

    ydh.biz.tab.setVisibility

  • 参数说明

参数 参数类型 说明 visibility Integer 0代表不可见,1代表可见
  • 返回说明


应用界面

打开订单列表界面

  • 接口名称

    ydh.biz.ui.openOrderList

  • 参数说明

  • 返回说明


打开订单详情界面

  • 接口名称

    ydh.biz.ui.openOrderDetail

  • 参数说明

参数 参数类型 说明 orderNum String 订单号
  • 返回说明


打开退单详情界面

  • 接口名称

    ydh.biz.ui.openReturnOrderDetail

  • 参数说明

    参数 参数类型 说明 returnOrderNum String 退单号
  • 返回说明


打开客户反馈列表

  • 接口名称

    ydh.biz.ui.openCustomerFeedbackList

  • 参数说明

  • 返回说明


打开系统反馈列表界面

  • 接口名称

    ydh.biz.ui.openSystemFeedbackList

  • 参数说明

  • 返回说明


打开通知详情界面

  • 接口名称

    ydh.biz.ui.openNoticeDetail

  • 参数说明

参数 参数类型 说明 noticeId Long 待定
  • 返回说明


打开扫码出库界面

  • 接口名称

    ydh.biz.ui.openScanOutStorage

  • 参数说明

  • 返回说明


打开发货核验界面

  • 接口名称

    ydh.biz.ui.openSendOutVerification

  • 参数说明

  • 返回说明


特别说明

  1. html里的事件不能使用内联的方式,必须使用javascript为document添加事件监听方式。

    document.getElementById("myBtnOne").addEventListener("click", myBtnOneOnClick);
  2. cordova开发如何解决中文乱码?
    在html页面增加如下代码。

    <meta http-equiv="Content-type" content="text/html; charset=utf-8">

    出现乱码的原因是网页与平台(Android/iOS)的编码不一致,而目前Android和iOS项目开发所用的编码均为utf-8,所以在网页需要添加编码配置。

  3. Android平台上将APP上的js代码直接放到服务器,然后在APP里调用网页,无法正常运行。
    针对WhitelistPlugin类,需要复写shouldAllowBridgeAccess方法。

        /**     * 链接远程url需要覆写这个方法     * @param url     * @return     */    @Override    public Boolean shouldAllowBridgeAccess(String url) {        return true;    }

    无法正常运行的的原因是:WhitelistPlugin默认只支持本地url的加载,而http开头的url则无法通过,所以导致无法正常运行。复写shouldAllowBridgeAccess返回true,则允许通过所有方式进行加载。

  4. 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
1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 银行卡绑定的手机号空号了怎么办 微信提示绑定银行卡次数超限怎么办 手机卡太久没用被注销了怎么办 电信宽带欠费缴费后上不了网怎么办 电信宽带欠费后缴费连不上网怎么办 电脑开不了机屏亮但不开机怎么办 手机信息探探链接点开了怎么办 买的钻戒的票丢掉了怎么办 如果我过户了原来的积分怎么办? 英雄联盟安装到了一半卡住了怎么办 微信登录不上怎么办一直在转圈 lol老是忘了放装备技能怎么办 英雄联盟屏幕出现红框锁定了怎么办 钢三开局修改对电脑有用怎么办 我的世界为什么一直黑屏闪退怎么办 苹果6plus玩游戏闪退怎么办 电脑重置开机黑屏了怎么办才好? 龟头有一小块和鱼鳞一样脱皮怎么办 海盗来了赠送碎片密码忘了怎么办 王者荣耀还差几百金币买英雄怎么办 英雄联盟更新后画面突然很卡怎么办 苹果手机微信登陆没反应怎么办 谷歌商店注册短信一直验证怎么办 英雄联盟开游戏退出来进不去怎么办 忘记了路由器和网关的密码怎么办 逆战无尽塔防71关没怪了怎么办 看香的师傅要钱特别多怎么办 电商企业有收入支出没发票怎么办 洗衣液没稀释把衣服染褪色了怎么办 衣服被洗衣液洗褪色了怎么办 b站不小心点了差评怎么办 c盘文件目录损坏且无法读取怎么办 打印发票时发票上的字体变大怎么办 淘宝店铺食品违法遇到打假人怎么办 搜狗输入法说我没有权限安装怎么办 申请移民美国期间护照到期了怎么办 自己申请的qq号账号忘了怎么办 苹果手机下完游戏找不到在哪怎么办 苹果四下游戏的密码忘了怎么办 qq斗地主老自动发消息怎么办 微信小程序斗地主被限制了怎么办