设备通用API

设备通用API 都是以device. 开头描述的。

其中:

  • device.base.xx 代表app或设备的相关信息
  • device.util.xx 代表一些通用的功能
  • device.notification.xx 代表通知类的相关功能
  • device.navigation.xx 代表设置navigationBar的相关功能

接口列表

接口名称 需要授权 接口描述 同步/异步 企业端版本 政府端版本
device.base.version 不需要 获取app版本 同步 >= 3.0.3 >= 3.0.3
device.base.devicetype 不需要 获取设备类型ios/android 同步 >= 3.0.8 >= 3.1.5
device.base.container.version 不需要 获取容器版本 同步 >= 3.0.3 >= 3.0.3
device.base.user 不需要 获取当前登录用户信息 异步 >= 3.0.3 >= 3.0.3
device.base.encode 不需要 获取userid请求的code 异步 >= 3.0.6 >= 3.1.2
device.base.baseid 不需要 获取当前用户baseId 异步 >= 3.0.6 >= 3.1.2
device.base.getSystemInfo 不需要 获取系统信息 异步 >= 4.1.0 >= 3.3.2
device.base.passValue 不需要 原生传值给h5 异步 >3.1.1 >3.0.9
device.notification.alert 不需要 alert弹窗 异步 >= 3.0.3 >= 3.0.3
device.notification.confirm 不需要 confirm弹窗 异步 >= 3.0.3 >= 3.0.3
device.notification.actionSheet 不需要 actionSheet弹窗 异步 >= 3.0.3 >= 3.0.3
device.notification.showPreloader 不需要 显示加载中 异步 >= 3.0.3 >= 3.0.3
device.notification.hidePreloader 不需要 隐藏加载中 异步 >= 3.0.3 >= 3.0.3
device.util.callPhone 不需要 调用系统打电话功能 异步 >3.1.4 >3.2.2
device.util.sendMessage 不需要 调用系统发短信功能 异步 >3.1.4 >3.2.2
device.util.openUrl 不需要 打开一个新的页面 异步 >= 3.0.3 >= 3.0.3
device.util.closeWindow 不需要 关闭当前页面 同步 >= 3.0.3 >= 3.0.3
device.util.closeAndOpenUrl 不需要 关闭当前页面并打开一个新的页面 异步 >= 3.0.3 >= 3.0.3
device.util.datepicker 不需要 打开日期选择器 异步 >= 3.0.3 >= 3.0.3
device.util.timepicker 不需要 打开时间选择器 异步 >= 3.0.3 >= 3.0.3
device.util.datetimepicker 不需要 打开时间日期选择器 异步 >= 3.0.3 >= 3.0.3
device.navigation.bindBackBtn 不需要 绑定回退键 异步 >= 3.0.3 >= 3.0.3
device.navigation.unbindBackBtn 不需要 解绑回退键 异步 >= 3.0.3 >= 3.0.3
device.navigation.setMenu 不需要 设置右边功能按钮 异步 >= 3.0.3 >= 3.0.3
device.navigation.removeMenu 不需要 移除右边功能按钮 异步 >= 3.0.6 >= 3.1.2
device.navigation.setTitle 不需要 设置标题 异步 >= 3.0.3 >= 3.0.3
device.navigation.setBgColor 不需要 设置背景颜色 异步 >= 3.0.3 >= 3.0.3
device.navigation.setBackColor 不需要 设置回退按钮颜色,默认蓝色(blue),可选白色(write) 异步 > 3.0.91 > 3.0.7
device.navigation.setRightWZ 不需要 设置导航栏右边按钮文字和颜色,字体大小,功能 异步 >3.1.0 >3.0.8
device.navigation.setCancelMB 不需要 是否取消iOS原生导航栏的蒙版效果(Android不考虑) 异步 >3.1.0 >3.0.8
device.navigation.jumpVC 不需要 h5跳转 原生界面/h5 异步 >3.1.1 >3.0.9
device.navigation.closeButton 不需要 导航栏左边的"X"按钮,用于关闭当前容器 异步 >4.0.1 >3.3.0
device.navigation.hiddenHX 不需要 是否隐藏导航栏底部默认黑线 异步 >3.1.4 >3.2.2
device.navigation.hiddenNAVI 不需要 隐藏当前界面原生导航栏 异步 >3.1.4 >3.2.2
device.navigation.popVC 不需要 返回到上一个原生控制器界面 同步 >3.1.4 >3.2.2

