HaaS UI基础教学九:JSAPI应用包管理

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

名词解释

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:  全称是JavaScript 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参数。

示例代码


  1. // sync
  2. const pm = $falcon.jsapi.pm;
  3.   pm.getInstalledAppInfo({
  4.     }, result => {
  5.     result && !result.error && console.log(result);
  6.     });
  7. }
  8. // async
  9. const pm = $falcon.jsapi.pm;
  10.     let result = await pm.getInstalledAppInfo({
  11. });         
  12. 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。


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

falcon.jsapi.pm.on("packageUninstalled", param => {}) 是监听小程序被卸载的 API。如果某个小程序被卸载,将打印被卸载小程序的appId。


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

 

1.3、falcon.jsapi.pm.off

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

入参
 

属性

类型

必填

描述

事件名

String

监听事件的名称。

callback

Function

回调函数。

 

示例代码

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


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

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


    
  1. const pm = $falcon.jsapi.pm;
  2. 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.4、监听小程序卸载

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

 

2.5、 关闭监听小程序卸载

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

 

3、相关学习文章

1.HaaS UI 免费开源的轻量级IoT小程序解决方案   https://blog.csdn.net/HaaSTech/article/details/112306194

2.HaaS UI小程序解决方案基础教学之一: 快速开始  https://blog.csdn.net/HaaSTech/article/details/112306194

3.HaaS UI小程序解决方案基础教学之二: 搭建第一个UI页面

https://blog.csdn.net/HaaSTech/article/details/112674174

4.HaaS UI小程序解决方案基础教学之三: JSAPI页面导航

https://blog.csdn.net/HaaSTech/article/details/112681511

5.HaaS UI小程序解决方案基础教学之四: JSAPI数据存储

https://blog.csdn.net/HaaSTech/article/details/112766128

6.HaaS UI小程序解决方案基础教学之五: JSAPI文件管理

https://blog.csdn.net/HaaSTech/article/details/112766128

 

开发者技术支持

如需更多技术支持,可加入钉钉开发者群,或者关注微信公众号

更多技术与解决方案介绍,请访问阿里云AIoT首页https://iot.aliyun.com/

相关文章
|
11天前
|
前端开发 安全 开发工具
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
141 90
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
26天前
|
人工智能 自然语言处理 API
用自然语言控制电脑,字节跳动开源 UI-TARS 的桌面版应用!内附详细的安装和配置教程
UI-TARS Desktop 是一款基于视觉语言模型的 GUI 代理应用,支持通过自然语言控制电脑操作,提供跨平台支持、实时反馈和精准的鼠标键盘控制。
536 17
用自然语言控制电脑,字节跳动开源 UI-TARS 的桌面版应用!内附详细的安装和配置教程
|
1月前
「Mac畅玩鸿蒙与硬件53」UI互动应用篇30 - 打卡提醒小应用
本篇教程将实现一个打卡提醒小应用,通过用户输入时间进行提醒设置,并展示实时提醒状态,实现提醒设置和取消等功能。
68 10
|
1月前
|
UED
「Mac畅玩鸿蒙与硬件52」UI互动应用篇29 - 模拟火车票查询系统
本篇教程将实现一个模拟火车票查询系统,通过输入条件筛选车次信息,并展示动态筛选结果,学习事件处理、状态管理和界面展示的综合开发技巧。
72 13
|
1月前
「Mac畅玩鸿蒙与硬件51」UI互动应用篇28 - 模拟记账应用
本篇教程将介绍如何创建一个模拟记账应用,通过账单输入、动态列表展示和实时统计功能,学习接口定义和组件间的数据交互。
168 68
|
2月前
|
前端开发 UED
「Mac畅玩鸿蒙与硬件50」UI互动应用篇27 - 水果掉落小游戏
本篇教程将带你实现一个水果掉落小游戏,掌握基本的动态交互逻辑和鸿蒙组件的使用,进一步了解事件处理与状态管理。
61 14
|
2月前
|
前端开发
「Mac畅玩鸿蒙与硬件49」UI互动应用篇26 - 数字填色游戏
本篇教程将带你实现一个数字填色小游戏,通过简单的交互逻辑,学习如何使用鸿蒙开发组件创建趣味性强的应用。
73 20
|
2月前
|
流计算 UED
「Mac畅玩鸿蒙与硬件48」UI互动应用篇25 - 简易购物车功能实现
本篇教程将带你实现一个简易购物车功能。通过使用接口定义商品结构,我们将创建一个动态购物车,支持商品的添加、移除以及实时总价计算。
139 69
|
2月前
「Mac畅玩鸿蒙与硬件47」UI互动应用篇24 - 虚拟音乐控制台
本篇将带你实现一个虚拟音乐控制台。用户可以通过界面控制音乐的播放、暂停、切换歌曲,并查看当前播放的歌曲信息。页面还支持调整音量和动态显示播放进度,是音乐播放器界面开发的基础功能示例。
214 80
|
2月前
「Mac畅玩鸿蒙与硬件46」UI互动应用篇23 - 自定义天气预报组件
本篇将带你实现一个自定义天气预报组件。用户可以通过选择不同城市来获取相应的天气信息,页面会显示当前城市的天气图标、温度及天气描述。这一功能适合用于动态展示天气信息的小型应用。
164 38