湘易办功能集成JSSDK
npm install @xybplugins/xyb-agent> 最新版本:
> * JSSDK:2.0.10
> * npm-package: 0.0.32
* 安装/更新命令
``shell`
npm i @xybplugins/xyb-agent@latest --save-dev
* 注意事项
* 人脸识别、定位信息获取,都只支持在湘易办移动政务上部署的应用
* npm包的使用场景不兼容湘易办微信/支付宝小程序-H5-H5
* 较之前的JSSDK版本差异,只有引入方式的变化,其它并无核心上的变化
> 湘易办JSSDK为h5微应用/uni-app应用提供了数据追踪埋点等业务API(会持续扩展底层通用组件的适配能力),帮助开发者相关业务场景实现。此文档面向开发者介绍该JSSDK如何使用及相关注意事项。
> 以下文中所指的环境释义
> 1. 湘易办APP-小程序:湘易办APP内的小程序湘易办APP-小程序-webview
> 2. :湘易办小程序内通过webview嵌套的H5页面湘易办APP-webview
> 3. :湘易办APP通过webview嵌套的H5页面三方小程序
> 4. : 微信/支付宝/百度/今日头条 等其他小程序环境三方小程序-webview
> 5. :被湘易办微信/支付宝 小程序通过webview嵌套的H5页面
> 该JSSDK仅支持在湘易办小程序、湘易办小程序嵌套的H5、湘易办APP嵌套的H5中使用
| 环境名称 | 是否支持 | JSSDK适配版本(最低) | npm包适配版本(最低) | 备注 |
|:-------------------|------|---------------|--------------|------------|
| 湘易办APP-小程序 | 是 | 1.1.4 | 0.0.11 | 完全支持 |是
| 湘易办APP-小程序-webview | | 1.1.8 | 0.0.11 | 完全支持 |是
| 湘易办APP-webview | | 2.0.0 | 0.0.11 | 部分支持,持续迭代中 |否
| 三方小程序 | | -- | -- | 不支持 |是
| 三方小程序-webview | | -- | 0.0.30 | 部分支持,持续迭代中 |
> 1. SDK有使用ES6语法,若使用环境非uni-app的话,需支持babel等兼容工具,更建议项目切换到uni-app进行搭配使用development
> 2. 自动上报页面事项ID:在页面切换时,会自动进行页面事项ID上报;且需在调用时,将页面事项ID的路径映射关系传入SDK
> 3. 插件初始化默认是测试环境,请根据实际情况进行修改;(/production)JSSDK-C2
> 4. 通过小程序webview嵌套的H5,可以直接使用该SDK进行原生能力调用,但小程序的webview需要按照SDK要求进行配置
> 5. 如果有使用老版本的,可能湘易办PP-WEBVIEW的环境下出现异常问题,请注意甄别使用
* 工程化:在入口文件引入SDK文件,并挂载为全局变量(推荐)
`javascript
import xybAgent from '/$path/xybAgent.$version.esm.js';
// Vue2 示例 - main.js
Vue.prototype.$xybAgent = xybAgent;
// Vue3 示例 - main.js / main.ts
app.config.globalProperties.$xybAgent = xybAgent;
// uni-app 示例 - App.vue,也可以在main.js中配置,参考Vue2/Vue3实现
`
* 非工程化:在index.html,添加script标签并执行引入;会自动挂载到window上;非浏览器环境不要使用这种方式
`html
`
> * 此API是一个异步任务,可使用async await / promise结构 调用;
> * 也可直接进行初始化动作,SDK内部有进行埋码的堆栈,当有埋点时,会自动进行埋点上报。
> * H5环境必须执行init动作,否则会导致埋点/其它API无法使用
* 入参
| 参数名 | 类型 | 必填 | 可选值 | 默认值 | 描述 |
|:--------|:---------|-----|-----------------------------|---------------|:---------------------------------|
| envType | String | 否 | development/ production | development | 环境类型,默认为测试环境,H5用,小程序环境下可以不需要传递 |
* 出参
| 参数名 | 类型 | 描述 |
|:-------|:----------|---------|
| result | Boolean | 初始化是否完成 |
* 示例-async await
`javascript`
const res = await this.$xybAgent.init('development')
if (res) {
// 初始化完成
}
* 示例-promise
`javascript`
this.$xybAgent.init('development').then(res => {
if (res) {
// 初始化完成
}
})
* 环境适配说明
| 环境类型 | 是否适配 | JSSDK版本(最低) | npm包版本(最低) |
|----------------|:----:|:------------|------------|
| 湘易办小程序 | 是 | 1.1.4 | 0.0.11 |是
| 湘易办小程序-webview | | 1.1.8 | 0.0.11 |是
| 湘易办 - webview | | 2.0.0 | 0.0.11 |否
| 三方小程序 | | -- | -- |是
| 三方小程序-webview | | -- | 0.0.11 |
* 入参
| 参数名 | 类型 | 必填 | 描述 |
|:---------|----------|-----|------|
| eventID | String | 是 | 事件ID |Object
| eventPro | | 是 | 埋点参数 |
* 出参-无
* 示例
`javascript`
this.$xybAgent.track('xyb_ksj', {
name: "",//服务名称
code: "",//服务编码
aff_city_code: "",//单位编码
aff_city_name: "",//单位名称
rel_matter_mode: "",//是否目录
unit_code: "",
unit_name: "",
user_id: "",//用户 ID
});
* 注意事项
> * 对应字段必须使用埋点规范文档中的字段及字段类型,否则会导致埋点数据无法成功落库!!!!
> 此API是一个异步任务,需使用async await / promise结构 获取回调值
* 环境适配说明
| 环境类型 | 是否适配 | JSSDK版本(最低) | NPM包版本(最低)
|----------------|:----:|:------------|------------|
| 湘易办小程序 | 是 | 1.1.4 | 0.0.11 |是
| 湘易办小程序-webview | | 1.1.8 | 0.0.11 |是
| 湘易办 - webview | | 2.0.0 | 0.0.11 |否
| 三方小程序 | | -- | -- |是
| 三方小程序-webview | | -- | -- |
* 入参-无
* 出参-仅列出返回体内的子参数,整体是一个Object对象
| 参数名称 | 参数类型 | 参数描述 |
|:-----------|:----------|:------------|
| accessLink | string | AccessLink值 |Boolean
| isSuccess | | 是否获取成功 |
* 示例-async await
`javascript`
const {isSuccess, accessLink} = await this.$xybAgent.getAccessLink();
if (isSuccess) {
// 获取成功
}
* 示例-promise
`javascript`
this.$xybAgent.getAccessLink().then(res => {
const {isSuccess, accessLink} = res;
if (isSuccess) {
// 获取成功
}
});
> 此API是一个异步任务,需使用async await / promise结构 获取回调值
* 环境适配说明
| 环境类型 | 是否适配 | JSSDK版本(最低) | NPM包版本(最低) |
|----------------|:----:|:------------|------------|
| 湘易办小程序 | 是 | 1.1.4 | 0.0.30 |是
| 湘易办小程序-webview | | 1.1.8 | 0.0.30 |是
| 湘易办 - webview | | 2.0.0 | 0.0.30 |否
| 三方小程序 | | -- | -- |是
| 三方小程序-webview | | -- | 0.0.30 |
* 入参
| 参数名 | 类型 | 必填 | 描述 |
|:------------|:------------|:----|:--------------------------|
| name | String | 是 | 姓名 |String
| certNo | | 是 | 证件号 |String
| appId | | 是 | 申请人脸能力的appID |String
| sign | | 是 | 签名 |timestamp
| created | | 是 | 创建时间戳 |String
| nonce | | 是 | 32位的随机数 |String
| callbackURL | | 否 | 回调URL(仅湘易办微信/支付宝小程序下有用) |
* 出参-仅列出返回体内的子参数,整体是一个Object对象
| 参数名 | 类型 | 描述 |
|:----------|-----------|------|
| isSuccess | Boolean | 验证结果 |String
| certifyId | | 认证ID |base64
| portrait | | 头像 |String
| errorMsg | | 错误信息 |
* 示例-async await
`javascript`
const userInfo = {
name: '张三',
certNo: '123456789012345678',
appId: 'xxxxxxx',
sign: 'xxxxxx',
created: new Date().getTime(),
nonce: 'xxxxxxx'
}
const {isSuccess} = await this.$xybAgent.authFace(userInfo);
if (isSuccess) {
// 验证成功
}
* 示例-promise
`javascript`
const userInfo = {
name: '张三',
certNo: '123456789012345678',
appId: 'xxxxxxx',
sign: 'xxxxxx',
created: new Date().getTime(),
nonce: 'xxxxxxx'
}
this.$xybAgent.authFace(userInfo).then(({isSuccess}) => {
if (isSuccess) {
// 验证成功
}
})
> 此API是一个异步任务,需使用async await / promise结构 获取回调值
* 环境适配说明
| 环境类型 | 是否适配 | JSSDK版本(最低) | NPM包版本(最低) |
|----------------|:----:|:------------|------------|
| 湘易办小程序 | 是 | 1.1.4 | 0.0.11 |是
| 湘易办小程序-webview | | 1.1.8 | 0.0.11 |是
| 湘易办 - webview | | 2.0.0 | 0.0.11 |否
| 三方小程序 | | -- | -- |是
| 三方小程序-webview | | -- | 0.0.30 |
* 入参-无
* 出参-仅列出返回体内的子参数,整体是一个Object对象
| 参数名 | 子参数名 | 类型 | 描述 |
|:----------|:----------|-----------|-----------------------------|
| location | | Object | 定位信息 |String
| | address | | 详细位置信息 |String
| | district | | 区级名称 |String
| | city | | 市级名称 |String
| | province | | 省级名称 |String
| | country | | 国家名称 |String
| | adCode | | 邮政编码 |String
| | cityCode | | 城市编码 |Float
| | latitude | | 纬度信息 |Float
| | longitude | | 经度信息 |Boolean
| isSuccess | | | 获取定位信息成功(true成功 false 失败) |
* 示例-async await
`javascript`
const {location, isSuccess} = await this.$xybAgent.getLocationInfo();
if (isSuccess) {
// 获取定位信息成功
}
* 示例-promise
`javascript`
this.$xybAgent.getLocationInfo().then(({location, isSuccess}) => {
if (isSuccess) {
// 获取定位信息成功
}
})
* 注意事项 - npm 包
> * 返回的坐标系是GCJ02(国测坐标系),若需要转换为其他坐标系,需业务侧自行进行转换处理
> * 微信/支付宝小程序下只会返回经纬度坐标,坐标系是GCJ02
> * 此API是一个单向任务,无法获取回调值
> * SDK只会拉起微信/支付宝小程序执行支付动作,具体的支付结果,需要自行轮询调用后台进行查询(
也可以在onShow生命周期进行支付结果查询)
* 环境适配说明
| 环境类型 | 是否适配 | JSSDK版本(最低) | NPM包版本(最低) |
|----------------|:----:|:------------|------------|
| 湘易办小程序 | 是 | -- | 0.0.32 |是
| 湘易办小程序-webview | | -- | 0.0.32 |是
| 湘易办 - webview | | -- | 0.0.32 |否
| 三方小程序 | | -- | -- |是
| 三方小程序-webview | | -- | 0.0.32 |
* 入参
| 参数名 | 类型 | 必填 | 描述 |
|:------------|:---------|:----|:------------------------------------------|
| serverURL | String | 是 | 服务端地址 |String
| token | | 是 | 订单TOKEN |String
| type | | 否 | 支付方式(湘易办APP下必传此参数,微信:wechat;支付宝:alipay) |String
| callbackURL | | 否 | 回调地址(微信/支付宝小程序的H5必传) |
* 出参 - 无
* 示例
`javascript`
this.$xybAgent.executePayment({
type: 'wechat',
token: 'xxxxxxx',
serverURL: 'https://api.xyb.com',
callbackURL: 'https://www.xyb.com'
})
> 此API是一个异步任务,需使用async await / promise结构 获取回调值
* 环境适配说明
| 环境类型 | 是否适配 | 适配版本(最低) |
|----------------|:----:|:---------|
| 湘易办小程序 | 是 | 1.1.4 |是
| 湘易办小程序-webview | | 1.1.8 |是
| 湘易办 - webview | | 2.0.0 |否
| 三方小程序 | | -- |
* 入参-无
* 出参-仅列出返回体内的子参数,整体是一个Object对象
| 参数名 | 类型 | 描述 |
|:--------|-----------|--------------------------|
| logined | Boolean | 登录状态(true登录 false 未登录) |
* 示例-async await
`javascript`
const {logined} = await this.$xybAgent.getLoginStatus();
if (logined) {
// 已登录
}
* 示例-promise
`javascript`
this.$xybAgent.getLoginStatus().then(({logined}) => {
if (logined) {
// 已登录
}
})
> 此API是一个异步任务,需使用async await / promise结构 获取回调值
* 环境适配说明
| 环境类型 | 是否适配 | 适配版本(最低) |
|----------------|:----:|:---------|
| 湘易办小程序 | 是 | 1.1.4 |是
| 湘易办小程序-webview | | 1.1.8 |是
| 湘易办 - webview | | 2.0.0 |否
| 三方小程序 | | -- |
* 入参-无
* 出参-仅列出返回体内的子参数,整体是一个Object对象
| 参数名 | 类型 | 描述 |
|:--------------|----------|-------|
| deviceModel | String | 设备型号 |String
| systemVersion | | 系统版本 |String
| appVersion | | app版本 |String
| platform | | 平台名称 |String
| appName | | app名称 |String
| appId | | appId |
* 示例-async await
`javascript`
const res = await this.$xybAgent.getAppInfo();
if (res?.appId) {
// APP相关信息
}
* 示例-promise
`javascript`
this.$xybAgent.getAppInfo().then(res => {
if (res?.appId) {
// APP相关信息
}
});
> 此API是一个异步任务,需使用async await / promise结构 获取回调值
* 环境适配说明
| 环境类型 | 是否适配 | JSSDK版本(最低) | NPM包版本(最低) |
|----------------|:----:|:------------|------------|
| 湘易办小程序 | 是 | 1.1.4 | 0.0.32 |是
| 湘易办小程序-webview | | 1.1.8 | 0.0.32 |是
| 湘易办 - webview | | 2.0.0 | 0.0.32 |否
| 三方小程序 | | -- | -- |是
| 三方小程序-webview | | 0.0.32 | 0.0.32 |
* 入参-无
* 出参-仅列出返回体内的子参数,整体是一个Object对象
| 参数名 | 类型 | 描述 |
|:-----|----------|-------|
| text | String | 二维码内容 |
* 示例-async await
`javascript`
const {text} = await this.$xybAgent.scanCode();
if (text) {
// 二维码内容
}
* 示例-promise
`javascript`
this.$xybAgent.scanCode().then(({text}) => {
if (text) {
// 二维码内容
}
});
> 此API是一个异步任务,需使用async await / promise结构 获取回调值
* 环境适配说明
| 环境类型 | 是否适配 | JSSDK版本(最低) | NPM包版本(最低) |
|----------------|:----:|:------------|------------|
| 湘易办小程序 | 是 | 1.1.4 | 0.0.32 |是
| 湘易办小程序-webview | | 1.1.8 | 0.0.32 |是
| 湘易办 - webview | | 2.0.0 | 0.0.32 |否
| 三方小程序 | | -- | -- |是
| 三方小程序-webview | | -- | 0.0.32 |
* 入参
| 参数名 | 类型 | 必填 | 默认值 | 可选值 | 描述 |
|:-------------|-----------|-----|------------------------------|------------------------------|----------|
| count | Number | 否 | 9 | 1-9 | 最多选择图片数量 |Array
| sizeType | | 否 | ['original', 'compressed'] | ['original', 'compressed'] | 图片尺寸类型 |Array
| sourceType | | 否 | ['album'] | ['album', 'camera'] | 图片来源 |Boolean
| isCircleCrop | | 否 | false | true/false | 是否圆形裁剪 |
* 出参-仅列出返回体内的子参数,整体是一个Array对象
| 参数名 | 类型 | 描述 |
|:---------|----------|------------|
| fileName | String | 文件名 |String
| path | | APP端本地文件路径 |Number
| size | | 文件大小(字节) |String
| type | | 文件类型 |
* 示例-async await
`javascript`
const res = await this.$xybAgent.chooseImg();
if (res.length > 0) {
// 执行图片数据处理
}
* 示例-promise
`javascript`
this.$xybAgent.chooseImg().then(res => {
if (res.length > 0) {
// 执行图片数据处理
}
})
* 注意事项
> * 在湘易办APP-湘易办小程序-H5 中执行的选择图片,业务侧无法使用对应的临时文件路径执行上传动作(浏览器权限问题导致)
> * 在湘易办APP-湘易办小程序-H5 中可结合使用this.$xybAgent.fileUpload 进行搭配上传;具体查阅当前文档
> * 在微信/支付宝小程序的webview环境下,只会返回图片临时路径地址(path),其它字段无法执行返回,业务侧可自行决定是否使用
* 环境适配说明
| 环境类型 | 是否适配 | JSSDK版本(最低) | NPM包版本(最低) |
|----------------|:----:|:------------|------------|
| 湘易办小程序 | 是 | 1.1.4 | 0.0.32 |是
| 湘易办小程序-webview | | 1.1.8 | 0.0.32 |否
| 湘易办 - webview | | -- | 0.0.32 |否
| 三方小程序 | | -- |是
| 三方小程序-webview | | -- | 0.0.32 |
* 入参
| 参数名 | 类型 | 必填 | 描述 |
|:--------|----------|-----|-------------|
| url | Array | 是 | 图片预览的链接地址清单 |String
| current | | 是 | 默认显示的图片链接地址 |
* 出参-无
* 示例
`javascript`
this.$xybAgent.imgPreview(dataInfo);
> 此API是一个异步任务,需使用async await / promise结构 获取回调值
* 环境适配说明
| 环境类型 | 是否适配 | 适配版本(最低) |
|----------------|:----:|:---------|
| 湘易办小程序 | 是 | 1.1.4 |是
| 湘易办小程序-webview | | 1.1.8 |是
| 湘易办 - webview | | 2.0.0 |否
| 三方小程序 | | -- |
* 入参-无
* 出参-仅列出返回体内的子参数,整体是一个Object对象
| 参数名 | 类型 | 描述 |
|:---------|----------|-----------|
| path | String | 选中的文件本地路径 |Number
| size | | 文件大小(字节) |String
| type | | 文件类型 |String
| fileName | | 文件名 |
* 示例-async await
`javascript`
const res = await this.$xybAgent.chooseLocalFile();
if (res?.path) {
// 执行文件数据处理
}
* 示例-promise
`javascript`
this.$xybAgent.chooseFile().then(res => {
if (res?.path) {
// 执行文件数据处理
}
});
> 此API是一个异步任务,需使用async await / promise结构 获取回调值
* 环境适配说明
| 环境类型 | 是否适配 | 适配版本(最低) |
|----------------|:----:|:---------|
| 湘易办小程序 | 是 | 1.1.4 |是
| 湘易办小程序-webview | | 1.1.8 |是
| 湘易办 - webview | | 2.0.0 |否
| 三方小程序 | | -- |
* 入参
| 参数名 | 子参数名 | 类型 | 必填 | 描述 |
|:---------|------|-----------|-----|-----------------------------|
| source | | String | 是 | 文件信息 |String
| | path | | 是 | 文件的本地临时路径 |String
| | type | | 是 | 文件类型 | Number
| | size | | 是 | 文件大小 |String
| url | | | 否 | 文件上传接口地址 |Object
| headers | | | 否 | 文件上传时的自定义请求头 |Object
| formdata | | | 否 | 文件上传时的额外参数(formData携带的额外参数) |String
| name | | | 否 | 上传的文件对应的key名 默认为file |
* 出参
| 参数名 | 子参数 | 类型 | 描述 |
|-----------|-----|-----------|----------------------|
| resultObj | | Object | 文件上传的结果(业务侧接口定义的返回体) |Boolean
| isSuccess | | | 文件上传是否成功 |String
| errorMsg | | | 错误信息 |
* 示例-async await
`javascript`
const dataInfo = {
source: {
path: 'xxxxxx',
type: 'image/png', // 具体看业务侧选择的文件类型而定!!!!
size: xxxxxx
},
url: 'https://www.xxx.xxx.com/xxxxxx',
headers: {},
formdata: {},
name: 'file'
}
const res = await this.$xybAgent.fileUpload(dataInfo);
if (res?.isSuccess) {
// 文件上传成功
}
* 示例-promise
`javascript`
const dataInfo = {
source: {
path: 'xxxxxx',
type: 'image/png', // 具体看业务侧选择的文件类型而定!!!!
size: xxxxxx
},
url: 'https://www.xxx.xxx.com/xxxxxx',
headers: {},
formdata: {},
name: 'file'
}
this.$xybAgent.fileUpload(dataInfo).then(res => {
if (res?.isSuccess) {
// 文件上传成功
}
});
> 此API是一个异步任务,需使用async await / promise结构 获取回调值
* 环境适配说明
| 环境类型 | 是否适配 | 适配版本(最低) |
|----------------|:----:|:---------|
| 湘易办小程序 | 是 | 1.1.4 |是
| 湘易办小程序-webview | | 1.1.8 |是
| 湘易办 - webview | | 2.0.0 |否
| 三方小程序 | | -- |
* 入参
| 参数名 | 类型 | 必填 | 描述 |
|:-----|----------|-----|---------------------|
| url | String | 是 | 文件地址 |String
| name | | 是 | 文件名 (必须包含文件后缀名) |
* 出参
| 参数名 | 子参数 | 类型 | 描述 |
|-----------|------|-----------|----------|
| resultObj | | Object | 文件下载结果 |String
| | path | | 文件下载路径 |Boolean
| isSuccess | | | 文件下载是否成功 |String
| errorMsg | | | 错误信息 |
* 示例-async await
`javascript`
const dataInfo = {
url: 'https://www.xxx.xxx.com/xxxx.pdf',
name: 'xxxx.pdf'
};
const res = await this.$xybAgent.fileDownload(dataInfo);
if (res?.isSuccess) {
// 文件下载成功
}
* 示例-promise
`javascript`
const dataInfo = {
url: 'https://www.xxx.xxx.com/xxxx.pdf',
name: 'xxxx.pdf'
};
this.$xybAgent.fileDownload(dataInfo).then(res => {
if (res?.isSuccess) {
// 文件下载成功
}
});
* 注意事项:
> * 只有pdf、图片、world等标准可查看文档才会显示在【湘易办APP】-【我的】-【我的服务】-【我的下载】中
> * zip等相关文件不会在【我的下载】中展示
> 该API为单向事件,无回调事件
* 环境适配说明
| 环境类型 | 是否适配 | 适配版本(最低) |
|----------------|:----:|:---------|
| 湘易办小程序 | 是 | 1.1.4 |是
| 湘易办小程序-webview | | 1.1.8 |是
| 湘易办 - webview | | 2.0.0 |否
| 三方小程序 | | -- |
* 入参
| 参数名 | 类型 | 必填 | 描述 |
|:----|----------|-----|-----------|
| url | String | 是 | 文件预览的链接地址 |
* 出参-无
* 示例
`javascript`
const fileInfo = {
url: 'http://localhost:8080'
}
this.$xybAgent.filePreview(fileInfo);
* 环境适配说明
| 环境类型 | 是否适配 | 适配版本(最低) |
|----------------|:----:|:---------|
| 湘易办小程序 | 是 | 1.1.4 |是
| 湘易办小程序-webview | | 1.1.8 |是
| 湘易办 - webview | | 2.0.0 |否
| 三方小程序 | | -- |
* 入参
| 参数名 | 类型 | 必填 | 描述 |
|:----------|----------|-----|------|
| localPath | String | 是 | 文件路径 |
* 出参-无
* 示例
`javascript`
const fileInfo = {
localPath: '/storage/emulated/0/Download/test.pdf'
}
this.$xybAgent.openLocalFile(fileInfo)
* 环境适配说明
| 环境类型 | 是否适配 | 适配版本(最低) |
|----------------|:----:|:---------|
| 湘易办小程序 | 是 | 1.1.4 |是
| 湘易办小程序-webview | | 1.1.8 |否
| 湘易办 - webview | | -- |否
| 三方小程序 | | -- |
* 入参
| 参数名 | 类型 | 必填 | 描述 |
|:-----|----------|-----|------|
| path | String | 是 | 文件路径 |
* 出参-无
* 示例
`javascript`
const fileInfo = {
path: '/storage/emulated/0/Download/test.pdf'
};
this.$xybAgent.openThirdFile(fileInfo);
* 环境适配说明
| 环境类型 | 是否适配 | 适配版本(最低) |
|----------------|:----:|:---------|
| 湘易办小程序 | 是 | 1.1.4 |是
| 湘易办小程序-webview | | 1.1.8 |否
| 湘易办 - webview | | -- |否
| 三方小程序 | | -- |
* 入参
| 参数名 | 类型 | 必填 | 描述 |
|:----|----------|-----|------|
| id | String | 是 | 事项ID |
* 出参-无
* 示例
`javascript`
const matterId = 'xxxxx';
this.$xybAgent.sendMatterId(matterId);
* 环境适配说明
| 环境类型 | 是否适配 | 适配版本(最低) |
|----------------|:----:|:---------|
| 湘易办小程序 | 是 | 1.1.4 |是
| 湘易办小程序-webview | | 1.1.8 |否
| 湘易办 - webview | | -- |否
| 三方小程序 | | -- |
* 入参
| 参数名 | 类型 | 必填 | 描述 |
|:-------|----------|-----|------|
| idList | Object | 是 | 事项ID |
* 出参-无
* 示例
`javascript`
const matterIdList = {
'page/index/index': 'xxxx',
'page/index/details': 'xxx'
}
this.$xybAgent.autoSendMatterId(matterIdList);
* 注意事项
> * idList对象,内部是页面路径:页面事项IDApp.onLaunch
> * 强烈建议在生命周期中调用,否则会导致SDK无法执行自动上报
> * 若页面路径业务侧未执行路径映射传递,SDK内部会自动上报空字符
> 此API是一个异步任务,需使用async await / promise结构 获取回调值
* 环境适配说明
| 环境类型 | 是否适配 | 适配版本(最低) |
|----------------|:----:|:---------|
| 湘易办小程序 | 是 | 1.1.4 |是
| 湘易办小程序-webview | | 1.1.8 |否
| 湘易办 - webview | | -- |否
| 三方小程序 | | -- |
* 入参
| 参数名 | 类型 | 必填 | 描述 |
|:---------|----------|-----|--------|
| matterId | String | 是 | 页面事项ID |
* 出参-仅列出返回体内的子参数,整体是一个Object对象
| 参数名 | 类型 | 描述 |
|:----------|-----------|---------------|
| msg | String | 提示信息 |Boolean
| isSuccess | | 是否成功打开评价弹窗/页面 |
* 示例-async await
`javascript`
const {isSuccess} = await this.$xybAgent.showComment(dataInfo);
if (isSuccess) {
// 打开评价弹窗/页面成功
}
* 示例-promise
`javascript`
this.$xybAgent.showComment(dataInfo).then(({isSuccess}) => {
if (isSuccess) {
// 打开评价弹窗/页面成功
}
})
* 环境适配说明
| 环境类型 | 是否适配 | 适配版本(最低) |
|----------------|:----:|:---------|
| 湘易办小程序 | 是 | 1.1.4 |是
| 湘易办小程序-webview | | 1.1.8 |否
| 湘易办 - webview | | -- |否
| 三方小程序 | | -- |
* 入参
| 参数名 | 类型 | 必填 | 描述 |
|:-----|-----------|-----|----------|
| isOn | Boolean | 是 | 是否开启屏幕常亮 |
* 出参-无
* 示例
`javascript`
this.$xybAgent.setScreenLight(true);
* 环境适配说明
| 环境类型 | 是否适配 | 适配版本(最低) |
|----------------|:----:|:---------|
| 湘易办小程序 | 是 | 1.1.4 |是
| 湘易办小程序-webview | | 1.1.8 |否
| 湘易办 - webview | | -- |否
| 三方小程序 | | -- |
> 此API是一个异步任务,需使用async await / promise结构 获取回调值
* 入参-无
* 出参-仅列出返回体内的子参数,整体是一个Object对象
| 参数名 | 类型 | 描述 |
|:----------|-----------|----------|
| isSuccess | Boolean | 是否成功禁止截屏 |
* 示例-async await
`javascript`
const {isSuccess} = await this.$xybAgent.forbidScreenShot();
if (isSuccess) {
// 禁止截屏成功
}
* 示例-promise
`javascript`
this.$xybAgent.forbidScreenShot().then(({isSuccess}) => {
if (isSuccess) {
// 禁止截屏成功
}
});
* 环境适配说明
| 环境类型 | 是否适配 | 适配版本(最低) |
|----------------|:----:|:---------|
| 湘易办小程序 | 是 | 1.1.4 |是
| 湘易办小程序-webview | | 1.1.8 |否
| 湘易办 - webview | | -- |否
| 三方小程序 | | -- |
* 入参
| 参数名 | 类型 | 必填 | 描述 |
|:------|----------|-----|--------|
| phone | String | 是 | 拨号的手机号 |
* 出参-无
* 示例
`javascript`
const phone = 'xxxxxxxxxx';
this.$xybAgent.callPhone(phone);
> 此API是一个异步任务,需使用async await / promise结构 获取回调值
* 环境适配说明
| 环境类型 | 是否适配 | 适配版本(最低) |
|----------------|:----:|:---------|
| 湘易办小程序 | 是 | 1.1.4 |是
| 湘易办小程序-webview | | 1.1.8 |否
| 湘易办 - webview | | -- |否
| 三方小程序 | | -- |
* 入参-无
* 出参-仅列出返回体内的子参数,整体是一个Object对象
| 参数名 | 类型 | 描述 |
|:----------|----------|------|
| cacheSize | String | 缓存大小 |
* 示例-async await
`javascript`
const {cacheSize} = await this.$xybAgent.getCacheSize();
if (cacheSize) {
// 执行缓存数据处理
}
* 示例-promise
`javascript`
this.$xybAgent.getCacheSize().then(({cacheSize}) => {
if (cacheSize) {
// 执行缓存数据处理
}
});
* 环境适配说明
| 环境类型 | 是否适配 | 适配版本(最低) |
|----------------|:----:|:---------|
| 湘易办小程序 | 是 | 1.1.4 |是
| 湘易办小程序-webview | | 1.1.8 |否
| 湘易办 - webview | | -- |否
| 三方小程序 | | -- |
* 入参
| 参数名 | 类型 | 必填 | 描述 |
|:-----|----------|-----|---------------|
| text | String | 是 | 需要复制到剪切板的文字内容 |
* 出参-无
* 示例
`javascript`
const text = '需要复制到剪切板的文字内容';
this.$xybAgent.copyToClipboard(text);
> 此API是一个异步任务,需使用async await / promise结构 获取回调值
* 环境适配说明
| 环境类型 | 是否适配 | 适配版本(最低) |
|----------------|:----:|:---------|
| 湘易办小程序 | 是 | 1.1.4 |是
| 湘易办小程序-webview | | 1.1.8 |否
| 湘易办 - webview | | -- |否
| 三方小程序 | | -- |
* 入参
| 参数名 | 类型 | 必填 | 描述 |
|:----------|----------|-----|--------------|
| toAppCode | String | 是 | 接收消息的小程序应用编码 |String
| appCode | | 是 | 发送消息的小程序应用编码 |Object
| extraData | | 否 | 消息数据内容 |
* 出参-仅列出返回体内的子参数,整体是一个Object对象
| 参数名 | 类型 | 描述 |
|:----------|-----------|----------|
| isSuccess | Boolean | 是否成功发送消息 |String
| msg | | 成功/错误信息 |
* 示例-async await
`javascript`
const msgInfo = {
toAppCode: 'xxxx',
appCode: 'xxxx',
extraData: {
key: 'value'
}
}
const {isSuccess} = await this.$xybAgent.postMsgToOtherApp(msgInfo);
if (isSuccess) {
// 发送消息成功
}
* 示例-promise
`javascript`
const msgInfo = {
toAppCode: 'xxxx',
appCode: 'xxxx',
extraData: {
key: 'value'
}
}
this.$xybAgent.postMsgToOtherApp(msgInfo).then(({isSuccess}) => {
if (isSuccess) {
// 发送消息成功
}
});
> 此API是一个异步任务,需使用async await / promise结构 获取回调值
* 环境适配说明
| 环境类型 | 是否适配 | 适配版本(最低) |
|----------------|:----:|:---------|
| 湘易办小程序 | 是 | 1.1.4 |是
| 湘易办小程序-webview | | 1.1.8 |否
| 湘易办 - webview | | -- |否
| 三方小程序 | | -- |
* 入参-无
* 出参-仅列出返回体内的子参数,整体是一个Object对象
| 参数名 | 类型 | 描述 |
|:------|----------|--------|
| event | Object | 事件来源 |Object
| data | | 事件数据信息 |
* 示例-async await
`javascript`
const {event, data} = await uni.onNativeEventReceive();
if (event === 'NativeMessageFromMiniApp') {
// 执行事件处理
}
* 示例-promise
`javascript`
uni.onNativeEventReceive().then(({event, data}) => {
if (event === 'NativeMessageFromMiniApp') {
// 执行事件处理
}
});
* 注意事项
> * 此API是UNI本身就拥有的API,具体用法可参考UNI官方文档
> * 此API是一个监听消息事件的API,在组件销毁时,建议off销毁掉,不然可能存在内存泄露问题
> * 监听建议放置到App.onLaunch生命周期处使用
> 此API是一个异步任务,需使用async await / promise结构 获取回调值
* 环境适配说明
| 环境类型 | 是否适配 | 适配版本(最低) |
|----------------|:----:|:---------|
| 湘易办小程序 | 是 | 1.1.4 |是
| 湘易办小程序-webview | | 1.1.8 |否
| 湘易办 - webview | | -- |否
| 三方小程序 | | -- |
* 入参
| 参数名 | 类型 | 必填 | 描述 |
|:----|----------|-----|-----------|
| url | String | 是 | 打开APP的url |
* 出参-仅列出返回体内的子参数,整体是一个Object对象
| 参数名 | 类型 | 描述 |
|:----------|-----------|---------------------------------------|
| isSuccess | Boolean | 是否成功打开APP(true 打开app,false 没有安装app) |
* 示例-async await
`javascript`
const dataInfo = {
url: 'https://www.baidu.com'
}
const {isSuccess} = await this.$xybAgent.openApp(dataInfo);
if (isSuccess) {
// 打开第三方APP成功
}
* 示例-promise
`javascript`
const dataInfo = {
url: 'https://www.baidu.com'
}
this.$xybAgent.openApp(dataInfo).then(({isSuccess}) => {
if (isSuccess) {
// 打开第三方APP成功
}
});
* 环境适配说明
| 环境类型 | 是否适配 | 适配版本(最低) |
|----------------|:----:|:---------|
| 湘易办小程序 | 是 | 1.1.4 |是
| 湘易办小程序-webview | | 1.1.8 |否
| 湘易办 - webview | | -- |否
| 三方小程序 | | -- |
* 入参
| 参数名 | 类型 | 必填 | 描述 |
|:----------|----------|-----|---------------------------|
| appCode | String | 是 | 小程序的APPCode,不是uni开头的APPID |String
| pageUrl | | 是 | 小程序指定页面路径 |Object
| extraData | | 否 | 携带到另外一个小程序的额外数据信息 |
* 出参-无
* 示例
`javascript`
this.$xybAgent.openXybApp({
appCode: 'xxxxx', // 在小程序发布系统注册的时候填写的编码
pageUrl: '/pages/index/index', // 目标小程序的页面路径
extraData: {} // 额外携带过去的参数信息
});
* 注意事项
> 需要接收其他小程序携带过来的数据信息时,需要在App.onLaunch生命周期中添加监听事件来处理对应的数据信息,示例代码如下:
`javascript`
App({
onLaunch: function (options) {
uni.onNativeEventReceive((event, data) => {
// 执行对应的判断和数据处理
})
}
});
> SDK提供了一个API,供小程序webview嵌套的H5调用,具体配置说明如下:
* 小程序的webview配置:
`html
`
* 参数说明
| 参数名 | 类型 | 描述 |
|:---------|:-------|:--------------|
| event | Object | 原生事件信息 |
| xybAgent | Object | SDK对象实例 |
| this | Object | 当前webview实例对象 |
* 注意事项
> web-view 组件一定要有 id 而且 id 必须是 webview,否则会导致小程序嵌套的H5无法正常调用jssdk
> 此API是一个单向任务,无回调值
* 环境适配说明
| 环境类型 | 是否适配 | 适配版本(最低) |
|----------------|:----:|:---------|
| 湘易办小程序 | 是 | 1.1.4 |是
| 湘易办小程序-webview | | 1.1.8 |否
| 湘易办 - webview | | -- |否
| 三方小程序 | | -- |
* 入参
| 参数名 | 子参数 | 类型 | 默认值 | 必填 | 描述 |
|:---------|----------|-----------|-----------------|-----|----------------------------------|
| share | | Object | {show: false} | 否 | 分享按钮配置信息 |Boolean
| | show | | false | 否 | 是否显示分享按钮 |String
| | code | | -- | 否 | 页面/专区/事项 编码 (show=true时必填) |String
| | matterID | | -- | 否 | 页面/专区/事项 编码 (show=true时必填) |String
| | type | | -- | 否 | 事项-4;小程序-5 (show=true时必填) |Object
| comment | | | {show: false} | 否 | 评论按钮配置信息 |Boolean
| | show | | false | 否 | 是否显示评论按钮 |String
| | code | | -- | 否 | 页面/专区/事项 编码 (show=true时必填) |String
| | matterID | | -- | 否 | 页面/专区/事项 编码 (show=true时必填) |String
| | type | | -- | 否 | 事项-4;小程序-5 (show=true时必填) |Object
| favorite | | | {show: true} | 否 | 收藏按钮配置信息 |Boolean
| | show | | true | 否 | 是否显示收藏按钮 |
* 返回值
> 仅列出返回体内的子参数,整体是一个Object对象
| 参数名 | 类型 | 描述 |
|:----------|-----------|----------------|
| isSuccess | Boolean | 更改胶囊按钮下拉菜单是否成功 |
* 示例
`javascript`
this.$xybAgent.menuBtnConfig({
share: {
show: true,
type: 4,
code: 'xxxxxx'
},
comment: {
show: true,
type: 4,
code: 'xxxxxx'
},
favorite: {
show: true
}
})
> SDK提供了一个用于接口请求的方法,使用方式与uni.request一致,但是增加了请求拦截器、请求头公共配置
* 环境适配说明
| 环境类型 | 是否适配 | 适配版本(最低) |
|----------------|:----:|:---------|
| 湘易办小程序 | 是 | 1.1.4 |是
| 湘易办小程序-webview | | 1.1.8 |否
| 湘易办 - webview | | -- |否
| 三方小程序 | | -- |
* 示例-promise
`javascript`
this.$xybAgent.request({
url: '/api/v1/user/info',// 若未配置公共请求基础URI,需要设置完整的请求地址
method: 'POST',
data: {
name: '张三'
},
headers: {
'ClientID': 'xxx' // 若接口有设置自定义headers,会与公共配置的请求头进行叠加,若有配置项与公共请求头一致时,才会执行覆盖操作
},
ignore: true, // 忽略请求拦截器
}).then(res => {
// 请求成功
}).catch(e => {
console.log(e)
});
* 示例-async/await
`javascript`
try {
const res = await this.$xybAgent.request({
url: '/api/v1/user/info', // 若未配置公共请求基础URI,需要设置完整的请求地址
method: 'POST',
data: {
name: '张三'
},
headers: {
'ClientID': 'xxx' // 若接口有设置自定义headers,会与公共配置的请求头进行叠加,若有配置项与公共请求头一致时,才会执行覆盖操作
},
ignore: true, // 忽略请求拦截器
});
if (res) {
// 请求成功
}
} catch (e) {
console.log(e);
}
> 请求拦截器,主要服务于xybAgent.request,用于拦截请求,对请求参数进行修改,对请求返回数据进行预处理。若配置不是函数式对象,SDK内部不会调用该拦截器配置,请勿配置非函数式对象ignore:true
> 无需执行请求拦截的接口,可以在请求时,增加字段
* 环境适配说明
| 环境类型 | 是否适配 | 适配版本(最低) |
|----------------|:----:|:---------|
| 湘易办小程序 | 是 | 1.1.4 |是
| 湘易办小程序-webview | | 1.1.8 |否
| 湘易办 - webview | | -- |否
| 三方小程序 | | -- |
* 示例-request
> 在main.js 全局配置方案
`javascript
import xybAgent from './$DIR/xybAgent-$VERSION.esm.js';
xybAgent.interceptor.request = (config) => {
if (!config.headers.token) {
return false;
}
return config;
}
`
* 示例-response
> 在main.js 全局配置方案
`javascript
import xybAgent from './$DIR/xybAgent-$VERSION.esm.js';
xybAgent.interceptor.response = (res) => {
const {data, statusCode} = res?.data || {};
if (statusCode === 401) {
return false;
}
if (statusCode === 200) {
return data || true;
}
}
`
> 此API主要用于配置公共请求的基础URI&请求头等信息
* 环境适配说明
| 环境类型 | 是否适配 | 适配版本(最低) |
|----------------|:----:|:---------|
| 湘易办小程序 | 是 | 1.1.4 |是
| 湘易办小程序-webview | | 1.1.8 |否
| 湘易办 - webview | | -- |否
| 三方小程序 | | -- |
* 示例-baseURL
`javascript`
xybAgent.defaults.baseURL = 'https://www.baidu.com';
* 示例-headers
`javascript`
xybAgent.defaults.headers = {
'Content-Type': 'application/json',
'Authorization': 'xxxx'
}
> 此API是一个异步任务,需使用async await / promise结构 获取回调值
* 环境适配说明
| 环境类型 | 是否适配 | 适配版本(最低) |
|----------------|:----:|:---------|
| 湘易办小程序 | 是 | 1.1.4 |是
| 湘易办小程序-webview | | 1.1.8 |否
| 湘易办 - webview | | -- |否
| 三方小程序 | | -- |
* 入参
| 参数名 | 类型 | 默认值 | 必填 | 描述 |
|:----------------|----------|-----|-----|-----------------------|
| miniProgramType | Number | -- | 是 | 小程序类型(0:正式 1:开发 2:体验) |String
| userName | | -- | 是 | 小程序的账号原始ID,gh_开头的ID值 |String
| path | | -- | 否 | 打开的页面路径 |
* 出参-仅列出返回体内的子参数,整体是一个Object对象
| 参数名 | 类型 | 描述 |
|:----------|-----------|-----------------------|
| isSuccess | Boolean | 打开小程序是否成功 |String
| code | | 小程序返回的错误码(-1表示未安装客户端) |
* 示例-async await
`javascript`
const {isSuccess, code} = await this.$xybAgent.openWechatMiniApp({
miniProgramType: 0,
userName: 'gh_xxxxxx',
path: '/pages/index/index'
})
if (isSuccess) {
// 打开小程序成功
}
* 示例-promise
`javascript`
this.$xybAgent.openWechatMiniApp({
miniProgramType: 0,
userName: 'gh_xxxxxx',
path: '/pages/index/index'
}).then(({isSuccess, code}) => {
if (isSuccess) {
// 打开小程序成功
}
})
> 此API是一个异步任务,需使用async await / promise结构 获取回调值
* 环境适配说明
| 环境类型 | 是否适配 | 适配版本(最低) |
|----------------|:----:|:---------|
| 湘易办小程序 | 是 | 1.1.4 |是
| 湘易办小程序-webview | | 1.1.8 |否
| 湘易办 - webview | | -- |否
| 三方小程序 | | -- |
* 入参
| 参数名 | 类型 | 默认值 | 必填 | 描述 |
|:-----|----------|-----|-----|:--------|
| path | String | -- | 否 | 打开的页面路径 |
* 出参
| 参数名 | 类型 | 描述 |
|:----------|-----------|-----------------------|
| isSuccess | Boolean | 打开小程序是否成功 |String
| code | | 小程序返回的错误码(-1表示未安装客户端) |
* 示例-async await
`javascript`
const {isSuccess, code} = await this.$xybAgent.openAlipayMiniApp('/pages/index/index')
if (isSuccess) {
// 打开小程序成功
}
* 示例-promise
`javascript`
this.$xybAgent.openAlipayMiniApp('/pages/index/index').then(({isSuccess, code}) => {
if (isSuccess) {
// 打开小程序成功
}
})
> * 该任务是一个单向任务,无回调值信息
> * 该任务主要用于湘易办小程序/湘易办内嵌的H5页面,给用户提供快捷导航能力
* 环境适配说明
| 环境类型 | 是否适配 | JSSDK版本(最低) | NPM包版本(最低) |
|-----------------|:----:|:------------|------------|
| 湘易办小程序 | 是 | 2.0.0 | 0.0.30 |是
| 湘易办小程序-webview | | 2.0.0 | 0.0.30 |是
| 湘易办 - webview | | 2.0.0 | 0.0.30 |否
| 三方小程序 | | -- | -- |是
| 三方小程序 - webview | | -- | 0.0.30 |
* 入参
| 参数名 | 类型 | 必填 | 描述 |
|:-----------|----------|-----|--------------------------------------|
| lat | String | 是 | 纬度 |String
| lng | | 是 | 经度 |String
| name | | 是 | 目的地名称 |String
| address | | 是 | 目的地地址信息 |String
| dinateType | | 是 | 坐标系类型,默认值:GCJ02,可选值:BD09、WGS84 |
* 出参 - 无
* 示例
`javascript`
this.$xybAgent.startNavigation({
lat: '22.542',
lng: '113.942',
address: '广东省深圳市西南部深圳湾',
dinateType: 'GCJ02'
});
> * 该任务是一个单向任务,无回调值信息
> * 该任务主要用于湘易办小程序/湘易办内嵌的H5页面,用于恢复胶囊按钮的默认配置信息
* 环境适配说明
| 环境类型 | 是否适配 | 适配版本(最低) |
|----------------|:----:|:---------|
| 湘易办小程序 | 是 | 2.0.9 |是
| 湘易办小程序-webview | | 2.0.9 |否
| 湘易办 - webview | | -- |否
| 三方小程序 | | -- |
* 入参
| 参数名 | 类型 | 必填 | 默认值 | 描述 |
|:-----------|----------|-----|--------|-------------------------|
| autoUpdate | Number | 否 | true | 是否自动恢复默认配置(小程序不建议更改此配置) |
* 出参 - 无
* 示例
`javascript
// 页面切换时恢复默认配置
xybAgent.autoUpdate = true;
// 页面切换时保留现有配置
xybAgent.autoUpdate = false;
`
* 注意事项
> 小程序不建议更改此配置,否则引起的一切问题,SDK不予以处理;推荐仅用于uni-app开发的H5项目使用
> * 该任务是一个单向任务,无回调值信息
> * 该任务主要用于湘易办小程序/湘易办内嵌的H5页面,用于自动执行胶囊按钮的配置
> * SDK会自动获取地址栏上的事项编码,若无事项编码,会恢复成默认配置
* 环境适配说明
| 环境类型 | 是否适配 | 适配版本(最低) |
|----------------|:----:|:---------|
| 湘易办小程序 | 是 | 2.0.9 |是
| 湘易办小程序-webview | | 2.0.9 |否
| 湘易办 - webview | | -- |否
| 三方小程序 | | -- |
* 入参
| 参数名 | 类型 | 必填 | 默认值 | 描述 |
|:------------------|----------|-----|--------|-----------------|
| autoConfigMenuBtn | Number | 否 | true | 是否需要进行胶囊按钮自动化配置 |
* 出参 - 无
* 示例
`javascript
// 页面切换时,默认需要进行胶囊按钮自动化配置
xybAgent.autoConfigMenuBtn = true;
// 页面切换时,不需要自动化配置胶囊按钮配置
xybAgent.autoConfigMenuBtn = false;
`
* 注意事项
> 此配置不能与autoUpdate=false进行组合使用,推荐都为默认值(true),否则由此造成的一切损失,由业务侧自行承担结果
> * 该任务是一个异步任务,有回调值信息
> * 该任务主要用于湘易办小程序/湘易办内嵌的H5页面,用于添加日历日程信息
* 环境适配说明
| 环境类型 | 是否适配 | 适配版本(最低) |
|----------------|:----:|:---------|
| 湘易办小程序 | 是 | 2.0.9 |是
| 湘易办小程序-webview | | 2.0.9 |否
| 湘易办 - webview | | -- |否
| 三方小程序 | | -- |
* 入参
| 参数名 | 类型 | 必填 | 描述 |
|:-------------|-------------|-----|------------------------------|
| title | String | 是 | 行程标题 |timeStamp
| startTime | | 是 | 开始时间 (时间戳) |timeStamp
| endTime | | 是 | 结束时间 (时间戳) |Number
| reminderTime | | 否 | 即距开始时间提前x分钟提醒,不填时,默认为不提醒 |
* 出参
| 参数名 | 类型 | 描述 |
|:----------|-----------|----------|
| isSuccess | Boolean | 创建行程是否成功 |String
| errorMsg | | 错误消息内容 |String
| eventID | | 行程ID |
* 示例 - async、await 模式
`javascript2026/01/01 00:05:00
const res = await this.$xybAgent.addCalendarEvent({
title: '日历行程标题',
startTime: new Date('2026/01/01 00:00:00').getTime(),
endTime: new Date().getTime(),`
reminderTime: 5
});
if (res?.isSuccess) {
// 添加日历日程信息完成
}
* 示例 - promise 模式
`javascript2026/01/01 00:05:00
this.$xybAgent.addCalendarEvent({
title: '日历行程标题',
startTime: new Date('2026/01/01 00:00:00').getTime(),
endTime: new Date().getTime(),`
reminderTime: 5
}).then(res => {
if (res?.isSuccess) {
// 添加日历日程信息完成
}
});
> * 该任务是一个异步任务,有回调值信息
> * 该任务主要用于湘易办小程序/湘易办内嵌的H5页面,用于添加日历日程信息
* 环境适配说明
| 环境类型 | 是否适配 | 适配版本(最低) |
|----------------|:----:|:---------|
| 湘易办小程序 | 是 | 2.0.9 |是
| 湘易办小程序-webview | | 2.0.9 |否
| 湘易办 - webview | | -- |否
| 三方小程序 | | -- |
* 入参
| 参数名 | 类型 | 必填 | 描述 |
|:--------|----------|-----|------|
| eventID | String | 是 | 日程ID |
* 出参
| 参数名 | 子参数名 | 类型 | 描述 |
|:----------|--------------|-------------|----------------|
| items | | | |
| | itemID | String | 日程ID |String
| | title | | 日程标题 |Timestamp
| | startTime | | 开始时间 (时间戳) |Timestamp
| | endTime | | 结束时间 (时间戳) |Number
| | reminderTime | | 距离开始时间x分钟提醒 |Boolean
| isSuccess | | | 创建行程是否成功 |String
| errorMsg | | | 错误消息内容 |
* 示例 - async、await 模式
`javascript`
const res = await this.$xybAgent.queryCalendarEvent({
eventID: 'xxx'
});
if (res?.isSuccess) {
// 查询日历日程信息完成
}
* 示例 - promise 模式
`javascript`
this.$xybAgent.addCalendarEvent({
eventID: 'xxx'
}).then(res => {
if (res?.isSuccess) {
// 查询日历日程信息完成
}
});
> * 该任务是一个异步任务,有回调值信息
> * 该任务主要用于湘易办小程序/湘易办内嵌的H5页面,用于删除日历日程信息
* 环境适配说明
| 环境类型 | 是否适配 | 适配版本(最低) |
|----------------|:----:|:---------|
| 湘易办小程序 | 是 | 2.0.9 |是
| 湘易办小程序-webview | | 2.0.9 |否
| 湘易办 - webview | | -- |否
| 三方小程序 | | -- |
* 入参
| 参数名 | 类型 | 必填 | 描述 |
|:--------|----------|-----|------|
| eventID | String | 是 | 日程ID |
* 出参
| 参数名 | 类型 | 描述 |
|:----------|-----------|----------|
| isSuccess | Boolean | 创建行程是否成功 |String
| errorMsg | | 错误消息内容 |
* 示例 - async、await 模式
`javascript`
const res = await this.$xybAgent.deleteCalendarEvent({
eventID: 'xxx'
});
if (res?.isSuccess) {
// 删除日历日程信息完成
}
* 示例 - promise 模式
`javascript`
this.$xybAgent.deleteCalendarEvent({
eventID: 'xxx'
}).then(res => {
if (res?.isSuccess) {
// 删除日历日程信息完成
}
});
#### 0.0.32 - NPM包版本号
* 更新时间:2026/01/01
* 更新内容:
> 1. 【湘易办微信/支付宝小程序】- H5增加内层H5调用xybAgent 小程序 - H5 - H5
> 2. 【湘易办微信/支付宝小程序】- H5增加【图片选择】支持
> 3. 【湘易办微信/支付宝小程序】- H5增加【图片预览】支持
> 4. 【湘易办微信/支付宝小程序】- H5拓展【人脸识别】自定义回跳地址
> 5. 【湘易办微信/支付宝小程序】- H5增加【二维码扫描】支持
#### 0.0.31 - NPM包版本号
* 更新时间:2025/12/24
* 更新内容:
> 1. 增加微信小程序加签可由业务侧传递参数执行加签处理
> 2. 优化部分事件的内部处理逻辑
> 3. 修复global变量不存在的问题
> 4. 优化日志输出,给业务侧提供排查便捷性
#### 2.0.10
* 最后更新时间:2025/12/09
* 更新内容:
> 1. 增加日历行程添加API
> 2. 增加日历行程查看API
> 3. 增加日历行程删除API
> 4. 优化部分事件的内部逻辑
* 文件
#### 2.0.9
* 最后更新时间:2025/12/01
* 更新内容:
> 1. 优化IOS下执行文件下载时,无法获取到多次回调的情况
* 文件
#### 2.0.8
* 最后更新时间:2025/11/24
* 更新内容:
> 1. 增加胶囊按钮自动化配置功能 - 当地址栏存在xybModuleCode参数,SDK内部会自动上报事项的分享、评价配置(默认开启)
> 2. 增加胶囊按钮自动化配置开关功能 - 通过配置 xybAgent.autoConfigMenuBtn = true / false
来控制是否需要完成自动化配置(默认值true)
* 文件
#### 2.0.7
* 最后更新时间:2025/11/20
* 更新内容:
> 1. 优化鸿蒙下获取位置信息时,可能因系统底层差异导致返回的数据结构与API文档不一致的问题
> 2. 优化H5埋点数据上报时的日志信息打印,会准确告知用户侧是否上报到生产环境
> 3. 修复屏蔽胶囊按钮自动重置的BUG,默认把重置功能给屏蔽了的问题
* 文件
#### 2.0.5
* 最后更新时间:2025/11/03
* 更新内容:
> 1. 增加配置项,屏蔽整个应用的胶囊按钮自动重置的动作(只适用于基于uni-app开发的H5应用,且整个应用只有一个事项编码时使用)
* 文件
#### 2.0.4
* 最后更新时间:2025/11/03
* 更新内容:
> 1. 修复鸿蒙下的湘易办小程序无法与Webview嵌套的H5进行数据通信的问题
> 2. 修正部分业务可能因withCredentials导致接口跨域的问题
* 文件
#### 2.0.1
* 最后更新时间:2025/10/15
* 更新内容:
> 1. 优化逻辑,修复小程序与H5进行事件通讯时,部分事件失效的问题
> 2. 优化事件调用的效率
* 文件
#### 2.0.0
* 最后更新时间:2025/09/26
* 更新内容:
>
> 1. 增加目的地导航-startNavigation能力埋点上报-track
> 2. 优化事件,SDK内部直接集成部分参数处理
> 3. 增加湘易办APP-H5直接调用SDK能力
> 4. 优化逻辑,修复小程序webview环境调用SDK能力时,获取到的结果可能存在错乱的问题
* 文件
#### 1.1.8
* 最后更新时间:2025/09/02
* 更新内容:
> 1. 支持湘易办向程序与小程序通过webview嵌套的H5进行数据通讯、数据交互
> 2. 支持打开指定微信小程序并跳转至对应页面
> 3. 支持打开支付宝小程序/微信小程序`并跳转至对应页面
> 4. 优化webview页面的数据回调,避免因短时间内多次调用导致的数据回传异常问题
* 文件