接口详情

device.base.version

获取当前应用版本信息

调用方法:
zqtbridge.call("device.base.version")
返回结果:
{"code":"0","msg":"处理成功","version":"x.x.x","name":"政企通"}

version 代表当前应用的版本号, name 代表当前应用的名称

device.base.devicetype

获取当前设备类型

调用方法:
zqtbridge.call("device.base.devicetype")
返回结果:
{"code":"0","msg":"处理成功","type":"android"}

type 代表当前设备型号, ios/android

device.base.container.version

获取当前容器相关版本信息

调用方法:
zqtbridge.call("device.base.container.version")
返回结果:
{"code":"0","msg":"处理成功","version":"Vx.x.x","type":"H5","level":"HOUSE","env":"DEV"}
  • version 代表当前容器版本号。
  • type 代表当前容器类型。
  • level 代表当前容器级别。
  • env 代表当前容器的运行环境。

device.base.user

获取当前登录用户相关信息

调用方法:
zqtbridge.call("device.base.user", function (v) { alert(v) });
返回结果:
{"code":"0","msg":"处理成功","user":{
    "userId":"c48696bb-cb5a-4e5f-80ec-b0477c58269e"
    "baseId":"ad0f56d2-4c5a-4b02-9127-6db8cc099820"}
}
  • user 代表当前用户对象。
  • userId 代表基本信息id
  • baseId 企业id

device.base.encode

获取当前登录用户相关信息

调用方法:
zqtbridge.call("device.base.encode", {"clientId":"zqtong_app_client"}, function (v) { alert(v) });
参数说明:
  • clientId 对应的clientId, 如:zqtong_app_client
返回结果:
{
    "code":"0","msg":"处理成功","encode":"PGkFY1s4wKfumFQsRAexAok27LivUFsy%23HOZIqjsh9DjV3D69qGgSoNtHx6Hz%23lsczucgIg7Grms%0ASG9gSeETVCp8ONND%23x%2FiGe4S2d8tbv0%3D"
}
  • encode 基于encode去请求userId

device.base.baseId

获取当前登录用户相关信息

调用方法:
zqtbridge.call("device.base.baseId", function (v) { alert(v) });
返回结果:
{
    "code":"0","msg":"处理成功","baseId":"ad0f56d2-4c5a-4b02-9127-6db8cc099820"
}

device.base.getSystemInfo

解释: 获取系统信息
返回参数说明:
参数 说明 备注
brand 手机品牌
model 手机型号
screenWidth 屏幕宽度
screenHeight 屏幕高度
statusBarHeight 状态栏的高度
navigationBarHeight 导航栏的高度
platform 客户端平台,如:iOS/Android。
调用方法
zqtbridge.call("device.base.getSystemInfo", function (v) { alert(v) });
返回结果:
{
    "code": "0",
    "msg": "处理成功",
    "params": {
        "brand": "Apple",
        "model": "iPhone X",
        "screenWidth": 375,
        "screenHeight": 812,
        "navigationBarHeight": "88",
        "statusBarHeight": 44,
        "platform": "iOS"
    }
}

device.notification.alert

调用方法:
zqtbridge.call("device.notification.alert", {msg:'msg', title:'title'}, function (v) { });
参数说明:
  • title 代表alert顶部标题
  • msg 代表alert显示内容
返回结果:
{"code":"0","msg":"处理成功"}

