更新记录

1.0.0(2026-09-17)

  • 新增 TCP 客户端与服务端、多连接管理、定向发送、广播和本地地址查询。
  • 新增文本、HEX、字节数组收发,以及原始流、分隔符、固定长度和长度前缀四种报文处理方式。
  • 新增有限自动重连、连接与接入状态回调、队列限额和明确的发送失败结果。
  • 提供 uni-app / uni-app x 示例;HarmonyOS 客户端需 API 12+,完整服务端需 API 20+。
  • 首次接入需重新制作并安装 Android 自定义基座,并重新打包 iOS / HarmonyOS。

平台兼容性

uni-app(5.24)

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

uni-app x(5.24)

Chrome Safari Android iOS 鸿蒙 微信小程序
× × ×

lizhao-tcp-pro

介绍

为 uni-app / uni-app x 提供 TCP 客户端与服务端,用同一套 API 连接设备、接收外部连接、管理多条会话,并按业务协议处理粘包、拆包和断线重连。

功能特色

特色功能 能解决什么问题 相关 API / 配置
客户端与服务端 App 主动连接设备,也能监听端口接收设备连接 connectTcpstartTcpServer
多连接隔离 同时管理不同网关、仪表或接入终端 connectionIdserverId
文本与二进制 收发中文、HEX 指令、含零字节的数据 text / hex / bytes
四种分包方式 根据协议提取完整消息,处理一次读取半条或多条消息 raw / delimiter / fixedLength / lengthPrefix
自动重连 在连接失败或中断后按间隔重试,可限制次数 reconnect
广播与定向发送 给全部接入终端发消息,或只操作某条连接 broadcastTcpDatasendTcpData
状态与错误回调 区分连接、重试、发送失败和主动关闭 onStateonErrorfail

适合哪些场景

场景 推荐能力 使用结果
连接局域网仪表、打印机、网关 客户端 + HEX / bytes 按设备协议发送指令并接收应答
App 接收设备上报 服务端 + 分包 每台设备获得独立连接标识
同时连接多个设备 多个 connectionId 数据和关闭操作互不串线
按行文本、固定长度或带长度头协议 frame 收到完整消息后再交给页面处理
网络暂时中断后恢复 有限自动重连 通过状态回调展示连接恢复进度

TCP 是字节流。插件处理传输和报文边界,设备指令、登录认证、业务应答及去重规则仍由你的协议决定。

下载与导入

  1. 使用 HBuilderX 将插件导入项目,保留完整的 uni_modules/lizhao-tcp-pro
  2. 页面从插件根目录导入:
import * as Tcp from '@/uni_modules/lizhao-tcp-pro'

uni-app 使用 .vue 页面,uni-app x 使用 .uvuelang="uts"。完整操作示例分别见 uni-app 示例uni-app x 示例

5 分钟跑通:客户端与服务端互发消息

先在本机监听 127.0.0.1:19090,监听成功后连接,连接成功后发送。服务端只回复一次,客户端只显示结果。若 getTcpCapabilities().server.supportedfalse,请使用后文“连接一个设备”的外部服务端示例。

uni-app

将以下内容放入一个已注册的 .vue 页面,点击按钮。

<template><view><button @tap="run">开始通信</button><text>{{ message }}</text></view></template>
<script>
import * as Tcp from '@/uni_modules/lizhao-tcp-pro'
export default {
  data() { return { message: '', leaving: false } },
  onUnload() {
    this.leaving = true
    Tcp.closeTcpConnection({ connectionId: 'demo-client', complete: () => {
      Tcp.stopTcpServer({ serverId: 'demo-server' })
    } })
  },
  methods: {
    run() {
      const fail = e => { this.message = e.errMsg }
      if (!Tcp.getTcpCapabilities().server.supported) { this.message = '本系统请连接外部 TCP 服务端'; return }
      Tcp.startTcpServer({ serverId: 'demo-server', port: 19090, dataFormat: 'text',
        frame: { mode: 'delimiter', delimiterText: '\n' }, fail,
        onData: e => Tcp.sendTcpData({ connectionId: e.connectionId, dataFormat: 'text', text: '收到\n', fail }),
        success: () => {
          if (this.leaving) return
          Tcp.connectTcp({ connectionId: 'demo-client', host: '127.0.0.1', port: 19090, dataFormat: 'text',
            frame: { mode: 'delimiter', delimiterText: '\n' }, fail,
            onData: e => { this.message = e.text ?? '' },
            success: () => { if (!this.leaving) Tcp.sendTcpData({ connectionId: 'demo-client', dataFormat: 'text', text: '你好\n', fail }) }
          })
        }
      })
    }
  }
}
</script>

