建行生活原生与h5交互规范接口1.3

文档修订记录

版本 日期 修订说明
1.0 2023.06.06 初始版本
1.1 20230726 新增拍照、定位api

{{TOC}}

1. 规范说明

本文档所描述API适用于建行移动平台统一H5 api的native与H5交互规范。

1.1 H5请求JS Bridge api交互指令

用于H5调用由Native提供的js api能力,如扫一扫、定位、登录等能力。

// H5请求
/**
 * H5与native api交互
 * service:api类型
 * action:api名称
 * params:参数
 * callBack:回调方法名,H5自定义,通过变量的方式传递到客户端,供客户端执行指令后回调
 */
CCBMofeBridge.exec(service,action,params,callBackTmp)


// native回调callBackTmp格式定义
/**
 * 客户端回调H5调用的js方法示例
 * data:返回的数据,json格式
 * state:返回状态,0:成功,1:失败,-2:功能未开通
 */
callBackTmp('{
    "data":"", //jsonStr api响应字典转Json
    "status":"0", //状态码
}')

2. api交互指令定义

2.2 callCamera

请求参数

属性 类型 默认值 必填 说明
sourceType string - album 相册/ camera 拍照
maxSize string - 图片最大大小,单位为k
count string - 默认值为1,最多可以选择的图片张数,目前仅建行生活支持,仅调用相册时支持

成功响应内容

属性 类型 说明
imgs list 图片base64串数组

失败响应内容

属性 类型 说明
errCode string 错误码,1014:用户未授权,0001:参数错误,-1:用户取消
errMsg string 错误信息

调用示例

var param={
    "sourceType":"album",
    "maxSize":"1024",
    "count":"2"
}
function callback(res){}
window.callback = callback
window.CCBMofeBridge.exec("baseAPI", "callCamera",JSON.stringify(param),'callback');

响应示例

//成功响应示例
{
    "data":{
        "imgs":[data:image/png;base64,xxxxxxxx,data:image/png;base64,xxxxxxxx,],
  },
  "status":"0",//0:成功,1:失败,-2:功能未开通
}
//失败响应示例
{
    "data":{
        "errCode":"",
            "errMsg":""
  },
  "status":"1",//0:成功,1:失败,-2:功能未开通
}

2.4 getPosition

请求参数

属性 类型 默认值 建行生活是否必填 手机银行是否必填 说明
Can_Ahn_Inst string - 机构号
appName string - 名称
cdnLogoUrl string - logoUrl地址
mode string 1 定位模式,0:缓存优先,先返回上一次定位缓存再异步更新缓存
1:即时定位,loading等待即时定位后返回,并更新缓存
默认为0
2:兜底定位,先实时定位,超时后返回缓存定位
timeout string 1 定位API超时时间,默认值为2s,支持通用技术参数配置,字段为locationCacheTime

成功响应内容

属性 类型 说明
cityName string 城市名称,如:广州市
cityCode string 城市代码,如:440100
latitude string 维度
longitude string 经度
address string 地址
adCode string 区域行政编码,如:440106
gpsType string 坐标系,bd09为百度,gcj02为高德

失败响应内容

属性 类型 说明
gpsType string 坐标系,bd09为百度,gcj02为高德
bizCode string 地图sdk原始定位结果错误码
errCode string 错误码,1014:用户未授权;1016:手机GPS开关未开启;1017:地图sdk返回失败;0001:参数错误
errMsg string 错误信息

调用示例

var param={
    
}
function callback(res){}
window.callback = callback
window.CCBMofeBridge.exec("baseAPI", "getPosition",JSON.stringify(param),'callback');

响应示例

//成功响应示例
{
    "data":{
      "gpsType":"bd09",
      "adCode":"440106",
      "address":"中国广东省广州市天河区猎德街道珠江新城华夏路10号",
      "cityCode":"440100",
      "cityName":"广州市",
      "latitude":"23.123691",
      "longitude": "113.329941"
  },
  "status":"0",//0:成功,1:失败,-2:功能未开通
}
//失败响应示例
{
    "data":{
      "gpsType":"bd09",
      "bizCode":"06",
        "errCode":"1017",
            "errMsg":"定位失败"
  },
  "status":"1",//0:成功,1:失败,-2:功能未开通
}