device.notification.confirm

调用方法:
 zqtbridge.call("device.notification.confirm", { title:'title', msg:'msg'}, function (v) { alert(v) });
参数说明:
  • title 代表alert顶部标题
  • msg 代表alert显示内容
返回结果:
{"code":"0","msg":"处理成功","result":"1"}
  • result 1.代表点击了【确认】 2.代表点击了【取消】

device.notification.actionSheet

调用方法:
 zqtbridge.call("device.notification.actionSheet", { title:'title', items:["actionSheet0","actionSheet1","actionSheet2"]}, function (v) { alert(v) });
参数说明:
  • title 代表alert顶部标题
  • items 代表actionSheet中的item名字
返回结果:
{"code":"0","msg":"处理成功","result":"1"}
  • result 代表点击item对应的index,与items元素的顺序一致

device.notification.showPreloader

调用方法:
 zqtbridge.call("device.notification.showPreloader", function (v) { });
返回结果:
{"code":"0","msg":"处理成功"}

device.notification.hidePreloader

调用方法:
 zqtbridge.call("device.notification.hidePreloader", function (v) { });
返回结果:
{"code":"0","msg":"处理成功"}

device.util.openUrl

调用方法:
zqtbridge.call("device.util.openUrl", {"url":"http://www.baidu.com","title":"新的页面"}, function (v) { alert(v) });
参数说明:
  • title 代表新页面标题
  • url 代表页面地址
返回结果:
{"code":"0","msg":"处理成功"}

device.util.closeWindow

调用方法:
zqtbridge.call("device.util.closeWindow");
返回结果:
{"code":"0","msg":"处理成功"}

device.util.closeAndOpenUrl

调用方法:
zqtbridge.call("device.util.closeAndOpenUrl", {"url":"http://www.baidu.com","title":"新的页面"}, function (v) { alert(v) });
参数说明:
  • title 代表新页面标题
  • url 代表页面地址
返回结果:
{"code":"0","msg":"处理成功"}

device.util.datepicker

调用方法:
zqtbridge.call("device.util.datepicker", function (v) { alert(v) });
返回结果:
{"code":"0","msg":"处理成功","datetime":"2001/01/01"}

device.util.timepicker

调用方法:
zqtbridge.call("device.util.timepicker", function (v) { alert(v) });
返回结果:
{"code":"0","msg":"处理成功","datetime":"12:00:00"}

device.util.datetimepicker

调用方法:
zqtbridge.call("device.util.datetimepicker", function (v) { alert(v) });
返回结果:
{"code":"0","msg":"处理成功","datetime":"2001/01/01 12:00:00"}

device.navigation.bindBackBtn

调用方法:
zqtbridge.call("device.navigation.bindBackBtn", {"callback":"bindBackBtn"}, function (v) { alert(v) });

//在js中的callback方法
zqtbridge.register('bindBackBtn', function () {
                           alert("绑定成功");
                          })
参数说明:
  • callback 自定义的js方法名
返回结果:
{"code":"0","msg":"处理成功"}

device.navigation.unbindBackBtn

调用方法:
zqtbridge.call("device.navigation.unbindBackBtn", function (v) { alert(v) });
返回结果:
{"code":"0","msg":"处理成功"}

device.navigation.setMenu

调用方法:
zqtbridge.call("device.navigation.setMenu", {"ISPullMenu":"no","ISCancelSonIcon":"no","parentIcon":"https://upload-images.jianshu.io/upload_images/1903176-e265ebe2cca7821a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240","menus":[
    {"icon":"https://58.215.198.210:9997/test/icon.png","androidIcon":"https://58.215.198.210:9997/test/icon2.png","title":"测试1","callback":"callbackOne"},            {"icon":"https://58.215.198.210:9997/test/icon.png","androidIcon":"https://58.215.198.210:9997/test/icon2.png","title":"测试2","callback":"callbackTwo"},
    {"icon":"https://58.215.198.210:9997/test/icon.png","androidIcon":"https://58.215.198.210:9997/test/icon2.png","title":"测试3","callback":"callbackThree"}
       ]}, function (v) { alert(v) });