uni-app x

调用顺序相同,UTS 页面示例如下。

<template><view><button @tap="run">开始通信</button><text>{{ message }}</text></view></template>
<script setup lang="uts">
import * as Tcp from '@/uni_modules/lizhao-tcp-pro'
const message = ref('')
let leaving = false
function fail(e: Tcp.TcpFail) { message.value = e.errMsg ?? '通信失败' }
function run() {
  if (!Tcp.getTcpCapabilities().server.supported) { message.value = '本系统请连接外部 TCP 服务端'; return }
  Tcp.startTcpServer({ serverId: 'demo-server', port: 19090, dataFormat: 'text',
    frame: { mode: 'delimiter', delimiterText: '\n' }, fail,
    onData: (e) => { Tcp.sendTcpData({ connectionId: e.connectionId, dataFormat: 'text', text: '收到\n', fail }) },
    success: () => {
      if (leaving) return
      Tcp.connectTcp({ connectionId: 'demo-client', host: '127.0.0.1', port: 19090, dataFormat: 'text',
        frame: { mode: 'delimiter', delimiterText: '\n' }, fail,
        onData: (e) => { message.value = e.text ?? '' },
        success: () => { if (!leaving) Tcp.sendTcpData({ connectionId: 'demo-client', dataFormat: 'text', text: '你好\n', fail }) }
      })
    }
  })
}
onUnload(() => {
  leaving = true
  Tcp.closeTcpConnection({ connectionId: 'demo-client', complete: () => { Tcp.stopTcpServer({ serverId: 'demo-server' }) } })
})
</script>

核心配置

参数 类型 必填 说明 默认值 可选参数
connectionId string 客户端是 活动期间唯一,关闭后可复用
serverId string 服务端是 活动期间唯一,停止后可复用
host string 客户端是 客户端远端地址;服务端监听地址 服务端 127.0.0.1 主机名或 IP;监听建议 IP
port number 对方端口或固定监听端口,不接受 0 整数 1–65535
dataFormat string 收取否、发送是 收取时控制 text 字段;发送时选择载荷字段 收取 bytes text / hex / bytes
frame TcpFrameOptions 接收报文边界,双方必须遵守同一协议 raw 四模式见后文
reconnect TcpReconnectOptions 只用于外连客户端 关闭 见重连配置

接入方式选择

业务需求 推荐方式 使用结果
已有设备或后台 TCP 服务 connectTcp 用指定 ID 管理连接
让其他设备连接 App startTcpServer onConnection 取得接入连接 ID
App 内部验证收发 前面的回环示例 不依赖外部测试程序
多台设备同时工作 每条连接独立 ID 单条关闭不会关闭其他实例
自定义操作界面 页面自由布局并调用 API 插件不要求内置 UI 组件

从基础到进阶:按业务模块使用

下面的片段均使用前面的 Tcp 根导入。示例的地址、端口、分隔符须替换为实际设备协议。

模块一:连接一个设备

当设备已经监听 TCP 端口时,App 作为客户端。等待成功后再发送。

Tcp.connectTcp({ connectionId: 'meter', host: '192.168.1.50', port: 9000,
  dataFormat: 'hex', onData: (e) => { console.log('设备返回', e.hex) },
  success: () => { Tcp.sendTcpData({ connectionId: 'meter', dataFormat: 'hex', hex: '01 03 00 00', fail: (e) => { console.log('发送失败', e.errMsg) } }) },
  fail: (e) => { console.log('连接失败', e.errCode, e.errMsg) }
})

模块二:App 接收外部连接

需要同一局域网的设备连接 App 时,显式监听 0.0.0.0。设备应连接手机的局域网 IP,不能连接 0.0.0.0

Tcp.startTcpServer({ serverId: 'gateway', host: '0.0.0.0', port: 19090,
  dataFormat: 'text', frame: { mode: 'delimiter', delimiterText: '\n' },
  onConnection: (e) => { console.log('设备接入', e.connectionId, e.remoteAddress) },
  onData: (e) => { console.log('设备上报', e.connectionId, e.text) },
  onClientClose: (e) => { console.log('设备离开', e.connectionId, e.reason) },
  fail: (e) => { console.log('监听失败', e.errMsg) }
})

