更新记录

0.1.0(2026-10-03) 下载此版本

  • 首次发布:ZIP 打包/列表/读取/全量解压 + gzip 压缩解压
  • 全内存操作,纯 C++ 实现(miniz + kuba--/zip),无第三方依赖
  • 支持 uni-app x App-Android / App-iOS / App-Harmony / Web / 微信小程序 / 支付宝小程序(HBuilderX 5.31+ 蒸汽模式)

平台兼容性

uni-app x(5.31)

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

其他

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

tui-zip-uasm

uni-app x 的压缩解压插件(UASM 原生插件)。ZIP 打包/解压 + gzip 压缩解压,纯内存操作,纯 C++ 实现(miniz + kuba--/zip),无第三方依赖,原生执行性能。

支持平台

uni-app x App-Android uni-app x App-iOS uni-app x App-Harmony uni-app x Web 微信小程序 支付宝小程序
√ √ √ √ √ √

要求 HBuilderX 5.31+(蒸汽模式)。

API

zipCreate(names, contents)

从内存数据打包 ZIP。

import { zipCreate } from '@/uni_modules/tui-zip-uasm'

const zipBytes = await zipCreate(
    ['a.txt', 'dir/b.json'],
    [new Uint8Array(1, 2, 3), new TextEncoder().encode('{"ok":true}')]
)

zipList(zipBytes)

列出 ZIP 内条目名(不含目录条目)。

const names = await zipList(zipBytes)

zipReadEntry(zipBytes, name)

读取 ZIP 内指定条目内容。

const data = await zipReadEntry(zipBytes, 'a.txt')

zipExtractAll(zipBytes)

解压全部条目,返回 names(条目名)与 datas(一一对应的内容)。

const { names, datas } = await zipExtractAll(zipBytes)

gzipCompress(data, level?) / gzipDecompress(data)

gzip 压缩/解压,level 可选(默认压缩级别)。

const gz = await gzipCompress(new TextEncoder().encode('hello'))
const raw = await gzipDecompress(gz)

限制说明

  • 全内存操作,超大文件注意内存占用
  • 插件不做文件 IO:文件读写由调用方用 uni API 完成(读入/写出 Uint8Array)

隐私、权限声明

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

无

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

插件不采集任何数据

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

无

许可协议

MIT协议

暂无用户评论。