更新记录

1.1.1(2026-09-18)

  • iOS 兼容根目录仅包含 application.hex、application.dat 的旧格式 ZIP;标准 ZIP 继续沿用原处理流程。
  • 修复固件初始化错误导致的闪退,增加 UUID、文件路径和旧格式 HEX 校验,通过 code: 400 回传错误。
  • iOS 支持本地绝对路径和 file:// URL;修复错误消息中引号、换行导致的 JSON 拼接问题。
  • 保留 1.1.0 的 Android 和 uvue 兼容更新,DFU SDK 版本及原有 iOS 升级参数保持不变。
  • 使用 Swift 混编,要求 HBuilderX 4.25 及以上,更新后需重新编译 iOS 插件/自定义基座。

1.1.0(2026-04-07)

兼容最新 android 系统

1.0.9(2025-12-16)

提升 uvue 兼容性

查看更多

平台兼容性

uni-app(3.8.4)

Vue2 Vue3 Chrome Safari app-vue app-vue插件版本 app-nvue app-nvue插件版本 Android Android插件版本 iOS iOS插件版本 鸿蒙
- - - - √ 1.0.8 √ 1.0.8 5.0 1.0.8 12 1.0.8 -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - - -

uni-app x(3.8.4)

Chrome Safari Android Android插件版本 iOS iOS插件版本 鸿蒙 微信小程序
- - 5.0 1.0.8 12 1.0.8 - -

其他

多语言 暗黑模式 宽屏模式 蒸汽模式
× × √ √

fsyang-dfu

开发文档

蓝牙DFU升级插件,双端支持。

1.1.1 构建要求 HBuilderX 4.25 及以上,iOS 最低版本配置仍为 12。更新后需重新编译 iOS 插件;使用自定义基座时重新制作基座,不能仅替换页面 JS。

iOS 固件格式

  • 标准 Nordic DFU ZIP:包含有效的 manifest.json 和它引用的固件文件,继续使用原有 SDK 解析流程,支持原有多固件包。
  • 旧格式应用固件 ZIP:根目录仅包含 application.hex、application.dat 两个非空文件。只有 SDK 明确报告缺少清单时才尝试此格式;不接受额外固件组件、嵌套目录或校验错误的 HEX,不将损坏的标准包当旧包处理。旧格式单个文件最大 16 MB。
  • HEX 由 SDK 转为二进制,DAT 原样保留,不需要手动改名或修改固件。固件必须匹配目标设备和 bootloader。

路径与错误处理

App 中从下载结果取得当前有效路径,再转换后传入:

const zipPath = plus.io.convertLocalFileSystemURL(downloadResult.tempFilePath)
dfuInstall(zipPath, deviceId, res => {
  if (res.code === 400) console.error(res.msg)
})

iOS 接受本地绝对路径和 file:// URL;_doc/... 等路径需先转换,远程下载链接不能直接使用。下载临时路径不应长期写死。

iOS 无效 UUID、文件不可读、ZIP/固件解析失败通过原回调返回 { code: 400, msg: "具体原因" }。设备 UUID 应使用扫描结果中的 deviceId。

调用示例

import { dfuInstall, dfuAbort } from '@/uni_modules/fsyang-dfu'

const callBack = (res) => {
  //res.code  200 - 扫描 300 - 设备发现 301 - 设备连接 302 - 写入数据包 305 - 升级成功 其他 - 升级失败
}

// 开始升级
// zipPath: 升级包路径
// uuid: 设备的UUID(iOS)或者mac地址(Android)
// callBack: 升级进度回调函数 
dfuInstall(zipPath, uuid, callBack)

// 取消升级
dfuAbort()

隐私、权限声明

1. 本插件需要申请的系统权限列表:

需要蓝牙权限

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

无