模块三:文本、HEX 和字节收发

向已就绪的连接发送数据,每次只传与 dataFormat 对应的一个载荷字段。HEX 可包含字节间空白;数组元素必须是 0–255 的整数。

Tcp.sendTcpData({ connectionId: 'meter', dataFormat: 'text', text: 'STATUS\n', fail: (e) => { console.log('发送失败', e.errMsg) } })
Tcp.sendTcpData({ connectionId: 'meter', dataFormat: 'hex', hex: 'AA 55 00 FF', fail: (e) => { console.log('发送失败', e.errMsg) } })
Tcp.sendTcpData({ connectionId: 'meter', dataFormat: 'bytes', bytes: [170, 85, 0, 255], fail: (e) => { console.log('发送失败', e.errMsg) } })

接收事件始终提供 bytes 和大写 hex。选择 text 后,合法 UTF-8 还会提供 text;非法 UTF-8 的 textnull,原字节仍保留。raw 模式会保留跨读取的 UTF-8 半字符。

模块四:多连接独立管理

为不同设备使用不同 ID,定向关闭只作用于指定实例。

Tcp.connectTcp({ connectionId: 'device-a', host: '192.168.1.51', port: 9000, fail: (e) => { console.log('A 连接失败', e.errMsg) } })
Tcp.connectTcp({ connectionId: 'device-b', host: '192.168.1.52', port: 9000, fail: (e) => { console.log('B 连接失败', e.errMsg) } })
Tcp.closeTcpConnection({ connectionId: 'device-a', reason: '结束本次操作' })

模块五:处理粘包与拆包

根据对方协议选择接收方式。sendTcpData 始终发送原始载荷,不会因连接配置了 frame 就自动补头或补分隔符。

模式 适用协议 消息边界
raw 业务自行处理原始流 每次原生读取不保证是完整消息
delimiter 按行文本、固定结束标记 找到完整分隔符后派发
fixedLength 每条报文固定字节数 累计到 fixedLength 后派发
lengthPrefix 消息前有正文长度 1 / 2 / 4 字节无符号长度头,不包含头本身

要生成“2 字节大端长度头 + UTF-8 正文”,使用同步构帧结果:

const encoded = Tcp.encodeTcpFrame({ dataFormat: 'text', text: '设备状态',
  frame: { mode: 'lengthPrefix', lengthPrefixBytes: 2, byteOrder: 'big' }
})
if (encoded.ok) {
  Tcp.sendTcpData({ connectionId: 'meter', dataFormat: 'bytes', bytes: encoded.bytes,
    fail: (e) => { console.log('发送失败', e.errMsg) } })
} else { console.log('构帧失败', encoded.error?.errMsg) }

对应接收端也需配置相同长度头。delimiter 模式构帧会在正文后追加分隔符,正文中不允许再含完整分隔符;fixedLength 正文长度必须精确相等;raw 保留正文。

模块六:断线后恢复连接

适用于网络偶发中断。首次 success / fail / complete 只结算一次,之后的重连进度由持续事件报告。

Tcp.connectTcp({ connectionId: 'stable-device', host: '192.168.1.50', port: 9000,
  reconnect: { enabled: true, maxAttempts: 5, initialDelayMs: 1000, maxDelayMs: 30000 },
  onState: (e) => { console.log('连接状态', e.state, e.reconnectAttempt) },
  onError: (e) => { console.log('运行期错误', e.errMsg) },
  fail: (e) => { console.log('首次连接失败', e.errMsg) }
})

主动关闭会取消重连。断开时未完成的发送逐项失败,恢复后不会自动重发,以免重复执行设备指令。

模块七:广播与关闭接入连接

服务端已启动后,广播给调用时存在的所有接入连接。关闭单个接入终端时使用该终端的 connectionId

Tcp.broadcastTcpData({ serverId: 'gateway', dataFormat: 'text', text: 'PING\n',
  success: (r) => { console.log('广播完成', r.successCount) },
  fail: (e) => { console.log('广播存在失败', e.details) }
})
Tcp.getTcpServerConnections({ serverId: 'gateway', success: (r) => {
  if (r.connections.length > 0) Tcp.closeTcpConnection({ connectionId: r.connections[0].connectionId, reason: '结束接入' })
}, fail: (e) => { console.log('查询失败', e.errMsg) } })