//在js中的callback方法
zqtbridge.register('callbackOne', function () {
                           alert("callbackOne绑定成功");
                           })

zqtbridge.register('callbackTwo', function () {
                           alert("callbackTwo绑定成功");
                           })

zqtbridge.register('callbackThree', function () {
                           alert("callbackThree绑定成功");
                           })
参数说明:

2019-6-10更新,新增参数ISOneMenu,ISCancelSonIcon,parentIcon

  • ISOneMenu: 传”no“,表示有多个子菜单的情况;如果只有一个子菜单,传"yes"。注意:这个参数如果没有传,则该jsbridge的逻辑还是按照 2019-6-10之前的逻辑,也就是说多个子菜单无法设置没有图片的情况;且有多个子菜单存在的时候,父菜单的图片是固定的三个点,父菜单没法动态设置其他图片。也就是说参数ISCancelSonIcon、parentIcon没有作用
  • ISCancelSonIcon:参数的意思表示是否取消子菜单中的图片,传"no"表示默认,也就是不取消,默认的时候设置子菜单是需要传图片icon的;传"yes"表示取消,那么最终子菜单呈现出来的时候只有文字。
  • parentIcon:该参数表示父菜单的图片,如果有子菜单的情况下,该参数没传,默认父菜单是三个点。
  • menus:该参数必传,右上角弹出菜单列表(注:当列表中只有一个元素时,不会显示弹出菜单,直接设置右上角按钮)
  • icon ios菜单图标 一般为30x30。注意:之前一直有人反映展示的图标很大,如果图标很大,你需要将图片的像素设置小于等于30x30,设置越小展示的就会越小,比如25x25的图片就会比30x30的图片展示的时候小
  • androidIcon android菜单图标 一般为90x90
  • title 菜单标题
  • callback 菜单触发事件js方法名

2020-5-11更新,新增参数ISPullMenu

  • ISPullMenu: 传”no“,或者不传则按老版本处理,单个子菜单直接跳转,多个子菜单下拉弹窗选择,yes则子菜单数据只有一个时,出现下拉菜单
返回结果:
{"code":"0","msg":"处理成功"}

device.navigation.removeMenu

调用方法:
zqtbridge.call("device.navigation.removeMenu", function (v) { alert(v) });
返回结果:
{"code":"0","msg":"处理成功"}

device.navigation.setTitle

调用方法:
zqtbridge.call("device.navigation.setTitle", {"title":"测试标题","color":"#FFFFFF","fontSize":"20"}, function (v) { alert(v) });
参数说明:
  • title 页面标题
  • color 字体颜色
  • fontSize 字号大小
返回结果:
{"code":"0","msg":"处理成功"}

device.navigation.setBgColor

调用方法:
zqtbridge.call("device.navigation.setBgColor",{"color":"#1E90FF"}, function (v) { alert(v) });
参数说明:
  • color 页面导航栏背景颜色,必须为十六进制颜色编码
返回结果:
{"code":"0","msg":"处理成功"}

device.navigation.setBackColor

调用方法:

zqtbridge.call("device.navigation.setBackColor",{"color":"#FF69B4"}, function (v) { alert(v) });

参数说明:

  • 默认回退按钮为蓝色,如果需要改变返回按钮的颜色,请传color,格式为#加上16进制,如“#FF69B4”

返回结果

{"code":"0","msg":"处理成功"}

device.navigation.setRightWZ

调用方法

zqtbridge.call("device.navigation.setRightWZ",{"color":"#1E90FF","title":"右上标题","callback":"callbackFour","fontSize":"16","redNum":"2"}, function (v) { alert(v) });

在js中callback绑定的方法
zqtbridge.register('callbackFour', function () {
                                              alert("callbackFour绑定成功");
                                              })

