更新记录
0.0.1(2025-01-12) 下载此版本
nRF DFU SDK IOS版 该插件为原生插件,请放置nativeplugins目录下使用。 安卓版本可用该插件:https://ext.dcloud.net.cn/plugin?id=1193 (作者: uuc***@yeah.net)
平台兼容性
anil-iOSDFULibrary
使用方法:
在 script 中引用组件
const nrfDfu = uni.requireNativePlugin('anil-iOSDFULibrary');
// 进入DFU模式
nrfDfu.startDFU({
address: '11:22:33:44:55:66',
filePath: '/storage/emulated/0/update.zip'
}, (res) => {
// res.state 状态
// res.percent 升级进度
switch (res.evenType) {
case 'logWith':
console.log('logWith')
break;
case 'dfuStateDidChangeTo':
console.log('dfuStateDidChangeTo')
break;
case 'dfuProgressDidChangeFor':
console.log('dfuProgressDidChangeFor')
break;
case 'dfuError':
console.log('dfuError')
default:
console.log('...')
break;
}
console.log(res)
})
远程链接获取文件对象方式
uni.downloadFile({
url: 'https://xxx.com/update.zip',
success: ({ statusCode, tempFilePath }) => {
if (statusCode >= 200 && statusCode < 300) {
plus.io.resolveLocalFileSystemURL(
tempFilePath,
entry => { // 下载完成
const path = entry.toLocalURL();
const localFile = path.replace(
/^file:\/\//i,
""
);
// 进入DFU模式
nrfDfu.startDFU({
address: '11:22:33:44:55:66',
filePath: localFile
}, (res) => {
// ...
})
}
);
}
},
fail: (err) => {}
})