从 v0.x 版本迁移到 v1.x 版本
更新项目依赖
更新小程序 SDK 到 v1.x 版本,需要更新项目依赖,请在项目目录下的命令行中执行以下命令:
npm install qcloud-iotexplorer-appdev-sdk@1
说明:
如果您使用了微信开发者工具的 npm 支持,在更新项目依赖后,需要选择微信开发者工具菜单栏的工具 > 构建 npm以重新构建 npm 依赖。
调整导入 SDK 的方式
导入 v0.x 版本小程序 SDK 的方式为:
// 导入 SDKconst {QcloudIotExplorerAppDevSdk} = require('qcloud-iotexplorer-appdev-sdk/qcloud-iotexplorer-appdev-sdk');// 导入常量const {EventTypes,} = require('qcloud-iotexplorer-appdev-sdk/qcloud-iotexplorer-appdev-sdk');const sdk = new QcloudIotExplorerAppDevSdk({// 参数略});
小程序 SDK 升级到 v1.x 版本后,导入的方式需要调整为:
// 导入 SDKconst { AppDevSdk } = require('qcloud-iotexplorer-appdev-sdk');// 导入常量const { EventTypes } = AppDevSdk.constants;const sdk = new AppDevSdk({// 参数略});
调整配网代码
v0.x 版本小程序 SDK 内置支持 Softap 配网及 SmartConfig 配网。v1.x 版本小程序 SDK 增加了更多配网方式的支持,并将配网模块独立出来,开发者可以按需导入。关于小程序 SDK 具体支持的配网方式,请参见 设备配网。
选择需要安装的配网插件,并在命令行中执行相应的安装命令。下面以安装 AirKiss 配网插件为例。
npm install qcloud-iotexplorer-appdev-plugin-wificonf-airkiss
向 SDK 注册配网插件,请参照以下代码(以 AirKiss 配网插件为例)。
import AirKissPlug from 'qcloud-iotexplorer-appdev-plugin-wificonf-airkiss';AirKissPlug.install(sdk);
调用配网插件进行配网,请参照以下代码(以 AirKiss 配网插件为例)。
import { constants as WifiConfConstants } from 'qcloud-iotexplorer-appdev-plugin-wificonf-core';const {WifiConfErrorMsg, WifiConfStepCode,} = WifiConfConstants;/*** airkiss一键配网*/export function AirKissConfigure({token,wifiInfo = {SSID: '';password: '';BSSID: '';},familyId = 'default',roomId,reporter,onStepChange,onStatusChange,}) {const onProgress = (data) => {reporter.info(data.code, data.detail);switch (data.code) {case WifiConfStepCode.PROTOCOL_SUCCESS:onStepChange(1);break;case WifiConfStepCode.CREATE_UDP_CONNECTION_SUCCESS:onStepChange(2);break;case WifiConfStepCode.BUSINESS_QUERY_TOKEN_STATE_SUCCESS:onStepChange(3);break;case WifiConfStepCode.WIFI_CONF_SUCCESS:onStepChange(4);break;}};const onComplete = ({ productId, deviceName }) => {onStatusChange({status: 'success',productId,deviceName,});};const onError = async ({ code, detail }) => {reporter.error(code, detail);onStatusChange({ status: 'error' });};sdk.plugins['wifiConfAirKiss'].start({wifiConfToken: token,targetWifiInfo: wifiInfo,autoRetry: true, // 自动处理故障流程familyId,roomId,onProgress,onComplete,onError});}