模块八:查看连接与本机地址

用于展示就绪状态、连接数和可供其他设备访问的地址。查询结果是当前快照。

Tcp.getTcpConnectionInfo({ connectionId: 'meter', success: (r) => { console.log('连接', r.state, r.sentBytes, r.receivedBytes) }, fail: (e) => { console.log(e.errMsg) } })
Tcp.getTcpServerInfo({ serverId: 'gateway', success: (r) => { console.log('监听', r.address, r.port, r.connectionCount) }, fail: (e) => { console.log(e.errMsg) } })
Tcp.getLocalAddresses({ family: 'ipv4', includeLoopback: false, success: (r) => { console.log('本机地址', r.addresses) }, fail: (e) => { console.log(e.errMsg) } })

模块九:页面退出时释放

让会话归属清晰的页面或业务模块管理。结束时先关闭客户端,再停止该模块创建的服务端;停止服务端会一并关闭其接入连接。

Tcp.closeTcpConnection({ connectionId: 'meter', reason: '页面退出', complete: () => {
  Tcp.stopTcpServer({ serverId: 'gateway', reason: '页面退出' })
} })

API 用途速查

模块 适用业务 常用方法 使用结果
能力判断 按平台选择入口 getTcpCapabilities() 同步返回角色能力、格式及默认限额
连接管理 连接设备、结束会话 connectTcp(options)closeTcpConnection(options) 首次连接或关闭结果
数据收发 向指定连接发命令 sendTcpData(options) 本地写完成的字节数
连接查询 展示状态和计数 getTcpConnectionInfo(options) TcpConnectionInfo
服务端管理 监听、停止、查看状态 startTcpServer(options)stopTcpServer(options)getTcpServerInfo(options) 监听或停止结果、状态快照
会话管理 列表与广播 getTcpServerConnections(options)broadcastTcpData(options) 接入连接列表、逐项广播结果
地址查询 展示当前网卡地址 getLocalAddresses(options) 地址、地址族与网卡名称
协议构帧 生成待发送的完整报文 encodeTcpFrame(options) 同步返回 { ok, bytes, error }

除两个同步方法外,API 返回 void,异步结果通过 success / fail / complete 接收。

参数说明与分包、重连配置

连接与监听

基本字段见“核心配置”;以下为增强字段。

参数 类型 必填 说明 默认值 可选参数
connectTimeoutMs number 客户端连接期限,包含域名解析 10000 ms 正整数,至 2147483647
idleTimeoutMs number 连续未收到数据的期限;0 关闭 0 非负整数,至 2147483647
keepAlive boolean 请求系统 TCP 保活;不等于 App 后台保活 true true / false
tcpNoDelay boolean 请求立即发送小包 true true / false
maxConnections number 每个监听器最大接入数 32 1–64
reason string close / stop 的业务说明 空字符串
compat object 可选兼容信息;未知字段忽略

插件总活动连接最多 64 条(含外连和接入),监听器最多 8 个。ID 长度为 1–128 且不能全是空白;host 长度不超过 253。

发送、广播与同步构帧

参数 类型 必填 说明 默认值 可选参数
connectionId string 发送是 定向发送目标
serverId string 广播是 广播所属服务端
dataFormat string 与下面一个载荷字段对应 text / hex / bytes
text string 按格式 UTF-8 正文
hex string 按格式 HEX 正文,不允许奇数位或非 HEX 字符
bytes number[] 按格式 二进制正文 元素为 0–255 整数
frame TcpFrameOptions 构帧否 encodeTcpFrame 使用 raw 见下表

单次发送正文不超过 4 MiB。发送队列最多 256 项且总字节不超过 4 MiB(含正在发送项),超限的新命令失败。文本或字节数组可为空;HEX 至少一个完整字节。

分帧配置 frame

参数 类型 必填 说明 默认值 可选参数
mode string 接收及构帧方式 raw raw / delimiter / fixedLength / lengthPrefix
delimiterText string delimiter 三选一 UTF-8 分隔符 非空
delimiterHex string delimiter 三选一 HEX 分隔符 非空
delimiterBytes number[] delimiter 三选一 字节分隔符 非空
includeDelimiter boolean 接收结果是否包含分隔符 false true / false
fixedLength number fixedLength 是 每帧正文的固定字节数 正整数,不超过 maxFrameBytes
lengthPrefixBytes number lengthPrefix 是 无符号正文长度头字节数 1 / 2 / 4
byteOrder string 长度头字节序 big big / little
maxFrameBytes number 单帧正文上限,不含协议头或分隔符 1048576 正整数
maxReceiveBufferBytes number 单连接待解析和待派发数据累计上限 2097152 至少容纳最大正文加协议边界

不要混入其他模式专属字段。长度头允许正文长度为 0;一字节头最大 255,两字节头最大 65535,仍受 maxFrameBytes 限制。

重连配置 reconnect

参数 类型 必填 说明 默认值 可选参数
enabled boolean 启用自动重连 false true / false
maxAttempts number 最大重试次数,不含首次;0 不重试 5 非负整数
initialDelayMs number 第一次重连等待时间 1000 非负整数
maxDelayMs number 指数等待的上限 30000 不小于 initialDelayMs
jitterRatio number 等待抖动比例 0.2 0–1
stableResetMs number 连续就绪达到此时长后重置重试次数 30000 正整数

参数错误、协议错误、缓冲溢出与主动关闭不会重连。可重试网络错误仍受次数限制。

本地地址查询

参数 类型 必填 说明 默认值 可选参数
family string 地址族过滤 全部 ipv4 / ipv6
includeLoopback boolean 是否保留回环地址 true true / false

回调说明

回调 触发时机 使用说明
success 单次命令成功 connect 只报告首次成功;不随重连重复
fail 参数错误或单次命令失败 与 success 互斥
complete success 或 fail 之后 单次命令恰好一次,参数为同一类结果或错误
onState 连接或服务端状态变化 分别返回 TcpStateEvent / TcpServerStateEvent
onData 收到一条完整帧;raw 为流读取结果 connectionId / serverId / dataFormat / bytes / hex / text / sequence
onError 首次完成后的运行错误;服务端监听或子连接错误 TcpFail,按连接 ID 判断归属
onConnection 服务端接入新连接 包含双方业务 ID、远端地址和端口
onClientClose 接入连接结束 包含连接 ID、reason、manuallyClosed

连接状态为 idle → connecting → ready;重试进入 reconnect-wait,最终关闭为 closing → closed。服务端状态为 idle → starting → listening → stopping → stopped。每次新尝试的 generation 用于区分迟到结果。页面离开时显式关闭会话,停止后持续回调随资源释放。

支持平台

平台 是否支持 说明
Android 客户端、服务端 Android 5.0+,uni-app / uni-app x
iOS 客户端、服务端 iOS 12+,uni-app / uni-app x;局域网访问需允许本地网络授权
HarmonyOS 按系统版本提供 客户端 API 12+;完整服务端 API 20+,低版本明确拒绝监听
Web / 小程序 不提供原生 TCP 网络 API 返回明确错误;纯数据构帧可独立使用

推荐 HBuilderX 5.24 或更高版本。App 首次接入或更新原生部分后,需重新制作包含插件的 Android 自定义基座,并重新打包 iOS / HarmonyOS;Android 与 HarmonyOS 项目需合并插件声明的网络权限。

返回值说明

结果 / 字段 类型 说明
TcpCapabilities object platform、client/server 的 supported 与最低系统要求、默认限额
ConnectTcpResult object connectionId、state、remoteAddress/remotePort、localAddress/localPort、generation
SendTcpDataResult object connectionId、bytesWritten、localWriteCompleted、deliveryNote
CloseTcpConnectionResult object connectionId、closed、alreadyClosed;未知但合法 ID 视为已关闭
TcpConnectionInfo object 连接 ID/角色/状态/代次/端点、queuedSendItems/queuedSendBytes、receivedBytes/sentBytes、reconnectCount
StartTcpServerResult object serverId、address、port、state、generation
TcpServerInfo object 监听信息以及 connectionCount、maxConnections
TcpServerConnectionsResult object serverId、connections(连接快照数组)
BroadcastTcpDataResult object serverId、targetCount、successCount、failureCount、results
广播 results[] object connectionId、success、bytesWritten、errCode、errMsg、deliveryUnknown、details
StopTcpServerResult object serverId、stopped、closedConnectionCount、alreadyStopped
GetLocalAddressesResult object platform、addresses、notes;地址含 address/family/interfaceName/loopback
TcpEncodedFrame object ok=true 才可发送 bytes;失败时 error 非空、bytes=[]
TcpFail object errSubject、errCode、errMsg、operation、connectionId、serverId、retryable、details

广播目标数为 0 时成功返回空结果。任何目标失败时走 fail,汇总仍位于 error.detailsbytesWritten=-1deliveryUnknown=true 表示无法确认远端交付,不能直接认定“没发出去”。

错误码说明

错误码 含义 说明
9099001 参数不合法 检查必填字段、类型和范围
9099002 平台不支持 查询角色能力;低版本 Harmony 服务端也使用此码
9099003 原生实现不可用 检查当前构建是否包含对应平台实现
9099004 / 9099005 ID 重复 分别为 connectionId / serverId 已占用
9099006 / 9099007 ID 不存在 查询或发送指向不存在的连接 / 服务端
9099008 端口不合法 使用 1–65535 的整数
9099009 数据格式冲突 dataFormat 与一个载荷字段对应
9099010 HEX 不合法 检查字符和偶数位数
9099011 字节数组不合法 每项须为 0–255 整数
9099012 发送正文超限 降低单次载荷大小
9099013 分帧配置不合法 检查模式字段、固定长度或正文分隔符冲突
9099014 帧或接收缓冲超限 检查协议长度及接收处理速度
9099015 发送队列超限 等待发送结果后再提交新任务
9099016 连接失败 检查服务端地址、网络和连接容量
9099017 监听失败 检查绑定地址、端口占用和监听器容量
9099018 操作超时 检查连接或空闲期限
9099019 读写失败 结合 details 判断网络中断、关闭或未知交付
9099020 连接结束时仍有半帧 检查双方报文边界;raw 文本也检查未完成 UTF-8 字符

注意事项与常见错误

  • sendTcpData.success 仅表示本地写操作完成。需要确认设备执行结果时,必须等待业务应答并自行设置请求标识与去重规则。
  • 对方一次发送可能被拆成多次读取,多次发送也可能合并。双方应明确分隔符、固定长度或长度头;不能靠读取块大小识别报文。
  • 连接参数和载荷在调用时保存副本,调用后修改原对象不会更新当前会话;修改协议配置请关闭后重建。
  • 127.0.0.1 只能本机访问;局域网监听应使用 0.0.0.0 或指定本机网卡地址。网卡列表不保证远端可达,仍受路由、热点隔离、防火墙和系统权限影响。
  • 插件提供普通 TCP,不提供 TLS、UDP、WebSocket、应用层心跳或设备协议解析。涉及敏感数据时应使用适合业务的加密与认证协议。
  • 自动重连和系统 TCP keep-alive 不保证 App 在后台持续运行,应用被系统挂起或结束后应由业务重新建立连接。
  • 关闭同一个不存在的合法 ID 会幂等成功;查询不存在的 ID 则失败。关闭过程中已接受的命令会先结算,后报告关闭完成。
  • 默认有限额保护。提高帧大小时同步调整接收缓冲;不要在 onData 中长时间阻塞,也不要让收发双方无限自动互相回复。
  • 插件只处理调用方指定连接上的数据,不自行上传、持久化或记录业务正文。

联系方式

信-微: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 流式请求 查看插件
lizhao-pdf-pro PDF 阅读、签批、真实写回与页面处理 查看插件
lizhao-serial-port 路径串口、USB 串口、多会话收发与诊断 查看插件
lizhao-wechat-kit 微信登录、分享、支付、小程序与客服 查看插件
lizhao-video-editor 视频裁剪、压缩、取帧与 FFmpeg/FFprobe 查看插件
lizhao-vpn-pro 企业 VPN、IKEv2、安全接入与脱敏诊断 查看插件

隐私、权限声明

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

Android 使用 INTERNET;iOS 局域网访问需本地网络授权;HarmonyOS 使用 INTERNET 与 GET_NETWORK_INFO;不申请后台保活权限

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

仅连接调用方显式传入的地址,或监听调用方指定端口收发数据;插件自身不采集、不上传、不保存业务数据

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

暂无用户评论。