智能小程序环境配置流程

App 与智能小程序

在用户使用 App 扫描小程序的二维码或者点击设备,尝试进入小程序时,系统会对 App 当前环境与小程序所需运行环境进行比对,确定环境配置兼容后,App 才能启动并运行小程序。

比对规则中,主要涉及:

  • 基础库版本的比对
  • Kit 包的种类与版本比对

也就是说,小程序使用的基础库版本、Kit 包种类和版本,会影响 App 能否启动并运行小程序。

 >> 新建项目

基础库比对

小程序基础库 是负责加载框架的容器,提供小程序框架需要的标准组件和标准 API 接口。

每个 App 中集成的容器(SDK)版本固定不变,一个容器版本会与多个小程序基础库版本有绑定关系。例如:

App 容器版本 2.4.1 可以绑定下述多个基础库版本: 2.2.4、2.2.3、2.1.20、2.1.19、2.1.18。

基础库次版本号改动是向下兼容的,所以 App 会拉取绑定的最新的基础库版本,去运行小程序。

开发者开发的小程序基础库版本低于当前 App 绑定的最新基础库版本,即表示兼容。

假设当前 App 的容器版本是 2.4.1,绑定的最新基础库版本是 2.2.4

  1. 小程序指定基础库版本 2.1.15 —— ✅ App 拉取基础库 2.2.4 运行该小程序。
  2. 小程序指定基础库版本 1.2.30 —— ❌ 跨基础库主版本号,不兼容。
  3. 小程序指定基础库版本 2.4.0 —— ❌ 高于 App 绑定的最新基础库版本号。

 

Kit 包比对

Kit 包 是智能小程序将扩展能力以 Kit 的形式提供给开发者。详细信息可参考下方 API能力集成指南

每个 App 中集成的 Kit 种类和版本固定不变,Kit 版本同样遵循次版本号向下兼容的原则。

进入小程序前,系统会比对 App 中集成的 Kit 种类、版本与小程序所需的 Kit 种类、版本,确定是否兼容。

假设当前 App 集成的 Kit 有:

Kitversion
BaseKit2.2.3
MiniKit2.3.8
TYKit2.1.4
  1. 小程序使用的 Kit 有 BaseKit 2.1.2、MiniKit 2.3.7、TYKit 2.0.7 —— ✅ 小程序所需的 Kit 在 App 中都有集成且版本兼容。
  2. 小程序使用的 Kit 有 BaseKit 2.1.2、MiniKit 2.3.7、TYKit 2.0.7、DeviceKit 2.1.6 —— ❌ DeviceKit 在 App 中未集成。
  3. 小程序使用的 Kit 有 BaseKit 2.1.2、MiniKit 2.4.0 —— ❌ 小程序所需 MiniKit 版本高于 App 中集成的版本。

API能力集成指南

概念

小程序能力分为内置能力、扩展能力提供给开发者。内置能力以集成在基础库的 JS API 提供给开发者,扩展能力是将基础能力以 kit 的形式提供给业务(开发者)。以内置能力与扩展能力结合的方式实现快速接入涂鸦生态,达到互联互通的能力。

能力分包

能力分类包名
基础能力BaseKit
小程序容器能力MiniKit
涂鸦内部基础能力以及细粒度通用业务能力BizKit
设备控制相关能力DeviceKit
家庭相关能力(比如获取家庭信息等)HomeKit
媒体、语音相关业务能力(比如音乐律动等)MediaKit
地图、定位相关业务能力MapKit
配网相关业务能力PlaynetKit
扫地机相关业务能力P2PKit

使用

1. 配置小程序扩展能力

在 Tuya MiniApp Tools 中可手动配置需要的小程序扩展能力。其中,MiniKit 作为运行小程序容器的基础能力会自动引入,开发者只需要关注版本即可,其他的能力可以自行配置。

