@gov-api-package/widget-manager

0.0.12 • Public • Published

widget桌面小组件 API

添加widget示意图

一、在开发之前

1.1 配置域名

接入前请将此域名 https://zw.baidusmartapps.com 添加到request的合法域名中

域名 添加方式
https://zw.baidusmartapps.com 开发者后台->小程序管理->设置->开发设置->服务器域名->request的合法域名

1.2 小程序需开通以下api的鉴权

需鉴权的API 说明
swan.addCustomWidget 添加桌面widget小组件
swan.updateCustomWidgetConfig 刷新widgetAPI
swan.openBdboxWebview 打开百度页面API,用于打开刷新widget的h5页面

二、接入

2.1 安装依赖

npm i @gov-api-package/widget-manager --save

2.2 API 使用

widget桌面小组件服务目前提供了初始化、判断当前宿主是否可添加、添加、更新API,具体如下表所示:

API 说明
canUse 判断当前宿主是否支持添加、更新widget
init 初始化widget,初始化后才可以调用添加、更新的API
add 添加widget桌面小组件
update 更新widget桌面小组件
// 引入
import {widgetManager} from '@gov-api-package/widget-manager';

2.2.1 查询当前宿主是否可创建widget canUse

API请求参数说明:

参数 类型 是否必传 默认值 说明
apiName String addCustomWidget 判断创建的时候:addCustomWidget
判断更新的时候:updateCustomWidgetConfig

API返回值说明:

类型 说明
true Boolean 可用
false Boolean 不可用

API示例:

/**
 * 初始化widget相关的API
 */
async initWidget() {
    const isCanAdd = await widgetManager.canUse();
    isCanAdd && widgetManager.init({
        widgetType: 'express',
        addConfig: {
            failType: '1',
            successType: '1'
        }
    });
}

2.2.2 初始化widget:init

API请求参数说明:

参数 类型 是否必传 默认值 说明
widgetInfo Object widget信息
widgetType String widget类型
appKey String 小程序的appKey,可通过以下方式获得:
开发者后台->小程序管理->基础设置->开发设置->开发者ID模块->App Key
addConfig Object 不传则add方法添加成功、失败都执行以下默认操作 add方法的相关配置
updateConfig Object 不传则update执行成功后或失败后没有任何提示 update的相关配置

widgetType可选值说明:

说明
hesuan 核酸,也是桌面widget默认展示类型
express 快递
riskLevel 疫情风险地区
weather 天气
starSign 星座

addConfig参数说明:

参数 类型 是否必传 默认值 说明
failType String 1 1 添加失败进行toast提示,系统不支持跳转到兜底h5。
2 添加失败进行toast提示,系统不支持添加小程序桌面快捷方式。
failToastText String 添加失败 addConfig.failType有值时的toast提示文案,若addConfig.failType值为2,则系统不支持widget的时候创建小程序桌面快捷方式失败也提示此文案。
successType String 1 1 添加成功toast提示
successToastText String 添加成功 addConfig.successType有值时的toast提示文案。
webviewPagePath String addConfig.failType为1时承载h5兜底页、ios机型承载h5引导页的webview页面,若不传此参数toast提示添加失败
需以「/」开头
webviewParamName String url webview页面内,接收h5链接的参数

updateConfig参数说明:

参数 类型 是否必传 默认值 说明
failToastText String 更新失败的toast提示,不传则失败无提示
successToastText String 更新成功的toast提示,不传则成功无提示

API使用示例:

/**
 * 初始化widget相关的API
 */
initWidget() {
    widgetManager.init({
        widgetType: 'express',
        addConfig: {
            failType: '1',
            successType: '1'
        }
    });
}

2.2.3 添加widget add

API请求参数:

参数 类型 是否必传 默认值 说明
addInfo Object 添加widget相关的参数合集
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数

success回调参数说明:

参数 类型 说明
code String 添加成功返回0,若系统不支持widget,且widgetInfo.addConfig.failType为2的时候,添加桌面快捷方式也会返回0,但没有widgetId
widgetId String 添加成功后,桌面上生成的 widget 对应的实例 id

fail回调参数说明:

参数 类型 说明
errCode String add添加失败的code
400:调用add接口,参数错误;
900:调用add接口,接口异常
1000:调用add接口无网络;
1001:添加失败;
1002:系统不支持;
1003:桌面已存在(13.19以下);
add添加失败的公共code
1005:系统不支持,且打开h5引导页失败 init方法中,widgetInfo.addConfig.failType值为1的时侯,打开h5引导页失败的code:
1004:系统不支持,创建桌面快捷方式失败; init方法中,widgetInfo.addConfig.failType值为2的时候addToDesktop失败的code:
errMsg String 添加失败的具体原因

API使用示例:

/**
 * 添加widget桌面小组件
 */
addWidgetHdl() {
    widgetManager.add({
        success: () => {
            console.log('添加成功')
        },
        fail: err => {
            console.log('添加失败')
        }
    });
}

2.2.4 更新widget update

API请求参数:

参数 类型 是否必传 默认值 说明
updateInfo Object
updateId String 若调用保存接口后刷新桌面widget时必传 开发者将一些数据提交给服务端之后,接口返回的updateId
widgetId String 桌面上widget的实例id
success Function 成功的回调
fail Function 失败的回调

fail回调参数说明:

参数 类型 说明
errCode String 1001: 更新失败 更新失败的code
errMsg String 更新失败的说明

API使用示例:

/**
 * 刷新widget桌面小组件
 */
updateWidgetHdl() {
    widgetManager.update({
        updateId: '123',
        widgetId: '123',
        success: () => {
            console.log('更新成功');
        },
        fail: err => {
            console.log('更新失败');
        }
    });
},

Readme

Keywords

none

Package Sidebar

Install

npm i @gov-api-package/widget-manager

Weekly Downloads

2

Version

0.0.12

License

ISC

Unpacked Size

22 kB

Total Files

3

Last publish

Collaborators

  • wang_336633
  • mayachen1
  • mayachen111
  • songyulin
  • luof
  • hellnaren