Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@gov-api-package/widget-manager

Package Overview
Dependencies
Maintainers
4
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@gov-api-package/widget-manager

桌面widget添加和更新

  • 0.0.12
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
1
decreased by-90%
Maintainers
4
Weekly downloads
 
Created
Source

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请求参数说明:
参数类型是否必传默认值说明
apiNameStringaddCustomWidget判断创建的时候:addCustomWidget
判断更新的时候:updateCustomWidgetConfig
API返回值说明:
类型说明
trueBoolean可用
falseBoolean不可用
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请求参数说明:
参数类型是否必传默认值说明
widgetInfoObjectwidget信息
widgetTypeStringwidget类型
appKeyString小程序的appKey,可通过以下方式获得:
开发者后台->小程序管理->基础设置->开发设置->开发者ID模块->App Key
addConfigObject不传则add方法添加成功、失败都执行以下默认操作add方法的相关配置
updateConfigObject不传则update执行成功后或失败后没有任何提示update的相关配置
widgetType可选值说明:
说明
hesuan核酸,也是桌面widget默认展示类型
express快递
riskLevel疫情风险地区
weather天气
starSign星座
addConfig参数说明:
参数类型是否必传默认值说明
failTypeString11 添加失败进行toast提示,系统不支持跳转到兜底h5。
2 添加失败进行toast提示,系统不支持添加小程序桌面快捷方式。
failToastTextString添加失败addConfig.failType有值时的toast提示文案,若addConfig.failType值为2,则系统不支持widget的时候创建小程序桌面快捷方式失败也提示此文案。
successTypeString11 添加成功toast提示
successToastTextString添加成功addConfig.successType有值时的toast提示文案。
webviewPagePathStringaddConfig.failType为1时承载h5兜底页、ios机型承载h5引导页的webview页面,若不传此参数toast提示添加失败
需以「/」开头
webviewParamNameStringurlwebview页面内,接收h5链接的参数
updateConfig参数说明:
参数类型是否必传默认值说明
failToastTextString更新失败的toast提示,不传则失败无提示
successToastTextString更新成功的toast提示,不传则成功无提示
API使用示例:
/**
 * 初始化widget相关的API
 */
initWidget() {
    widgetManager.init({
        widgetType: 'express',
        addConfig: {
            failType: '1',
            successType: '1'
        }
    });
}

2.2.3 添加widget add

API请求参数:
参数类型是否必传默认值说明
addInfoObject添加widget相关的参数合集
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
success回调参数说明:
参数类型说明
codeString添加成功返回0,若系统不支持widget,且widgetInfo.addConfig.failType为2的时候,添加桌面快捷方式也会返回0,但没有widgetId
widgetIdString添加成功后,桌面上生成的 widget 对应的实例 id
fail回调参数说明:
参数类型说明
errCodeStringadd添加失败的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:
errMsgString添加失败的具体原因
API使用示例:
/**
 * 添加widget桌面小组件
 */
addWidgetHdl() {
    widgetManager.add({
        success: () => {
            console.log('添加成功')
        },
        fail: err => {
            console.log('添加失败')
        }
    });
}

2.2.4 更新widget update

API请求参数:
参数类型是否必传默认值说明
updateInfoObject
updateIdString若调用保存接口后刷新桌面widget时必传开发者将一些数据提交给服务端之后,接口返回的updateId
widgetIdString桌面上widget的实例id
successFunction成功的回调
failFunction失败的回调
fail回调参数说明:
参数类型说明
errCodeString1001: 更新失败更新失败的code
errMsgString更新失败的说明
API使用示例:
/**
 * 刷新widget桌面小组件
 */
updateWidgetHdl() {
    widgetManager.update({
        updateId: '123',
        widgetId: '123',
        success: () => {
            console.log('更新成功');
        },
        fail: err => {
            console.log('更新失败');
        }
    });
},

FAQs

Package last updated on 18 Nov 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc