更新记录
1.0.0(2026-11-10)
- 新增轻量直播候选:系统媒体采集编码、自研RTMP、Web WHIP/HLS和微信适配。
- 新增房间、聊天、商品规格及订单意图Mock,开发者业务JSON桥与类型化适配合同。
- 新增uni-app / uni-app x示例、内置传统nvue画面组件、诊断报告与复制回退。
- 新增固定开源依赖许可、自有Harmony HAR源码及双宿主验证工具;验证范围以客户说明和项目记录为准。
- 调整为单一lizhao-live插件目录,内置画面组件复用同一媒体内核;uni-app x整文件条件编译排除nvue兼容组件,保留原生SDK与标准组件边界。
平台兼容性
uni-app(5.34)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| √ | √ | - | - | √ | √ | √ | √ | √ |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| - | × | × | × | × | × | × | × | × | × | × | × |
uni-app x(5.34)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
lizhao-live 轻量直播 UTS 插件
介绍
面向 uni-app 和 uni-app x 的轻量直播开发候选:自研媒体层、直播间、聊天、商品规格与订单意图。默认使用本地 Mock,管理后台和业务服务由接入者实现。本仓库源码尚未发布,各端实现、编译与运行验证范围见下文。
功能特色
| 功能 | 解决的问题 | API / 组件 |
|---|---|---|
| 系统媒体与自研传输 | 避免默认捆绑商业直播 SDK | controlLiveMedia、getLiveCapabilitiesSync |
| 统一会话与释放 | 停止、超时、退出后迟到回调不重启媒体 | createLiveSession、destroyLiveSession、onLiveEvent |
| 独立 Mock 业务 | 无需后台演示房间、消息、SKU、订单意图 | requestLiveBusiness、createMockLiveAdapter |
| 可替换业务接口 | 接入开发者 HTTP / WebSocket 服务 | setLiveBusinessBridge、replyLiveBusinessBridge、publishLiveRoomEvent |
| 消息和商品事件 | 聊天、讲解商品、点赞更新 | subscribeLiveRoom、unsubscribeLiveRoom |
| 完整诊断报告 | 记录版本来源、调用、错误及脱敏上下文 | getLiveDiagnosticsSync、示例底部复制入口 |
适合哪些场景
| 场景 | 推荐能力 | 使用边界 |
|---|---|---|
| 电商直播原型 | Mock 房间、聊天、SKU、订单意图 | 进程内数据,不支付、不扣真实库存 |
| 自有媒体服务 | App RTMP 推流、HLS 观看,Web WHIP | 需自行准备媒体服务器、鉴权、TLS和分发 |
| 自有业务平台 | JSON 业务桥 | 服务端校验用户身份、主播权限、价格、库存与幂等 |
| 微信直播 | 平台 live-pusher / live-player,或 HLS video | 账号类目、权限、域名与真机能力以微信实际许可为准 |
| 原生直播集成 | 标准组件或传统 nvue 薄组件 | 无连麦、PK、美颜、录屏和后台持续推流承诺 |
下载与导入
| 宿主 | 示例代码位置 |
|---|---|
| uni-app | uni_modules/lizhao-live/example/uniapp/index.vue、uni_modules/lizhao-live/example/uniapp/native.nvue |
| uni-app x | uni_modules/lizhao-live/example/uniappx/index.uvue |
从基础到进阶:按业务模块使用
模块一:无后台运行直播间业务
将示例页面加入项目 pages.json,所有宿主只导入 lizhao-live 一个插件。uni-app x 使用标准组件 lizhao-live;传统 uni-app 的 Android / iOS nvue 示例使用本插件内置的 lizhao-live-view 画面组件,普通 .vue 页面用于 Web、微信与 Harmony。默认媒体地址为空,不会假装开播。两种宿主调用根入口相同,uni-app 的 JavaScript 删除下例类型标注即可;完整可运行页面已经分别交付。内置nvue组件说明在 uni_modules/lizhao-live/docs/nvue-view.md。
import { createLiveSession, requestLiveBusiness, destroyLiveSession } from '@/uni_modules/lizhao-live'
import { LiveFailure } from '@/uni_modules/lizhao-live'
const session = createLiveSession({ roomId: 'mock-room-1', userId: 'mock-viewer' })
requestLiveBusiness({ action: 'joinRoom', sessionId: session.sessionId })
.then((result) => { console.log(result.room, result.user, result.mock) })
.catch((error: LiveFailure) => { console.error(error.errSubject, error.errCode, error.errMsg) })
// 页面退出时调用;不要只移除组件而遗留业务订阅。
function dispose(): void {
destroyLiveSession(session.sessionId).catch((error: LiveFailure) => {
console.error('释放未确认', error.errCode, error.errMsg)
})
}
聊天使用 sendMessage 和 clientRequestId;同一请求重试复用该值,修改文本后换新值。订阅返回字符串 ID,退出时用 unsubscribeLiveRoom 解除。演示主播用户为 mock-host,mock-muted 为禁言演示用户;这些标识不是生产身份认证。
import { requestLiveBusiness, subscribeLiveRoom, unsubscribeLiveRoom } from '@/uni_modules/lizhao-live'
import { LiveFailure } from '@/uni_modules/lizhao-live'
const subscriptionId = subscribeLiveRoom(session.sessionId, (event) => { console.log(event.type, event.message) })
requestLiveBusiness({ action: 'sendMessage', sessionId: session.sessionId, text: '你好', clientRequestId: 'message-001' })
.then((result) => { console.log(result.messages) })
.catch((error: LiveFailure) => { console.error(error.errCode, error.errMsg) })
function stopSubscription(): void { unsubscribeLiveRoom(subscriptionId) }
模块二:真实开播与观看
在示例的“接入”页填入自己的媒体地址,切到主播台预览、推流、静音或切镜。绑定画面并收到组件 load 后才启动媒体。下例使用已有有效 session,并从你的服务端取得 mediaUrl;该变量是调用方准备的运行时数据,不是随插件交付的测试服务。
import { controlLiveMedia, getLiveCapabilitiesSync, onLiveEvent, offLiveEvent } from '@/uni_modules/lizhao-live'
import { LiveFailure } from '@/uni_modules/lizhao-live'
console.log(getLiveCapabilitiesSync())
const eventId = onLiveEvent((event) => { console.log(event.type, event.state, event.errCode) })
function startPush(mediaUrl: string): void {
controlLiveMedia({ sessionId: session.sessionId, operation: 'push', url: mediaUrl })
.then((result) => { console.log(result.state, result.dataJSON) })
.catch((error: LiveFailure) => { console.error(error.errSubject, error.errCode, error.errMsg) })
}
function stopPush(): void {
controlLiveMedia({ sessionId: session.sessionId, operation: 'stop' })
.catch((error: LiveFailure) => { console.error('停止未确认', error.errCode, error.errMsg) })
offLiveEvent(eventId)
}
观看将 operation 改为 play,传实际 HTTP(S) HLS .m3u8 地址;微信还可用其平台允许的 RTMP / FLV live-player 地址。HLS 有分片延迟,不等于实时连麦。推流成功表示内核取得实际连接/发布回执,播放成功按各端首帧或播放进度确认;不要把权限获准、按钮点击或 API 命令受理当成开播。
模块三:商品、规格与订单意图
listProducts 返回产品、skus、整数分价格和库存。以返回的真实商品与规格 ID 调用 createOrder;价格由适配器或服务端计算,页面不传可信总价。
import { requestLiveBusiness } from '@/uni_modules/lizhao-live'
import { LiveFailure } from '@/uni_modules/lizhao-live'
requestLiveBusiness({ action: 'listProducts', sessionId: session.sessionId })
.then((result) => {
if (result.products.length == 0 || result.products[0].skus.length == 0) { return }
const product = result.products[0]
requestLiveBusiness({ action: 'createOrder', sessionId: session.sessionId, productId: product.id,
skuId: product.skus[0].id, quantity: 1, clientRequestId: 'order-001' })
.then((orderResult) => { console.log(orderResult.order, orderResult.mock) })
.catch((error: LiveFailure) => { console.error(error.errCode, error.errMsg) })
}).catch((error: LiveFailure) => { console.error(error.errCode, error.errMsg) })
Mock 仅返回 mock-intent,不扣库存、不付款,不以假支付成功掩盖未接入交易。消息上限500条,演示订单上限200个;数据在进程重启或恢复独立 Mock 后丢失。
模块四:接入自己的业务接口
跨 JS / Native 使用通知-应答桥。原生回调不能依赖 JS 返回 Promise 或函数;setLiveBusinessAdapter 仅用于同语言执行环境(如 Web 或原生 UTS 内部),普通 App 页面推荐下例 JSON 桥。请求回调返回 void;异步结果通过 replyLiveBusinessBridge 应答。HTTP 地址由接入者配置,以下函数接收实际后端入口,不包含后台实现。
import { setLiveBusinessBridge, replyLiveBusinessBridge, publishLiveRoomEvent,
setLiveBusinessAdapter } from '@/uni_modules/lizhao-live'
import { LiveBusinessBridgeEvent } from '@/uni_modules/lizhao-live'
function installHttpBusiness(apiUrl: string): void {
setLiveBusinessBridge('自有业务接口', (eventJSON: string) => {
const event = JSON.parse<LiveBusinessBridgeEvent>(eventJSON)
if (event.kind != 'request') { return }
uni.request({ url: apiUrl, method: 'POST', data: event.requestJSON,
header: { 'Content-Type': 'application/json' },
success: (response) => {
if (response.statusCode >= 200 && response.statusCode < 300) {
const payload = JSON.stringify(response.data)
replyLiveBusinessBridge(event.requestId, payload ?? '', '')
} else {
replyLiveBusinessBridge(event.requestId, '', JSON.stringify({ errCode: 9391010,
errMsg: '业务HTTP状态=' + response.statusCode.toString() })!)
}
},
fail: (_error) => { replyLiveBusinessBridge(event.requestId, '',
JSON.stringify({ errCode: 9391010, errMsg: '请求失败;有副作用的结果需向服务端查询' })!) }
})
})
}
// WebSocket收到该subscriptionId所属的LiveRoomEvent JSON时调用:
function deliverRoomEvent(subscriptionId: string, eventJSON: string): boolean {
return publishLiveRoomEvent(subscriptionId, eventJSON)
}
function restoreLocalMock(): void { setLiveBusinessAdapter(null) }
uni-app JavaScript 使用 JSON.parse(eventJSON),删除类型标注、泛型和非空断言。以上 HTTP 片段只接请求;完整实时消息接入需同时处理 bridge 的 subscribe / unsubscribe 通知:按 subscriptionId 建立或复用 WebSocket,订阅 roomId,收到 LiveRoomEvent 后 publishLiveRoomEvent,取消时关闭对应订阅和闲置连接。不要在收到订阅通知时伪造消息或观看人数。认证令牌仅内存传递,服务端检查签名,不信任客户端 userId / mock-host / totalFen。
服务端必须返回完整 LiveBusinessResult(action一致、mock:false;rooms/messages/products为空也返回数组,room/user/order缺省返回null,cursor/message返回字符串,hasMore返回布尔)。不要只返回 data 或 code 包裹对象。失败只传 failureJSON,成功只传 resultJSON,恰好一种。响应最多1Mi字符、单事件最多64Ki字符;迟到、重复或已经释放的应答返回false。请求15秒超时;超时、取消、网络断开后的发送/订单结果可能未知,查询或使用原clientRequestId幂等重试。
API 用途速查
| API | 用途 / 返回值 |
|---|---|
| createLiveSession(options) | 建立空媒体会话,返回LiveSessionInfo;上限16 |
| getLiveSessionSync(sessionId) | 会话快照;不存在为null |
| getLiveCapabilitiesSync() | 当前端能力、协议、实现与验证提示 |
| controlLiveMedia(options) | Promise |
| destroyLiveSession(sessionId) | Promise |
| requestLiveBusiness(request) | Promise |
| createMockLiveAdapter() | 全新独立本地Mock适配器;不自带媒体流 |
| setLiveBusinessAdapter(adapter) | 同语言环境替换适配器;null恢复全新Mock,并清旧订阅/请求 |
| setLiveBusinessBridge(name, listener) | 注册跨JS/Native void通知桥,设置mock:false |
| replyLiveBusinessBridge(requestId, resultJSON, failureJSON) | 一次应答;是否被接受的布尔值 |
| publishLiveRoomEvent(subscriptionId, eventJSON) | 向有效订阅发布匹配房间事件,返回布尔值 |
| subscribeLiveRoom(sessionId, listener) | 订阅房间,返回订阅ID;有效会话需有roomId,上限128 |
| unsubscribeLiveRoom(subscriptionId) | 解除指定房间订阅;重复调用安全 |
| onLiveEvent(listener) | 监听媒体状态/错误,返回ID;上限128 |
| offLiveEvent(listenerId) | 移除媒体监听器;重复调用安全 |
| getLiveDiagnosticsSync() | 版本、源码标记、平台、适配器、会话及有界脱敏日志 |
会话与媒体参数
| 参数 | 类型 | 必填 | 说明 | 默认值 | 可选参数 |
|---|---|---|---|---|---|
| options.roomId | string | 否 | 业务房间ID,最多128字符 | 空串 | 服务返回ID |
| options.userId | string | 否 | 非空用户ID,最多128字符;非认证凭据 | mock-viewer | 接入者用户ID |
| sessionId | string | 是 | createLiveSession返回值 | 无 | 有效会话 |
| operation | LiveMediaOperation | 是 | 媒体动作 | 无 | preview / push / play / stop / mute / switchCamera / release |
| url | string | 推播时是 | push / play对应完整媒体服务地址 | 空串 | 能力返回的协议 |
| width / height | number | 否 | 偶数像素;公共范围160–1920,平台再校验 | 720 / 1280 | iOS仅支持列出的规格;微信/浏览器可自适应 |
| fps | number | 否 | 整数帧/秒;公共1–60,平台再校验 | 24 | iOS15–30 |
| videoBitrate | number | 否 | 整数bps;公共100000–12000000 | 1200000 | 以平台范围为准 |
| audioBitrate | number | 否 | 整数bps;公共16000–320000 | 64000 | 微信不接受偏离默认的精确码率请求 |
| muted | boolean | 否 | preview/push初始静音;mute动作的目标值 | false | true / false |
| frontCamera | boolean或null | 否 | preview/push初始镜头;未填或null使用后镜头,true使用前置;switchCamera执行反转 | false | true / false / null |
| timeoutMs | number | 否 | 1000–60000毫秒;超时会请求原生停止 | 15000 | 整数毫秒 |
| token | string | 否 | Web WHIP Bearer临时令牌;HLS按能力限制 | 空串 | 其他端使用服务签发媒体URL |
业务参数与动作
| 参数 | 类型 | 必填 | 说明 | 默认值 | 可选参数 |
|---|---|---|---|---|---|
| action | LiveBusinessAction | 是 | 下表业务动作 | 无 | 11种动作 |
| sessionId | string | 房间操作建议 | 自动从会话补充roomId和userId | 空串 | 有效会话 |
| roomId / userId | string | 无会话时按动作 | 不能替代服务端认证 | 空串 / mock-viewer | 真实服务返回ID |
| text | string | sendMessage是 | trim后1–300字符 | 空串 | 聊天正文 |
| clientRequestId | string | sendMessage/createOrder是 | 1–128字符,同参数重试复用,不同参数必须换新 | 无 | 客户端幂等键 |
| productId / skuId | string | 按动作 | 采用listProducts的ID | 无 | 商品 / 规格ID |
| quantity | number | 否 | createOrder数量1–99整数 | 1 | 不超过库存 |
| cursor | string | 否 | Mock为十进制非负偏移;真实接口自行约定 | 空串 | 上页返回值 |
| pageSize | number | 否 | 1–100整数,Mock房间默认20、消息默认50 | 20 / 50 | 分页大小 |
| adapter | LiveBusinessAdapter或null | 是 | name、mock、request、subscribe需同时提供 | null恢复Mock | 同语言执行环境 |
| name / listener | string / LiveBusinessBridgeListener | 是 | 非空名称及void JSON通知回调 | 无 | 跨JS/Native桥 |
| requestId | string | 是 | 桥通知中的请求ID | 无 | 一次应答 |
| resultJSON / failureJSON | string | 恰好一种 | 成功完整结果JSON或错误JSON,其余传空串 | 无 | 不同时传入 |
| subscriptionId / listenerId | string | 是 | 对应注册/订阅返回值 | 无 | 用于释放 |
| eventJSON | string | 是 | LiveRoomEvent,roomId必须匹配订阅 | 无 | message / product / like等事件 |
| action | 行为与结果字段 |
|---|---|
| listRooms | 分页rooms、cursor、hasMore |
| getRoom / joinRoom / leaveRoom | room、user;join更新会话roomId |
| listMessages | 分页messages、cursor、hasMore |
| sendMessage | messages;同请求同文本幂等并产生message事件 |
| listProducts | products及skus |
| pinProduct | 仅主播;products并产生product事件 |
| createOrder | order;Mock只产生mock-intent |
| likeRoom | 本地点赞事件,不伪造服务端计数 |
| followHost | user.following,本地Mock关注 |
结果、事件与释放合同
完整强类型声明在 uni_modules/lizhao-live/utssdk/interface.uts。业务结果统一包含action、mock、rooms、room、user、messages、products、order、cursor、hasMore、message。金额priceFen/totalFen为整数分;事件/日志time和createdAt为Unix毫秒。
LiveMediaResult包含sessionId、requestId、operation、state、dataJSON。LiveEvent包含type(state/error)、state、errCode、message、dataJSON与关联ID。状态包括idle、preparing、ready、connecting、streaming、playing、stopping、stopped、error、released。原生dataJSON保留实际编码、连接或清理结果,不能只凭state文本替代诊断。
同步入口参数/会话错误抛LiveException;Promise接口reject LiveFailure,不使用success/fail/complete回调;每个Promise最多结算一次。持续监听用off/unsubscribe解除。destroy与release清除业务订阅和待处理请求;界面切后台应stop,页面退出destroy并off媒体监听。媒体事件日志默认600条、有估计字节上限并保留淘汰数量,不默认上传。
错误码说明
errSubject固定为lizhao-live;所有端使用相同含义,错误含errCode、errMsg、operation、sessionId、requestId、nativeType、nativeStack(采集不到时为空)。
| 错误码 | 含义 | 处理建议 |
|---|---|---|
| 9391001 | 参数无效 | 检查长度、整数、偶数尺寸及平台范围 |
| 9391002 | 会话不存在或已释放 | 新建会话,避免使用过期ID |
| 9391003 | 平台或协议不支持 | 能力检测后使用支持的协议/页面 |
| 9391004 | 未绑定画面 | 等待组件load并检查宿主视图路径 |
| 9391005 | 摄像头或麦克风权限未获准 | 按系统提示授权后由用户重新启动 |
| 9391006 | 设备、采集或编码器不可用 | 检查占用、规格和原生诊断 |
| 9391007 | 连接、鉴权或远端清理失败 | 检查服务/TLS/令牌及dataJSON.cleanupErrors |
| 9391008 | 超时,已请求停止或业务结果未知 | 查服务端,幂等重试;停止请求不代表远端已清理 |
| 9391009 | 播放失败 | 检查实际媒体流、跨域、编码及自动播放 |
| 9391010 | 业务接口或业务桥应答失败 | 检查完整DTO、HTTP响应和订阅提供者 |
| 9391011 | 操作被停止、释放或适配器替换取消 | 本地不会恢复旧会话;远端有副作用结果需查询 |
| 9391012 | 状态不允许或资源数量达到上限 | 停止当前操作,释放不用的会话/监听 |
| 9391013 | 聊天禁言或主播权限不足 | 由服务端判断用户权限 |
| 9391014 | 商品、规格或库存无效 | 刷新商品和库存后重新选择 |
| 9391015 | 保留:尚未接入真实订单支付 | 当前没有付款API,不把订单意图视为成交 |
| 9391016 | 原生回执合同无效 | 核对源码/页面/基座版本与完整诊断 |
WHIP POST已发送但未取得可删除资源Location时,停止只保证本地tracks/peer关闭,可能返回9391007并标记WHIP_CREATION_RESULT_UNKNOWN;迟到Location会尝试DELETE。需要服务端会话过期回收。取消、超时及网络失败不能推定订单未创建或远端发布已停止。
注意事项
平台、宿主与验证边界
| 端 | uni-app | uni-app x | 媒体路线与限制 |
|---|---|---|---|
| Android 7+ | App nvue + 内置lizhao-live-view组件 | 标准lizhao-live组件 / Vapor native-view | Camera2、MediaCodec H264/AAC、自研RTMP/RTMPS、系统HLS |
| iOS 13+ | App nvue + 内置lizhao-live-view组件 | 标准组件 | AVFoundation/VideoToolbox、自研RTMP/RTMPS、AVPlayer HLS;构建需iOS17.4+ SDK |
| Harmony API20+ | 普通页面原生embed | 标准组件native-view | 系统采集/AVCodec与自有小HAR;RTMP、HLS;暂不支持RTMPS |
| Web | Vue2 / Vue3页面 | 标准组件 | HTTPS或localhost采集,H264 WebRTC/WHIP,原生HLS或hls.js light |
| 微信小程序 | 标准组件 | 标准组件 | 平台直播组件;合格账号/真机必验,HLS video观看依实际能力 |
| 其他小程序 | 无媒体支持 | 无媒体支持 | 明确9391003,不宣称已适配 |
当前是候选源码:实际HX资源编译、独立原生协议/SDK验证及Chrome验证与完整双宿主设备验收分层记录。没有Apple SDK完整链接、iOS/Harmony/微信真机与完整App宿主媒体/剪贴板验收时,平台声明保留待验,不将源码存在当作已支持。开发验证索引保留在项目内部记录,发布前应补齐匹配基座与目标真机矩阵。
Android/iOS/Harmony使用系统框架,没有打包商业直播SDK;Harmony随源码包含可复现自有NAPI HAR及所需许可。Web固定hls.js light仅HLS播放时动态加载,许可证与来源在 uni_modules/lizhao-live/utssdk/web/vendor/。单文件、HAR、独立同壳APK增量与最终宿主包体口径不同,不能相互替代。
iOS建议480×640、720×1280、1080×1920或对应横向,15–30fps、视频200000–8000000bps、音频32000–128000bps;系统实际能力仍可能拒绝。iOS17.4+要求可用硬编,较低系统由系统选择,不能声称已实测硬编。Harmony当前固定竖向采集,旋转/切镜需停止重建连接。原生各端不能因创建16个业务会话就承诺16路摄像头并发。
权限、网络与隐私
Android Manifest、iOS Info.plist/隐私清单、Harmony module.json5 已随平台源码提供摄像头、麦克风、网络用途声明;实际系统提示由对应平台按需触发。只预览时不额外请求无关权限。相机/麦克风可能被其他应用占用。Web需安全上下文、用户手势和浏览器许可;HLS跨域需正确CORS,WHIP需允许POST/DELETE及暴露Location;跨域媒体分片应使用服务端签名URL。
应用发布仍需接入方在隐私说明中披露音视频发送目的和目标服务;服务地址、Token与业务数据由接入方管理,不内置密钥。日志脱敏URL查询、令牌、账号路径等,复制前仍应检查业务自定义文本。高频日志有条数/估计字节边界和淘汰计数。报告构建HX、包类型或硬件信息无法采集时明确unknown,不拿开发电脑版本冒充安装包构建版本。
生命周期、报告与基座
原生UTS、Swift/Kotlin/ETS、依赖、权限、资源或组件变化后,必须重新原生联编或制作匹配自定义基座;WGT/appResource不能更新旧基座中的原生代码。仅文档或普通页面调整通常无需重打原生基座。传统App先运行nvue示例,不使用Web DOM承载原生画面。
示例底部提供一键复制、更新固定报告、分段复制及失败时手动文本回退;报告含真实版本来源、源码标记、脱敏完整保留日志及首尾校验标记。每段仅在实际剪贴板回读一致后推进。Windows Web在生成快照时采用CRLF,其他平台按实际文本格式;不放宽回读校验伪造成功。跨端剪贴板与系统权限需各端真机验收。
管理后台、真实IM/在线人数、鉴权服务、媒体服务器、CDN、库存、支付/退款、风控与合规审核均由接入者自行提供。本插件不承诺零服务器费用或低延迟连麦。
作者系列 UTS 插件
| 插件 | 能力方向 | 插件市场 |
|---|---|---|
lizhao-alipay-kit |
支付宝授权登录、App 支付与脱敏诊断 | 查看插件 |
lizhao-app-keepalive |
应用保活、唤醒、自愈与报告 | 查看插件 |
lizhao-apple-iap |
苹果内购、交易恢复、订阅管理与服务端验签参考 | 查看插件 |
lizhao-apple-login |
苹果授权登录、凭证状态与撤销监听 | 查看插件 |
lizhao-bg-audio |
背景音频播放、队列、倍速与事件 | 查看插件 |
lizhao-ble |
BLE 扫描、连接、读写、通知与自动重连 | 查看插件 |
lizhao-call-kit |
电话、短信、通讯录原生能力 | 查看插件 |
lizhao-camera-pro |
原生相机、拍照录像、水印与媒体保存 | 查看插件 |
lizhao-cast-screen |
DLNA 投屏、AirPlay 路由入口 | 查看插件 |
lizhao-choose-file |
原生文件选择、上传、进度与取消 | 查看插件 |
lizhao-device-id |
设备标识、隐私策略与诊断 | 查看插件 |
lizhao-dingtalk |
钉钉授权登录、内容分享与回执诊断 | 查看插件 |
lizhao-doc-corrector |
文档扫描、矫正、增强与识别 | 查看插件 |
lizhao-douyin-kit |
抖音授权登录、内容分享与回执诊断 | 查看插件 |
lizhao-emu-detect |
模拟器环境检测、风险评分与证据 | 查看插件 |
lizhao-float-window |
悬浮窗、画中画、权限与诊断 | 查看插件 |
lizhao-gallery-pro |
相册媒体分页、筛选、缩略图与导出 | 查看插件 |
lizhao-google-login |
Google 授权登录、会话管理与脱敏诊断 | 查看插件 |
lizhao-hce-card |
NFC 虚拟卡、APDU 交互与 NDEF 标签模拟 | 查看插件 |
lizhao-health |
健康数据授权、查询、统计与写入 | 查看插件 |
lizhao-http-server |
本地 HTTP 服务、文件传输与实时通信 | 查看插件 |
lizhao-icon-pro |
SVG 图标组件、多主题与缓存 | 查看插件 |
lizhao-id-photo |
证件照制作、尺寸换算、换底色与模板换装 | 查看插件 |
lizhao-img-eraser |
图片去水印、局部修复与原生编辑器 | 查看插件 |
lizhao-live-activity |
实时活动、系统胶囊与普通通知降级 | 查看插件 |
lizhao-live-photo |
实况照片选取、展示预览与原件处理 | 查看插件 |
lizhao-map |
高德地图、定位、地点搜索、路线规划与导航 | 查看插件 |
lizhao-meta |
Facebook 登录分享、应用事件与深链 | 查看插件 |
lizhao-nfc-pro |
NFC 标签读写、NDEF、IsoDep 与诊断 | 查看插件 |
lizhao-notify-pro |
本地通知、点击动作、进度与定时提醒 | 查看插件 |
lizhao-novel-reader |
原生小说阅读、仿真翻页与段落评论 | 查看插件 |
lizhao-office-view |
Office 与 PDF 文件预览、进度与缓存管理 | 查看插件 |
lizhao-pdf-pro |
PDF 阅读、签批、真实写回与页面处理 | 查看插件 |
lizhao-play-billing |
Google Play 商品购买、订阅、恢复与确认消耗 | 查看插件 |
lizhao-qq-share |
QQ 授权码登录、QQ 与 QQ 空间分享 | 查看插件 |
lizhao-qrcode |
二维码生成、Logo 与样式配置、批量生成及导出 | 查看插件 |
lizhao-scan-pro |
原生扫码、连续扫码、相册识别 | 查看插件 |
lizhao-serial-port |
路径串口、USB 串口、多会话收发与诊断 | 查看插件 |
lizhao-share-plus |
系统分享、远程文件下载后分享 | 查看插件 |
lizhao-smart-tts |
系统 TTS、云端合成、听书方案 | 查看插件 |
lizhao-sqlite-pro |
原生 SQLite、迁移、备份与诊断 | 查看插件 |
lizhao-sse-pro |
SSE、Line、JSONL 与 Raw 流式请求 | 查看插件 |
lizhao-tcp-pro |
TCP 客户端、服务端、多连接与诊断 | 查看插件 |
lizhao-usb-storage |
U 盘、移动硬盘文件浏览、读写与批量复制 | 查看插件 |
lizhao-video-editor |
视频裁剪、压缩、取帧与 FFmpeg/FFprobe | 查看插件 |
lizhao-video-feed |
短视频上下滑、短剧选集与分页加载 | 查看插件 |
lizhao-video-player |
原生视频播放器、清晰度与播放交互 | 查看插件 |
lizhao-video-thumb |
视频封面、批量取帧与 Base64 返回 | 查看插件 |
lizhao-vpn-pro |
企业 VPN、IKEv2、安全接入与脱敏诊断 | 查看插件 |
lizhao-wechat-kit |
微信登录、分享、支付、小程序与客服 | 查看插件 |
lizhao-wecom |
企业微信授权登录、内容分享与脱敏诊断 | 查看插件 |
lizhao-xhs-share |
小红书图文视频分享与回执诊断 | 查看插件 |

收藏人数:
购买源码授权版(
试用
赞赏(0)
下载 6486
赞赏 5
下载 12755847
赞赏 1959
赞赏
京公网安备:11010802035340号