2. 使用 Kit 能力
  1. 插件 BaseKit、BizKit、MiniKit 作为基础能力,可以直接使用 ty.func() 即可。

    比如 hideTabBar 作为 BaseKit 能力,可以直接使用,如下:

    ty.hideTabBar({animation: xxx,
    });
  2. 除 BaseKit、BizKit、MiniKit 外,其余 Kit 使用,需要在前面加上 namespace。

    namespace 为 Kit 名称去掉 Kit 小写(HomeKit -> home)

    比如 getCurrentHomeInfo 作为 HomeKit 能力,使用如下:

    ty.home.getCurrentHomeInfo({success(homeInfo) {},
    });
3. 选择 Kit 版本

Kit 版本的选择会影响到小程序能否下发到 App。

在 App 中查看信息

在 App 中可以查看集成的容器版本、Kit 版本信息。在小程序右上角胶囊处,长按 关闭 按钮 10s,即会弹出相关信息。

弹窗显示的就是 App 中调用的基础库版本以及集成的 Kit 版本。

 

在Tuya MiniApp Tool 中配置环境

在 Tuya MiniApp Tool 中,您可手动配置需要的小程序扩展能力。其中,MiniKit 作为运行小程序容器的基础能力会被自动引入。开发者只需要关注版本即可,您也可以自行配置其他的能力。

关于 Kit 版本,建议您选择带有推荐标识的版本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/642943.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

撤销 Commit 的提交的两种方式

已经将 commit 提交到了 GitHub 之上: 进行以下操作,需保证 stash 列表中有刚才提交的修改 首先,在本地回退版本,使用如下命令: git reset --hard HEAD^ ^ 的个数表示回退几个版本,^^ 表示回到上上个版本。…

Redis分布式系统:集群

"还不如留给花园,多一瞬色彩~" 当我们聊到“集群”这一个词,我们脑中构想出的画面,一定是多台机器,构成的分布式系统,这可以被称为一个“集群”。其实,在前篇的哨兵机制下,奇数个监控…

Led以1秒为周期闪烁

