更新记录

1.0.5(2026-08-04)

  • 修复 HarmonyOS 平台文件缺少公开 API 同名导出,导致 uni-app x 调用 getCapabilities / listPorts / getRuntimeState 等接口时报 undefined is not callable 的问题。
  • 保留原有 *ByHarmony 平台分发入口,并补齐 interface.uts 声明的公开串口 API 代理,不影响 Android、iOS、Web 和既有 uni-app 调用入口。
  • HarmonyOS 未接入串口适配器时继续返回明确的不支持能力、空端口列表和结构化运行态,不伪造串口通讯成功。
  • Harmony 原生 UTS 已变化,升级后需要重新构建并安装匹配的 Harmony HAP 或自定义基座。

平台兼容性

uni-app(4.84)

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

uni-app x(4.84)

Chrome Safari Android iOS 鸿蒙 微信小程序

lizhao-serial-port

lizhao-serial-port 是纯 UTS 串口通信 API 插件,提供路径串口与 USB 串口双通道、多会话管理、读写超时、自动重连、事件上报与运行态观测能力。

支持平台

平台 是否支持 说明
uni-app Vue2/Vue3 可用
uni-app x App/Web/小程序可用
Android 路径串口 + USB 串口实现
iOS 接口可调用,返回不支持
Harmony 依赖 Harmony 串口管理器能力,支持路径/USB 串口
Web 接口可调用,返回不支持
微信小程序 接口可调用,返回不支持
支付宝小程序 接口可调用,返回不支持

安装与导入

import * as SerialPort from '@/uni_modules/lizhao-serial-port'

目录结构

uni_modules/
└─ lizhao-serial-port/
   ├─ package.json
   ├─ readme.md
   ├─ changelog.md
   └─ utssdk/
      ├─ interface.uts
      ├─ unierror.uts
      ├─ index.uts
      ├─ app-android/
      ├─ app-ios/
      ├─ app-harmony/
      ├─ web/
      ├─ mp-weixin/
      └─ mp-alipay/

API 列表

  • getCapabilities
  • listPorts
  • openPath
  • openUsb
  • closeSession
  • closeAllSessions
  • writeBytes
  • writeHex
  • writeText
  • readOnce
  • startRead
  • stopRead
  • flush
  • sendAndWait
  • getSessionState
  • getRuntimeState
  • on / off

兼容 API:

  • openSerial
  • writeData
  • readData
  • closeSerial
  • byteArrToHexStr
  • hexStrToByteArr

核心参数(openPath / openUsb)

参数 类型 必填 说明 默认值 可选参数
options.path string openPath 是 路径串口设备节点 如 /dev/ttyS3
options.vendorId number openUsb 是 USB 设备 Vendor ID
options.productId number openUsb 是 USB 设备 Product ID
options.serialNumber string USB 序列号过滤
options.sessionId string 会话 ID,不传自动生成 自动生成
options.lineConfig object 串口线参数配置 9600-8N1 baudRate / dataBits / parity / stopBits / flowControl
options.config object 会话配置 内置默认值 autoReconnect / reconnectIntervalMs / maxReconnectAttempts / readChunkSize / readIntervalMs / writeTimeoutMs / readTimeoutMs / heartbeatIntervalMs / textEncoding / matcherHex
options.success function 成功回调
options.fail function 失败回调
options.complete function 完成回调

返回值(会话状态)

字段 类型 说明
sessionId string 会话 ID
type string pathusb
status string opening/open/closing/closed/reconnecting/error
txBytes number 当前会话累计发送字节数
rxBytes number 当前会话累计接收字节数
reconnectCount number 已触发重连次数
readLoopActive boolean 是否开启持续读取
lineConfig object 线参数快照
config object 会话配置快照

错误码

错误码 含义 说明
9015001 platform unsupported 当前平台不支持串口能力
9015002 invalid options 参数不合法
9015003 session not found 会话不存在
9015004 port already opened 会话 ID 或端口已占用
9015005 permission denied 权限不足
9015006 open serial failed 打开串口失败
9015007 write serial failed 写入失败
9015008 read serial failed 读取失败
9015009 operation timeout 调用超时
9015010 serial disconnected 会话未处于可用状态
9015011 port not found 目标端口不存在
9015012 reconnect failed 自动重连失败
9015013 flush failed 刷新缓冲区失败
9015014 system error 系统异常

