更新记录
1.0.8(2024-09-02)
修复无法搜索的bug
1.0.7(2024-07-12)
完善md文档说明,添加代码示例
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:9.0 - 14.0 | armeabi-v7a:支持,arm64-v8a:支持,x86:未测试 | 适用版本区间:12 - 17 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
海康SDK
提供方法和全局回调
SADP_Start_V40
开始搜索,触发搜索回调find_device
SADP_Stop
停止搜索SADP_Clearup
清理搜索,不建议使用,海康这个逻辑有问题SADP_ActivateDevice
激活设备,参数sDevSerialNO
序列号(跟盒子上的序列号不一样,需要搜索的结果),sCommand
激活密码NET_DVR_Init
初始化,NET开头的接口需要先执行初始化NET_DVR_Cleanup
释放资源NET_DVR_Login_V30
登录,参数sDvrIp
iDvrPort
sUserName
sPassword
NET_DVR_Logout_V30
登出NET_DVR_ConfigWifi
配网,暂时有问题,参数sEssid
wifi名字,sPassword
密码NET_DVR_FindFile_V30
查找录像列表,参数struStartTime
struStopTime
dwFileType
,返回值list
,包括sFileName
struStartTime
struStopTime
dwFileSize
sCardNum
byLocked
byFileType
byRes
NET_DVR_SetTimezone
设置时区,参数diffHour
diffMinute
NET_DVR_SetupRecord
设置录像,参数state
0停止录像;1开始录像NET_DVR_GetRecordState
获取录像状态,返回值state
0停止录像;1开始录像
使用教程
- 引入插件
const hkPlugin = uni.requireNativePlugin('leruge-native-haikang')
- 返回值格式
{code: 1, msg: '提示信息', data: '数据', time: '请求时间'}
code是1表示请求正常;0是请求异常 - 返回值的的意思跟海康文档一样,有看不懂的参考海康文档即可
SADP_Start_V40
开始搜索
const res = hkPlugin.SADP_Start_V40()
uni.showToast({
title: JSON.stringify(res),
icon: 'none'
})
SADP_Stop
停止搜索
const res = hkPlugin.SADP_Stop()
uni.showToast({
title: JSON.stringify(res),
icon: 'none'
})
SADP_Clearup
清理搜索列表,不建议使用
const res = hkPlugin.SADP_Clearup()
uni.showToast({
title: JSON.stringify(res),
icon: 'none'
})
SADP_ActivateDevice
设备激活
const res = hkPlugin.SADP_ActivateDevice({
sDevSerialNO: 'DS-IPC-K24H-LWT20240422AACHFD2269861', // 序列号
sCommand: 'hsb88888', // 密码
})
uni.showToast({
title: JSON.stringify(res),
icon: 'none'
})
NET_DVR_Init
net初始化
const res = hkPlugin.NET_DVR_Init()
uni.showToast({
title: JSON.stringify(res),
icon: 'none'
})
NET_DVR_Cleanup
释放资源
const res = hkPlugin.NET_DVR_Cleanup()
uni.showToast({
title: JSON.stringify(res),
icon: 'none'
})
NET_DVR_Login_V30
设备登录
const res = hkPlugin.NET_DVR_Login_V30({
sDvrIp: '192.168.31.22', // ip
iDvrPort: 8000, // 端口
sUserName: 'admin', // 用户名
sPassword: 'hsb88888', // 密码
})
uni.showToast({
title: JSON.stringify(res),
icon: 'none'
})
NET_DVR_Logout_V30
设备登出
const res = hkPlugin.NET_DVR_Logout_V30()
uni.showToast({
title: JSON.stringify(res),
icon: 'none'
})
NET_ConfigWifi
wifi配网
const res = hkPlugin.NET_DVR_ConfigWifi({
sEssid: '', // ssid
sPassword: '', // 密码
})
uni.showToast({
title: JSON.stringify(res),
icon: 'none'
})
NET_DVR_FindFile_V30
本地录像列表
const res = hkPlugin.NET_DVR_FindFile_V30({
struStartTime: '2024-12-12 0:0:0', // DS-IPC-K24H-LWT20240422AACHFD2269861
struStopTime: '2024-12-12 23:59:59',
dwFileType: 0xff, // 默认 0xff,参数参考海康文档
})
uni.showToast({
title: JSON.stringify(res),
icon: 'none'
})
NET_DVR_SetTimezone
设置时间
const res = hkPlugin.NET_DVR_SetTimezone({
diffHour: -4, // 默认8 时差小时
diffMinute: 0, // 默认0 时差分钟
})
uni.showToast({
title: JSON.stringify(res),
icon: 'none'
})
NET_DVR_SetupRecord
设置录像
const res = hkPlugin.NET_DVR_SetupRecord({
state: 1, // 默认0; 0- 不录像,1- 录像
})
uni.showToast({
title: JSON.stringify(res),
icon: 'none'
})
NET_DVR_GetRecordState
获取录像状态
// 0- 不录像,1- 录像
const res = hkPlugin.NET_DVR_GetRecordState()
uni.showToast({
title: JSON.stringify(res),
icon: 'none'
})
NET_DVR_STDXMLConfig
透传
const res = hkPlugin.NET_DVR_STDXMLConfig({
url: '', // 请求地址:PUT /ISAPI/System/Network/interfaces/2/wireless
xmlString: '', // 请求参数,没有可不传
})
uni.showToast({
title: JSON.stringify(res),
icon: 'none'
})
权限说明
- 安卓
android.permission.ACCESS_NETWORK_STATE
android.permission.ACCESS_WIFI_STATE
android.permission.CHANGE_WIFI_STATE
- ios
com.apple.developer.networking.wifi-info
com.apple.developer.networking.multicast