参数说明:

  • title 右上角标题文字
  • color 字体颜色,不传默认黑色
  • fontSize 字号大小,传整数,不传默认为16
  • callback 自定义的js方法名
  • redNum 红色消息提示数量,没有的话传"0", 其他传具体"数字",大于99会自动转换成99+ (传字符串的数字)

device.navigation.setCancelMB

调用方法

zqtbridge.call("device.navigation.setCancelMB",{"cancelMB":"1"}, function (v) { alert(v) });

参数说明

  • cancelMB: 是否取消iOS系统导航栏的蒙版效果,传“1”则为取消蒙版效果,传“0”则添加系统蒙版效果,因为系统默认是有蒙版效果的,如果主动取消掉了的话,后面js进入二级或者三级界面需要的话,得手动再调用一下传个“0”,就能恢复系统蒙版效果。
  • 此属性仅限iOS,Android没有。

device.navigation.jumpVC

调用方法

zqtbridge.call("device.navigation.jumpVC",{"ISJumpTab":"yes","JumpTabNum":"0","JumpIOSName":"HelpViewController","JumpAndroidName":"SettingHelperActivity","ParamsDic":"{\"key\":\"value\"}",}, function (v) { alert(v) });

参数说明

1.跳转原生:

  • ISJumpTab,JumpTabNum:ISJumpTab用来判断是否跳转app的tab页面,传字符串的yes,则跳tab页面,那么app处理的时候只会取JumpTabNum的值,比如JumpTabNum传的字符串的0,那么就会跳首页,JumpTabNum传的字符串的1,就会跳消息界面。
  • ISJumpTab传的不是yes,比如传了no,那么就要填写具体页面的名字。
  • JumpIOSName: iOSapp中类的名称,建议和iOS开发人员联系获取
  • JumpAndroidName :Android中类的名称,建议和Android开发人员联系获取
  • ParamsDic:相关参数,有可能需要传的参数,用key和value对应,比如key为name,value为张三,如果不需要传参数的话ParamsDic可以传空,需要传的话得和原生app人员对接一下。

2.跳转h5

说明:一般h5跳转h5和原生应该都没什么关系,但是有个别情况(这里以iOS为例),比如原生最初始的页面就是h5加载的,然后需要点击h5上的按钮跳转h5,这个时候如果不做处理的话,最外层的tabbar一开始有,或者导航栏一开始是影藏的话,那么跳转后还是那样的,就不满足需求了。那么这个时候需要用到这个方法。

  • ISJumpTab:传no
  • JumpTabNum:传0
  • JumpIOSName:传OpenJSContainer
  • JumpAndroidName:传ContainerH5V1Activity
  • ParamsDic:title(导航栏标题),url(链接地址),这两个参数必须传

3.跳转h5微应用(zip包形式)

  • ISJumpTab:传no

  • JumpTabNum:传0

  • JumpIOSName:传OpenJSContainer

  • JumpAndroidName:传ContainerH5V1Activity

  • ParamsDic:title(导航栏标题),url(链接地址),app(h5微应用的名字,不传的话默认是ZQT_Home)

    • 打开到外部链接

      {

      url = "http://www.baidu.com"
      title = "测试"
      app = "ZQT_微应用名"
      

      }

    • 打开微应用首页

      {

      url = "ZQT_微应用名"
      title = "测试"
      

      }

    • 打开指定微应用页面

      {

      url = "#/todo"
      title = "测试"
      app = "ZQT_微应用名"
      

      }

