⚠️注意事项

在第三方浏览器打开并调用政务浏览器接口时,
必须使用 https 或 http+localhost 的模式,
不然会存在浏览器跨域限制,
无法正常使用政务浏览器接口

使用前置条件

1、安装政务浏览器  
2、安装业务系统所需的政务浏览器拓展插件  
(仅使用浏览器原生接口时,无需关注此项, 如zwexplorer.__native等以双下划线开头的接口)
3、保证政务浏览器处于运行状态(可以后台运行)  
4、在政务浏览器的“管控中心”模块中,
“本地服务设置”的项中添加业务系统的 API 白名单,
白名单为http://xxx.xxx.com或https:xxx.xxx.com格式等域名前缀  

1、引入 jssdk.js 文件

<script src="./zwexplorer-jssdk.js"></script>

[ 点击下载 jssdk ]

# 2、初始化 jssdk

说明

请优先进行初始化,
不初始化完毕直接调用可能会出现调用插件方法不存在的情况,
初始化插件调用,返回插件的列表,列表内有对应的插件名称,插件方法等参数。

● 参数说明

参数 类型 必填 说明
req.host String 需要访问的服务器 IPV4 地址, 默认是访问本机的, 默认http://127.0.0.1
req.port Number 端口号,默认 56289

● 返回数据

参数 类型 必然存在 说明
res.resultCode Number 状态码,0 为正常,其它为异常 [状态码参考]
res.data Object 接口返回的详细数据
res.resultMessage String 接口消息

● Typescript 类型参考

// 参数类型
type ReqBody = {
    host?: string,
    port?: string | number
}
// 返回类型
type ResData = {
    resultCode: number,
    resultMessage: string, 
    data: {
        [appName: string]: {
            version: string,
            name: string,
            trigger: string[]
        }
    }
}
// 接口调用
zwexplorer.__init(req: ReqBody, callback?: (res: ResData)=>void): Promise<ResBody>

● 示例

zwexplorer.__init(data, (res) => {
  // 返回数据
});
// or
zwexplorer.__init(data).then((res) => {
  // 返回数据
});

# 3、判断插件安装情况

根据 __init 初始化方法返回的 data 参数,判断业务系统调用的插件是否都已成功安装 例如:需要业务系统调用身份证读卡器时,data 返回的插件列表中没有 IDCardReader,需要提醒用户先安装对应的插件
● 代码示例

zwexplorer.__init(data, (res) => {
  // 返回数据
  if (!res.data["IDCardReader"]) {
    // 提示:'身份证读卡器插件未安装'
  }
});

# 4、调用政务浏览器及插件提供的接口方法

zwexplorer[appName][trigger](data, (res) => {
  // 返回数据
});