react-native-gizwits-sdk-v5 2.1.7-beta → 2.1.8-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -1
- package/android/build.gradle +4 -4
- package/android/src/main/java/com/gizwits/reactnativegizwitssdkv5/RNGizDeviceManagerModule.kt +1 -1
- package/harmony/react_native_gizwits_sdk_v5.har +0 -0
- package/ios/RNGizDeviceManagerModule.swift +1 -1
- package/lib/harmony/device.js +1 -3
- package/lib/harmony/device.js.map +1 -1
- package/package.json +1 -1
- package/react-native-gizwits-sdk-v5.podspec +1 -1
- package/scripts/test-harmony-ble.cjs +18 -0
package/README.md
CHANGED
|
@@ -62,7 +62,7 @@ HarmonyOS 同一设备的 Wi-Fi 列表和时间同步共用 BLE 会话,需要
|
|
|
62
62
|
请求尚未完成时启动另一操作会返回 `E_BLE_REQUEST_BUSY`。
|
|
63
63
|
设备的 `bleCapability.profile.support5GConfig`(别名 `supports5GConfig`)和
|
|
64
64
|
`supportsSecureChannel` 表示其广播中的能力,实际使用仍需固件支持。
|
|
65
|
-
|
|
65
|
+
当前版本依赖 Android SDK `1.4.17`、iOS SDK `~> 2.1.14`,HarmonyOS 桥接 HAR 配套原生 SDK `1.0.7`。
|
|
66
66
|
HarmonyOS HAR 内置四个 `1.0.6` 基础版本的 SDK 模块,无需先将原生 SDK 发布到 OHPM。
|
|
67
67
|
|
|
68
68
|
## 连接的云服务
|
|
@@ -150,6 +150,21 @@ import RNGizSDKManagerModule, {
|
|
|
150
150
|
|
|
151
151
|
## 更新日志
|
|
152
152
|
|
|
153
|
+
BLE/LAN 配网的最后一个可选参数 `bindWithUid` 默认为 `false`。传入 `true` 时需要先登录,并通过绑定列表中匹配且在线的设备确认配网成功;BLE V5 同时向支持的固件附带当前用户 UID。V2 和 LAN 仍需固件或业务流程先完成用户关联。
|
|
154
|
+
|
|
155
|
+
```typescript
|
|
156
|
+
await device.bleCapability.provideWiFiCredentials(
|
|
157
|
+
ssid, password, 60, onProvisionEvent, true
|
|
158
|
+
)
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### 2.1.8-beta
|
|
162
|
+
|
|
163
|
+
- Android SDK 升级至 `1.4.17`,iOS SDK 升级至 `~> 2.1.14`,HarmonyOS 桥接包配套原生 SDK `1.0.7`。
|
|
164
|
+
- HarmonyOS 的 BLE/LAN 配网支持现有可选参数 `bindWithUid`;启用后通过在线绑定设备确认配网成功,BLE V5 同时附带当前用户 UID。
|
|
165
|
+
- Android/iOS 的 LAN 配网也会传递该参数;默认值保持 `false`,既有调用兼容。
|
|
166
|
+
- 改善 BLE 透传连续上报、LAN 数据接收、心跳与断连状态。
|
|
167
|
+
|
|
153
168
|
### 2.1.3-beta
|
|
154
169
|
|
|
155
170
|
- HarmonyOS 原生 SDK 升级至 `1.0.6`,同步更新 core、Bluetooth、LAN 和 MQTT 四个 HAR。
|
package/android/build.gradle
CHANGED
|
@@ -67,10 +67,10 @@ dependencies {
|
|
|
67
67
|
// ESPTouch
|
|
68
68
|
implementation 'com.github.EspressifApp:lib-esptouch-android:1.1.1'
|
|
69
69
|
|
|
70
|
-
implementation("io.github.gizwits:sdk:1.4.
|
|
71
|
-
implementation("io.github.gizwits:sdk-bluetooth:1.4.
|
|
72
|
-
implementation("io.github.gizwits:sdk-lan:1.4.
|
|
73
|
-
implementation("io.github.gizwits:sdk-mqtt:1.4.
|
|
70
|
+
implementation("io.github.gizwits:sdk:1.4.17")
|
|
71
|
+
implementation("io.github.gizwits:sdk-bluetooth:1.4.17")
|
|
72
|
+
implementation("io.github.gizwits:sdk-lan:1.4.17")
|
|
73
|
+
implementation("io.github.gizwits:sdk-mqtt:1.4.17")
|
|
74
74
|
// implementation files('libs/sdk-release.aar', 'libs/sdk-bluetooth-release.aar', 'libs/sdk-lan-release.aar', 'libs/sdk-mqtt-release.aar')
|
|
75
75
|
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlin_coroutine_version")
|
|
76
76
|
// retrofit
|
package/android/src/main/java/com/gizwits/reactnativegizwitssdkv5/RNGizDeviceManagerModule.kt
CHANGED
|
@@ -443,7 +443,7 @@ fun wiFiCredentialsWithAirLinkEventHandler(event: GizWiFiActivatorEvent) {
|
|
|
443
443
|
processHandler = {
|
|
444
444
|
wiFiCredentialsEventHandler(it, device)
|
|
445
445
|
},
|
|
446
|
-
bindWithUid = false
|
|
446
|
+
bindWithUid = config.bindWithUid ?: false
|
|
447
447
|
)
|
|
448
448
|
CapacityTypes.MQTT -> device.mqttCapability.provideWiFiCredentials(
|
|
449
449
|
config.ssid,
|
|
Binary file
|
|
@@ -505,7 +505,7 @@ class RNGizDeviceManagerModule: RCTEventEmitter {
|
|
|
505
505
|
data = await device.bleCapability.provideWiFiCredentials(ssid: params.ssid, password: params.password, timeout: params.timeout, processHandler: progressHandler, bindWithUid: params.bindWithUid ?? false)
|
|
506
506
|
break
|
|
507
507
|
case .GizLanCapability:
|
|
508
|
-
data = await device.lanCapability.provideWiFiCredentials(ssid: params.ssid, password: params.password, timeout: params.timeout, processHandler: progressHandler, bindWithUid: false)
|
|
508
|
+
data = await device.lanCapability.provideWiFiCredentials(ssid: params.ssid, password: params.password, timeout: params.timeout, processHandler: progressHandler, bindWithUid: params.bindWithUid ?? false)
|
|
509
509
|
break
|
|
510
510
|
case .GizMQTTCapability:
|
|
511
511
|
data = await device.mqttCapability.provideWiFiCredentials(ssid: params.ssid, password: params.password, timeout: params.timeout, processHandler: progressHandler, bindWithUid: false)
|
package/lib/harmony/device.js
CHANGED
|
@@ -139,9 +139,6 @@ export class RNGizDeviceManagerModule extends Base {
|
|
|
139
139
|
return invokeNative(DeviceNativeModule, 'cancelUpgrade', { id, type });
|
|
140
140
|
}
|
|
141
141
|
async provideWiFiCredentials(id, type, ssid, password, timeout, processHandler, bindWithUid = false) {
|
|
142
|
-
if (bindWithUid) {
|
|
143
|
-
return unsupported('bindWithUid is not supported by the HarmonyOS SDK');
|
|
144
|
-
}
|
|
145
142
|
if (type === 'MQTT') {
|
|
146
143
|
return unsupported('MQTT does not support Wi-Fi provisioning on HarmonyOS');
|
|
147
144
|
}
|
|
@@ -156,6 +153,7 @@ export class RNGizDeviceManagerModule extends Base {
|
|
|
156
153
|
password,
|
|
157
154
|
timeout,
|
|
158
155
|
requestId,
|
|
156
|
+
bindWithUid,
|
|
159
157
|
});
|
|
160
158
|
}
|
|
161
159
|
finally {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.js","sourceRoot":"","sources":["../../src/harmony/device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAEjD,OAAO,IAAI,MAAM,SAAS,CAAA;AAmB1B,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAgB7C,MAAM,OAAO,wBAAyB,SAAQ,IAAI;IAAlD;;QAEmB,iBAAY,GAAG,IAAI,GAAG,EAAkC,CAAA;QACxD,uBAAkB,GAAG,IAAI,GAAG,EAG1C,CAAA;QACK,8BAAyB,GAAG,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"device.js","sourceRoot":"","sources":["../../src/harmony/device.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-gizwits-sdk-v5",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.8-beta",
|
|
4
4
|
"description": "Gizwits Smart SDK v5 bridge for React Native on Android, iOS and HarmonyOS",
|
|
5
5
|
"homepage": "https://github.com/demchenkoalex/react-native-gizwits-sdk-v5#readme",
|
|
6
6
|
"main": "lib/index",
|
|
@@ -81,3 +81,21 @@ test('native timeout errors stay distinct from successful empty Wi-Fi lists', as
|
|
|
81
81
|
registered.set('empty', { bleCapability: { getWiFiList: async () => [] } })
|
|
82
82
|
assert.equal((await invoke(module, 'getWiFiList', { id: 'empty' })).data.length, 0)
|
|
83
83
|
})
|
|
84
|
+
|
|
85
|
+
test('BLE and LAN provisioning forward bindWithUid to the native capability', async () => {
|
|
86
|
+
core.GizCapacityType={BLE:'BLE',LAN:'LAN',MQTT:'MQTT'};
|
|
87
|
+
core.GizLog={logger:{w(){}}};
|
|
88
|
+
const module = new Module(); module.ctx={rnInstance:{emitDeviceEvent(){}}};
|
|
89
|
+
for (const type of ['BLE','LAN']) {
|
|
90
|
+
const seen=[];
|
|
91
|
+
const capability={getStatus:()=>1, provideWiFiCredentials:async(...args)=>{seen.push(args[5]);}};
|
|
92
|
+
registered.set('bound-'+type,{productKey:'product',mac:'001122334455',bleCapability:capability,lanCapability:capability,getCapability:()=>capability});
|
|
93
|
+
for(const bindWithUid of [true,false]) {
|
|
94
|
+
const result=await invoke(module,'provideWiFiCredentials',{
|
|
95
|
+
id:'bound-'+type,type,ssid:'ssid',password:'pw',timeout:60,bindWithUid
|
|
96
|
+
});
|
|
97
|
+
assert.equal(result.success,true);
|
|
98
|
+
}
|
|
99
|
+
assert.deepEqual(seen,[true,false]);
|
|
100
|
+
}
|
|
101
|
+
});
|