4.Router跳转方案

  • ISJumpTab:传no

  • JumpTabNum:传0

  • JumpIOSName:传OpenRouter

  • JumpAndroidName:传OpenRouter

  • ParamsDic:url(链接地址),此url为完整的Router方案地址,Router方案地址规则定义如下备注。

    • 备注:Router方案定义

      例:zqtrouter://router:80/organFramework?comId=woxxxx&baseId=junjie&isMasterAdmin=false

      解释:zqtrouter作为scheme,用来区分是否执行这套规则的;host和端口号暂时用不到,请固定取值为router:80;path为指定的类,如果是跳tab,path传TabViewController,否则传对应的classname;后面是指定的参数

    • 目前支持的Router原生界面和对应的参数

      • 组织架构:organFramework(类名),参数:{"baseId":"企业的baseid","comId":"公司的id,string类型",“isMasterAdmin”:"是否是管理员,boolean类型"}};
      • 关联企业:assoCompany(类名),参数:{"baseId":"企业的baseid,string类型","comName":“公司的名称,string类型”}
      • 组织管理:organManager(类名),参数:{"baseId":"企业的baseid,string类型","comName":"公司的名称,string类型",“creditCode”:"信用代码,string类型",“legalName”:“法人名称,string类型”}
      • 工作台:TabViewController(类名),参数:{ ISJumpTab传递"1",JumpTabNum(0消息,1工作台,2企业管理,3我的) }

device.navigation.closeButton

解释:关闭当前容器的按钮,默认图片是 "X"
入参说明:
参数 说明 备注
hidden boolean 类型 为 true时隐藏,默认为false
icon 自定义icon 图片链接;当 hidden = true时 icon值为空
defaultIconColor 更改默认icon颜色 value格式为"#xxxxxx";

注意: icon 和 defaultIconColor 同时传入的话,icon 生效

调用方法:
// 不隐藏关闭按钮,使用自定义 icon
zqtbridge.call("device.navigation.closeButton",{"hidden": false, "icon": "https://58.215.198.210:8443/EFS_investsmart/card/08029001.jpg"}, function (v) { alert(v) });

// 不隐藏关闭按钮,更改默认icon 颜色
zqtbridge.call("device.navigation.closeButton",{"hidden": false, "defaultIconColor": "#ffffff"}, function (v) { alert(v) });

// 隐藏关闭按钮
zqtbridge.call("device.navigation.closeButton",{"hidden": true}, function (v) { alert(v) });
返回结果:
{"code":"0","msg":"处理成功"}

device.base.passValue

调用方法

zqtbridge.call("device.base.passValue",{"type":"homeJump"}, function (v) { alert(v) });

参数说明:

  • type: 表示是哪一个功能的传递参数,这个需要和app端商量,app端根据不同类型消息在APP内做不同处理后,再将参数传递给h5页面

返回结果:

{"code":"0","msg":"处理成功","params":{"name":"张三","age":"23"}}

app端将参数传递给h5的时候用params作为key。

device.navigation.hiddenHX

调用方法

zqtbridge.call("device.navigation.hiddenHX",{"hidden":"1"}, function (v) { alert(v) });

参数说明

  • hidden: 不传或者传字符串0表示显示黑线,传字符串1表示隐藏导航栏黑线

返回结果

{"code":"0","msg":"处理成功"}

device.util.callPhone

调用方法

zqtbridge.call("device.util.callPhone", {"phone":"18712345678"}, function (v) { alert(v) });

参数说明

  • phone: 电话号码

device.util.sendMessage

调用方法

zqtbridge.call("device.util.sendMessage", {"phone":"18712345678"}, function (v) { alert(v) });

参数说明

  • phone: 电话号码

device.navigation.hiddenNAVI

调用方法

zqtbridge.call("device.navigation.hiddenNAVI",{"hidden":"1"}, function (v) { alert(v) });

参数说明

  • hidden: 不传或者传字符串0表示显示导航栏 (其实导航栏默认就是显示的),传字符串1表示隐藏导航栏

device.navigation.popVC

调用方法

zqtbridge.call("device.navigation.popVC",{"popVC":"1"}, function (v) { alert(v) });

参数说明:

  • popVC:传字符串1,表示返回上一个原生控制器界面,否则没响应。

results matching ""

    No results matching ""