芯片开放社区
直播中

李玲

7年用户 1251经验值
私信 关注
[技术讨论]

【RISC-V 生态软件系列】 HaaS UI基础教学九:JSAPI之应用包管理

名词解释

AliOS Things: 阿里云智能IoT团队自研的物联网操作系统
HaaS:全称是Hardware as a Service,阿里云智能IoT团队基于AliOS Things系统推出的硬件即服务
HaaS UI:全称是Hardware as a Service User Interface,是源自AliOS Things操作系统上的一套应用&图形解决方案,支持C/C++和 JS两种开发语言
JSAPI:  全称是JavaScritp Application Programming Interface,即JS应用程序编程接口,实现JS前端和系统层各个模块的接口调用,类似android系统的JNI
1. Package JSAPI简介

Package JSAPI是HaaS UI提供的一个轻量级应用包管理接口,特别适用于管理小程序应用包的安装信息。

例如用户想要获取当前安装的所有小程序应用的信息,或者想要监听小程序应用包的安装和卸载,就可以通过Package JSAPI来完成。

Package JSAPI的作用域为当前小程序应用,包含的接口如下:
接口宿主

JSAPI

调用方法

接口功能

package

getInstalledAppInfo

$falcon.jsapi.pm.getInstalledAppInfo

应用包管理

packageInstalled

$falcon.jsapi.pm.on("packageInstalled", param => {})

$falcon.jsapi.pm.off("packageInstalled", param => {})

packageUninstalled

$falcon.jsapi.pm.on("packageUnInstalled", param => {})

$falcon.jsapi.pm.off("packageUninstalled", param => {})

1.1 package.getInstalledAppInfo

package.getInstalledAppInfo 是获取本地已安装的小程序应用的 API。

调用 package.getInstalledAppInfo 成功后,可查看所有本地已安装的小程序的信息。

入参
Object 类型,属性如下:
属性

类型

必填

描述


-

-

-

callback

Function


回调函数,包含result参数。


示例代码
// sync
const pm = $falcon.jsapi.pm;
  pm.getInstalledAppInfo({
        }, result => {
          result && !result.error && console.log(result);
         });
}

// async
const pm = $falcon.jsapi.pm;
        let result = await pm.getInstalledAppInfo({
});         
result && !result.error && console.log(result);
success 回调函数

属性

类型

描述

appList

List

文件列表。

App 对象属性

属性

类型

描述

appId

String

小程序应用的 id。

name

String

小程序应用的名称。

version

String

小程序应用的版本。

icon

String

小程序应用图标的路径。


1.2 falcon.jsapi.pm.on

falcon.jsapi.pm.on 是打开监听小程序安装和卸载事件的 API。

入参
属性

类型

必填

描述

事件名

String


监听事件的名称。

callback

Function


回调函数。


示例代码
falcon.jsapi.pm.on("packageInstalled", param => {}) 是监听小程序被安装的 API。如果某个小程序被安装,将打印被安装小程序的appId。
const pm = $falcon.jsapi.pm;
pm.on("packageInstalled", param => {})
falcon.jsapi.pm.on("packageUninstalled", param => {}) 是监听小程序被卸载的 API。如果某个小程序被卸载,将打印被卸载小程序的appId。

const pm = $falcon.jsapi.pm;
pm.on("packageUninstalled", param => {})1.3 falcon.jsapi.pm.off

falcon.jsapi.pm.off 是关闭监听小程序安装和卸载事件的 API。

入参
属性

类型

必填

描述

事件名

String


监听事件的名称。

callback

Function


回调函数。


示例代码

falcon.jsapi.pm.off("packageInstalled", param => {}) 将关闭监听小程序的卸载事件。

const pm = $falcon.jsapi.pm;
pm.off("packageInstalled", param => {})
falcon.jsapi.pm.off("packageUninstalled", param => {}) 将关闭监听小程序的安装事件。

const pm = $falcon.jsapi.pm;
pm.off("packageUninstalled", param => {})
2. Package JSAPI调用示例

2.1 获取应用列表

通过调用package.getInstalledAppInfo({}),即可获取当前所有已安装的小程序的列表,每个小程序的信息包含:

  • 小程序的名称
  • 小程序的id
  • 小程序的版本


2.2 监听小程序安装

通过调用pm.on("packageInstalled", param => {}),即可监听某个小程序的安装。当小程序被安装时,将打印该小程序的id。


2.3 关闭监听小程序安装

通过调用pm.off("packageInstalled", param => {}),即可关闭监听某个小程序的安装。

2.2 监听小程序卸载

通过调用pm.on("packageUninstalled", param => {}),即可监听某个小程序的卸载。当小程序被卸载时,将打印该小程序的id。


2.3 关闭监听小程序卸载

通过调用pm.off("packageUninstalled", param => {}),即可关闭监听某个小程序的卸载。


更多回帖

发帖
×
20
完善资料,
赚取积分