权限与配置

平台 是否需要 说明
Android 建议声明 USB Host 能力,USB 设备访问权限由系统策略控制
Harmony 需具备对应串口管理器能力与签名权限
iOS/Web/小程序 返回不支持,不涉及系统串口权限

自定义基座说明

  • Android 默认系统 API 可用时无需额外三方库。
  • 若项目引入特定芯片厂商串口 SDK,请使用自定义基座并同步更新插件平台配置。

uni-app 示例

import * as SerialPort from '@/uni_modules/lizhao-serial-port'

SerialPort.openPath({
  path: '/dev/ttyS3',
  sessionId: 'main-uart',
  lineConfig: {
    baudRate: 115200
  },
  success(res) {
    console.log('openPath success', res)
    SerialPort.startRead({
      sessionId: 'main-uart'
    })
  },
  fail(err) {
    console.log('openPath fail', err)
  }
})

SerialPort.on('data', (event) => {
  console.log('data event', event.payload.hex)
})

uni-app x 示例

import * as SerialPort from '@/uni_modules/lizhao-serial-port'

SerialPort.openUsb({
  vendorId: 6790,
  productId: 29987,
  sessionId: 'usb-device-1',
  success() {
    SerialPort.sendAndWait({
      sessionId: 'usb-device-1',
      hex: 'AA550001',
      matchHex: 'AA55',
      timeoutMs: 1500,
      success(res) {
        console.log('response', res.hex)
      }
    })
  }
})

注意事项

  1. 路径串口需确保系统已授权访问对应设备节点。
  2. USB 串口需设备已连接且权限可用;权限不足将返回 9015005
  3. 建议统一使用 sessionId 管理会话,避免并发串口互相污染。
  4. 兼容 API 用于迁移旧代码,新业务建议使用规范 API。

联系方式

信-微:l-z-1-8-7-1512-5421(-去掉,不这样写会被和谐)

作者系列UTS插件

以下为已在 DCloud 插件市场上架的作者系列 UTS 插件,可按业务场景组合使用。未列出的插件表示当前未确认公开市场页,后续上架后再补充。

插件 能力方向 插件市场
lizhao-nfc-pro NFC 标签读写、NDEF、IsoDep 与诊断 查看插件
lizhao-float-window 悬浮窗、画中画、权限与诊断 查看插件
lizhao-device-id 设备标识、隐私策略与诊断 查看插件
lizhao-scan-pro 原生扫码、连续扫码、相册识别 查看插件
lizhao-choose-file 原生文件选择、上传、进度与取消 查看插件
lizhao-bg-audio 背景音频播放、队列、倍速与事件 查看插件
lizhao-smart-tts 系统 TTS、云端合成、听书方案 查看插件
lizhao-share-plus 系统分享、远程文件下载后分享 查看插件
lizhao-sqlite-pro 原生 SQLite、迁移、备份与诊断 查看插件
lizhao-icon-pro SVG 图标组件、多主题与缓存 查看插件
lizhao-cast-screen DLNA 投屏、AirPlay 路由入口 查看插件
lizhao-call-kit 电话、短信、通讯录原生能力 查看插件
lizhao-app-keepalive 应用保活、唤醒、自愈与报告 查看插件
lizhao-doc-corrector 文档扫描、矫正、增强与识别 查看插件
lizhao-emu-detect 模拟器环境检测、风险评分与证据 查看插件
lizhao-gallery-pro 相册媒体分页、筛选、缩略图与导出 查看插件
lizhao-video-thumb 视频封面、批量取帧与 Base64 返回 查看插件
lizhao-ble BLE 扫描、连接、读写、通知与自动重连 查看插件
lizhao-sse-pro SSE、Line、JSONL 与 Raw 流式请求 查看插件

隐私、权限声明

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

Android USB Host 权限与设备访问权限;Harmony 端按设备能力与签名策略申请串口权限

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

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

暂无用户评论。