Led初始不亮,灯0.5s亮,0.5秒之后灭,周期为1s 1s周期20MHZ时钟25_000_000计数器,25位二进制 module led_flash (//端口列表CLK,reset_n,led );input CLK;input reset_n;output reg led;//计数器最大值 CNT_MAX counter_max//计数器周期 T_CLK 时钟频率是50MHZ 周…

【算法小记】——机器学习中的概率论和线性代数,附线性回归matlab例程

内容包含笔者个人理解,如果错误欢迎评论私信告诉我 线性回归matlab部分参考了up主DR_CAN博士的课程 机器学习与概率论 在回归拟合数据时,根据拟合对象,可以把分类问题视为一种简答的逻辑回归。在逻辑回归中算法不去拟合一段数据而是判断输入…

git使用指南——以gitlab为例

注册gitlab 自行注册 新建项目 选择新建一个空白的项目 上传项目 clone项目地址到本地 执行完之后,会在目录下生成如下内容:进入里面,选择.git,要上传的内容(资料或代码复制到该目录下):…

【MATLAB源码-第123期】基于matlab的SSK(空间位移键控)调制和QSSK(正交空间位移键控)调制误码率对比。

操作环境: MATLAB 2022a 1、算法描述 1. SSK(空间位移键控): - 基本原理:SSK是一种MIMO(多输入多输出)系统中的调制技术。它通过选择性地激活不同的发送天线来传输信息。在每个时间槽&…

Nuxt2.x Error页面返回自定义请求状态码

一、问题描述 最近接到一个需求,针对Nuxt2.x的一个项目进行SEO优化,需要对404页面的状态进行修改,将404页面的请求状态码改为301,而不是404: 二、解决方案 1.几种无效尝试 (1)layouts下的err…

多家头部企业宣布「启动鸿蒙原生应用开发」,你看好鸿蒙系统走向「独立」吗?

我觉得跟着国家对鸿蒙的推进,就知道发展前景肯定是没错的。并且现在已经走向独立道路。 华为鸿蒙是国家主推的操作系统项目,而之前由于美丽国的一系列制裁后。华为也终于崛起;在1月18号的华为鸿蒙仪式中,推出了HarmonyOSNEXT星空…

Java基础 - 09 Set之linkedHashSet , CopyOnWriteArraySet

LinkedHashSet和CopyOnWriteArraySet都是Java集合框架提供的特殊集合类,他们在特定场景下有不同的用途和特点。 LinkedHashSet是Java集合框架中的一种实现类,它继承自HashSet并且保持插入顺序。它使用哈希表来存储元素,并使用链表来维护插入…

centos查看1分钟内修改过的文件

linux查看1分钟内修改过的文件 find / -name ‘.’ -mmin -1 查询1分钟内修改过的日志 查询根目录下以log结尾,1分钟内修改过的文件 find / -name ‘*.log’ -mmin -1 下面的命令是查询当前目录下所有的文件,并且在30分钟内修改过的文件 这个可以根…

前端JavaScript篇之Javscript数组的常用方法有哪些?JavaScript判断数组的方式有哪些?

目录 Javscript数组的常用方法有哪些?JavaScript判断数组的方式有哪些?1. Array.isArray() 方法:2. instanceof 操作符:3. Object.prototype.toString.call() 方法:4. Array.from() 方法: Javscript数组的常…

Git学习笔记(第3章):Git常用命令

目录 3.1 设置用户签名 3.2 初始化本地库 3.3 查看本地库状态 3.4 添加暂存区 3.5 提交本地库 3.6 历史版本 3.7 修改文件 3.8 版本穿梭 小结 命令 作用 git config --global user.name 用户名 设置用户签名 git config --global user.email 邮箱 设置用户签名 …

Java如何优雅地判断对象是否为空

点击下载《Java如何优雅地判断对象是否为空》 1. 前言 在实际项目中,我们经常需要对各种变量或对象进行判空校验。这是因为,如果不进行判空校验,当遇到空值时,可能会导致程序出现NullPointerException异常。这是一种常见的运行时…

【INTEL(ALTERA)】为什么 Nios® V/g 处理器无法从指令紧耦合内存 (TCM) 启动?

说明 由于英特尔 Quartus Prime Pro Edition 软件版本 23.3 对Nios V/g 处理器的限制,Nios V/g 处理器无法直接从内存初始化的指令 TCM 启动。 造成这个问题的主要原因是指令中药只能作为指令存储器访问(不支持作为指令和数据存储器)。因此…

全国各城市绿地及绿化面积数据,shp/excel格式,2020-2022年

基本信息. 数据名称: 全国各城市绿地及绿化面积数据 数据格式: Shp、excel 数据时间: 2020-2022年 数据几何类型: 面 数据坐标系: WGS84 数据来源:网络公开数据 数据字段: 序号字段名称字段说明1province省份名称2city城市名称4city_dm城市…

2401llvm,clang语法树简介

原文 ClangAST简介 幻灯片 介绍 Clang的AST与其他一些编译器生成的AST不同,因为它与编写的C代码和C标准类似.如,在AST中,按非简化形式提供括号式和编译时常量. 这使得Clang的AST非常适合重构. 可通过生成的Doxygen获得所有ClangAST节点的文档.搜索引擎也会索引doxygen的在…

Servlet对象

ServletConfig对象 是什么 ServletConfig是javax.servlet.包下的一个接口,ServletConfig它是Servlet的一个配置对象; ServletConfig是由tomcat容器创建,通过init方法传入给Servlet; ServletConfig对象如何获取? 在GenericServle…

SpringBoot连接mysql数据库相关配置(druid连接池)

一、引入mysql8依赖 <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.23</version></dependency><dependency><groupId>com.alibaba</groupId><artifa…

【python】python实现代码雨【附源码】

欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 一、效果图&#xff1a; 二、准备工作 &#xff08;1)、导入必要的模块&#xff1a; 代码首先导入了需要使用的模块&#xff1a;requests、lxml和csv。 import requests from lxml import etree import csv 如果出现模…

Linux大老都是怎么记住这么多命令的?

今天给大家带来的是面试/实际工作中经常用到的Linux相关操作命令: 一. vi/vim编辑器 ---->文本编辑器 作用&#xff1a;创建文件&#xff0c;编辑文件&#xff0c;查看文件 格式&#xff1a;vi/vim 文件的名字 解析&#xff1a;如果该文件不存在&#xff0c;vi就会创建该…