原生任意文件选择器 支持上传 UTS API 插件(支持 安卓、iOS、鸿蒙、Web、小程序) - 更新日志

1.6.2(2026-10-10)

  • 修复 Android 可靠上传队列网络桥在新 Android SDK 下出现的 NetworkInfo 和 CDMA、1xRTT、IDEN、EVDO、EHRPD 等历史蜂窝制式常量弃用告警;仅在必要的旧系统兼容函数内精确标注,保留 Android 5.x 兼容路径与原有网络类型映射。
  • 本次只调整 Kotlin 类型引用、编译标注和注释,不修改公开 API、示例调用、网络监听、权限或原生依赖;升级后需重新原生编译以刷新告警,仅本次修复无需重新制作 Android 自定义基座。

1.6.1(2026-10-09)

  • 修复 iOS enqueueUploadFiles 接收 uni-app 普通文件对象时由桥接层直接构造 PickedFile,以及持久化时把强类型记录下转为 UTSJSONObject 导致的 EXC_BREAKPOINT/SIGTRAP;入队文件改为逐字段恢复,持久化层只输出 JSON 白名单。
  • 修复 iOS 多选已在原生与 UTS 层取得文件,但 uni-app success 收到空数组的问题;多选入口改用动态回调 DTO,并在下一次主队列周期派发单层 Foundation 文件数组。
  • 修复 iOS uploadFile、uploadFiles、inspectFile、inspectFiles 返回对象缺少 abort() 的问题;公开控制器按 UTS iOS 跨语言规范改为 interface,并由 class 实例实现。
  • 修复 iOS 系统文件选择成功后 size 固定返回 0 的问题;在 security-scoped access 有效期内读取真实文件字节数,元数据读取失败仍保持选择成功并安全回退。
  • 保留 1.6.0 的公开调用、普通上传、分片续传、可信预检与队列恢复合同;本版本修改了 iOS UTS/Swift 原生实现,发布和真机验证前必须重新原生联编并制作匹配源码的 iOS 自定义基座或 IPA,仅更新 WGT / appResource 不足。

1.6.0(2026-09-30)

  • 新增可选 lizhao-resumable-v1 大文件分片协议:会话初始化、缺失分片并发上传、完成确认和服务端权威状态复核,支持中断后只补传缺失分片。
  • 新增 ResumableUploadConfig、ResumableUploadState 与状态回调;uploadFile、uploadFiles、选择后上传、业务 API 和可靠上传队列均可显式启用真正断点续传。
  • Android、iOS、Harmony 新增原生有界切片桥,分片写入插件私有临时目录并在成功、失败或取消后清理;Web 使用当前页面中的 Blob.slice(),微信和支付宝小程序会明确返回 9011030。
  • 修复 Android 10 读取非普通 content:// 文档流时调用系统隐藏 fcntlInt 导致进程崩溃的问题;改用有界 poll 等待并保留取消、句柄关闭与临时分片清理。
  • 修复 Android 示例初始化可靠队列时依赖自定义基座未包含的网络 extapi、导致 UniGetNetworkTypeKt 缺类白屏的问题;网络快照和变化监听改由系统 ConnectivityManager 提供,原示例调用保持不变。
  • 修复 Android 分片上传成功后把状态再次传给 uploadFile 时,JS -> UTS 桥反射 Array<number> 导致 kotlin.Number 缺类的问题;续传状态改为插件内白名单恢复,服务端已确认分片也按动态数字安全解析。
  • 修复 App 端上传任务控制器跨 JS / UTS 边界后 abort 方法丢失的问题;公开上传 API 统一返回由 class 实现的任务句柄,取消时可按约定以 9011010 收尾。
  • 可靠队列只持久化协议、会话 ID、文件摘要、分片参数和服务端已确认序号,不持久化上传 URL、请求头、Token、响应正文或临时分片路径;旧版队列 JSON 保持兼容。
  • <lizhao-choose-file /> 新增 resumable-enabled、会话地址、完成地址、分片大小和分片并发属性;uni-app 与 uni-app x 示例补齐服务端配置、手动续传状态和队列恢复入口,并统一为常用文件操作在上、上传能力在下的紧凑分组。
  • 不传 resumable 或 enabled: false 时继续执行 1.5.0 普通 multipart 上传、可信预检和可靠队列路径,原调用无需修改。
  • 本版本修改了 Android、iOS、Harmony 原生实现,发布与真机验证前需要重新原生联编并制作对应平台的新自定义基座、IPA 或 HAP;仅更新 WGT / appResource 不足。

1.5.0(2026-09-27)

  • 新增 inspectFile、inspectFiles 独立预检 API,支持按文件内容特征识别真实类型,并提供分块读取进度、SHA-256 计算与中止控制。
  • 新增可选 trust 策略,支持现有选择、上传、业务场景和可靠队列;warn 只报告检查结果,strict 在网络请求或队列落盘前拒绝不合格文件,不传 trust 时原调用行为不变。
  • 新增 allow、skip、reject 重复文件策略,支持同一批次判重及同一非空 businessKey 的队列任务判重;跳过项会作为明确的 skipped 终态保留在队列快照中。
  • 新增 Android、iOS、Harmony、Web 和微信小程序分块读取适配,并为 OOXML、OFD、APK 等 ZIP 容器提供有限的中央目录分型;支付宝小程序因当前宿主缺少可靠的区间读取 API,可信内容检查会明确返回 9011023,不会整文件读入内存或伪造成功。
  • 新增 <lizhao-choose-file /> 可信检查配置、状态展示及 inspect-progress、inspect、duplicate 事件;uni-app 与 uni-app x 示例新增六组可信文件预检场景。
  • 修复可靠上传队列在启动恢复时配置被覆盖、准备文件期间暂停失效、解析上传请求时遗漏网络限制,以及批量暂停、恢复和清理未统一提交队列元数据的问题。
  • 修复未启用 trust 时限流并发上传取消后缺少最终回调,以及业务自动上传未完整传递 JSON 解析、成功状态码、重试和并发配置的问题。
  • 修复组件选择完成时提前释放上传锁、旧任务回调覆盖新任务和重复触发取消事件的问题。
  • 优化严格类型策略:要求已识别类型时拒绝未分型的 unknown 容器,已知类型拒绝优先于全量摘要,检测进度按文件单调推进,100 表示检查流程完成。
  • 优化多端文件 I/O:Android、Harmony 沙盒复制改为后台或异步执行;Android 补齐预检读取取消和上传临时副本清理;iOS 使用可捕获错误的文件读写接口并保护文件大小参数的数值转换边界。
  • 优化队列持久化兼容性,保持与 1.4.2 旧任务数据兼容,不为历史文件伪造可信检查结论。
  • 本版本修改了 Android、iOS、Harmony 原生实现,发布时需要重新原生联编;使用自定义基座调试时,需要重新制作并安装对应平台的自定义基座。

1.4.2(2026-09-21)

  • 修复 iOS 选择文件后进入多文件上传、处理可选参数或返回上传回调时可能闪退的问题;无需修改调用代码。
  • 修复 iOS 上传发生网络错误、取消或返回失败状态码时可能闪退的问题,并保留可靠队列对登录失效的识别;无需修改调用代码。
  • 修复 iOS 上传时文件地址解码错误,避免带特殊字符或百分号的文件名被改成无效路径;无需修改上传接口或调用代码。
  • 修复 iOS 已选文件真实可读但上传仍提示 Illegal file 的问题;单文件、批量上传、重试、取消和进度回调无需修改调用代码。
  • 优化 iOS 的 uni-app 多文件选择回调,返回普通文件对象数组;uni-app x 的原生文件返回类型保持不变。
  • 本版本修改了 iOS 原生桥接,发布时需要重新提交 iOS 云打包;使用自定义基座调试时,需要重新制作并安装 iOS 自定义基座。

1.4.1(2026-09-20)

  • 修复 iOS 云打包时文件大小上限从 UTS NSNumber 传入原生 Swift Double 导致的编译失败;升级后无需修改项目配置或调用代码。
  • 本版本修改了 iOS 原生桥接,发布时需要重新提交 iOS 云打包;使用自定义基座调试时,需要重新制作并安装 iOS 自定义基座。

1.4.0(2026-09-20)

  • 新增 pickFileToSandbox:在 Android、iOS、Harmony 系统选择器授权有效期内,把单个系统文件完整复制到应用沙盒并返回普通本地路径。
  • 新增 saveSandboxFile:把应用沙盒普通文件写入用户通过系统保存选择器指定的位置,适合数据库备份、离线资源和归档文件导出。
  • 新增与 lizhao-sqlite-pro 联动的 uni-app、uni-app x 示例和说明,覆盖“备份并另存为”及“选择备份并恢复”;原有选择、上传和可靠队列调用保持不变。
  • 升级后需要重新制作并安装 Android、iOS、Harmony 对应平台的自定义基座或重新打包;Web 和小程序不支持系统文件与应用沙盒双向复制,并会明确返回不支持。

1.3.1(2026-09-06)

  • 修复 uni-app x Android 示例的选择文件回调与可空参数类型导致的 UTS 编译错误。

1.3.0(2026-08-24)

  • 修复 HarmonyOS 队列鉴权状态码转换、嵌套响应读取和网络状态监听器的 ArkTS 严格类型编译错误。
  • 新增无需改造普通 multipart/form-data 服务端的可靠上传队列:文件入队、任务持久化、暂停、继续、取消、失败项重试、完成任务清理和队列快照监听。
  • 新增断网等待与当前会话联网恢复、wifiOnly、全局并发、任务有效期、完成任务保留期和持久化容量上限策略。
  • Android、iOS、Harmony 会先把待上传文件复制到插件专属持久目录;重启恢复后跳过已成功文件,未完成的当前文件从头重传。
  • Web 恢复任务元数据但普通文件引用在页面重载后会明确标记 file-missing;微信、支付宝小程序按平台持久文件配额尽力恢复,不伪造成功。
  • 上传地址、请求头和表单参数改由 resolveRequest 在每次真正上传前动态提供;队列元数据与公开快照不保存凭据、签名 URL、响应头或插件私有绝对路径。
  • <lizhao-choose-file /> 新增显式 mode="queue",uni-app 与 uni-app x 示例补齐入队、恢复、暂停、继续和失败重试入口;既有 1.2.x 选择与普通上传 API 保持原行为。

1.2.12(2026-06-24)

  • 对齐 uni-app x 示例页与 uni-app 示例页的 lizhao-choose-file 业务封装测试界面,补齐上传配置、业务 API、组件式业务卡片、图片选择入口、文件选择结果和测试日志等演示能力。
  • 修复 uni-app x 示例页“业务资料上传”区域只显示说明占位、业务卡片未展示的问题,补齐“组件:选择文档并上传”、文件数量、状态、进度、空态、文件列表和删除入口。
  • 对齐内置业务组件的状态显示规则:未选择文件时仅展示空态提示,不提前显示上传进度和文件列表图标;选择文件并进入上传/完成状态后再展示整体进度、百分比、文件图标和文件信息。
  • 本版本只调整示例页 UI、状态联动和发布日志,不修改插件公共 API、UTS 原生实现或 uni-app 已验证示例。

1.2.10(2026-06-17)

  • 复修 iOS 云打包 unable to type-check this expression in reasonable time:launchIosPicker 主线程闭包拆为 runLaunchIosPicker(),减少 Swift 对大闭包表达式的类型推断压力。
  • 新增 picker mode、mode 文案、布尔字符串和日志拼接 helper,避免三元表达式与 UIDocumentPickerViewController 构造器组合在同一推断链路中。
  • 保留 1.2.9 的上传响应文本、成功状态码数组和多文件统计字段 SwiftCompile 兼容修复。
  • 本版本仅修改 utssdk/app-ios 平台实现和发布资料,不修改公共接口、Android、Harmony、Web、小程序或 uni-app 示例。

1.2.9(2026-06-16)

  • 修复 iOS 云打包 SwiftCompile:UploadSuccessItem.data 等上传响应文本统一通过 helper 收敛为非空字符串,避免 String? 直接赋值。
  • 修复成功状态码数组处理:appendSuccessStatusCode 返回新数组,避免 Swift 生成物对不可变数组执行追加。
  • 修复多文件上传批量统计:成功数量、失败数量和 failResults 长度统一转为 NSNumber 兼容值,避免 Int -> NSNumber 参数不匹配。
  • 保留 parsedData / successStatusCodes / failResults / sequential: false 等 1.2.8 上传增强能力,本轮只做 iOS 云打包兼容收口。
  • 增强 iOS 云打包回归守卫;本版本需重新提交 iOS 云打包验证。

1.2.8(2026-06-15)

  • 新增上传结果增强:UploadSuccessItem 增加 parsedData,可通过 parseJson 将服务器响应 JSON 解析到结构化字段,同时保留 data 原始字符串。
  • 新增上传成功状态码配置:successStatusCodes 支持业务自定义 HTTP 成功状态码;不传或传空数组时默认仍按 200-299 判断成功。
  • 新增多文件失败明细:UploadFilesResult 增加 failResults,在 stopOnFail: false 或部分失败场景下返回失败文件、下标和错误对象。
  • 优化多文件上传模式:sequential: false 现在会真实并发上传多个文件,进度回调中的 index 仍对应原始文件下标。
  • 同步内置 <lizhao-choose-file /> 组件:新增 parse-json 和 success-status-codes 属性,可在组件上传模式中直接使用响应解析与成功码配置。
  • 补充示例与文档:插件示例和项目演示页新增串行/并发、响应 JSON 解析、成功码和部分失败测试入口,README 顶部新增 1.2.8 上传增强说明。
  • 发布前验证:Android / Harmony / iOS appResource 均已编译并导出成功,相关 LSP 与 choose-file 回归守卫通过。

1.2.7(2026-06-12)

  • 发布前版本升级:同步 package.json 与 uni_modules.json 到 1.2.7,更新插件市场描述。
  • 修复 Harmony 真机内置业务组件“选择文档并上传”链路:组件 fallback 通过普通文件对象数组和 filesPayloadJson 兜底传参,Harmony 使用 @ohos.net.http multipart 直传,真机返回 statusCode=200 / successCount=1。
  • 延续 iOS 多文件/组件上传桥接和云打包 SwiftCompile 兼容修复,避免 UploadFilesOptions/PickedFile 强转、NSNumber 定时器参数和文件数组变异问题。

1.2.6(2026-06-11)

  • 新增业务场景预设 API:pickBusinessFiles、pickAndUploadBusinessFiles,支持 attachment / avatar / image / document / office / media / archive / custom 等常见业务场景。
  • 新增 ChooseFileFlowState 流程状态聚合,统一返回已选文件数量、当前上传序号、上传总数、当前文件进度、整体进度、成功数量和失败数量。
  • 新增可选 <lizhao-choose-file /> 组件,可通过 show-progress / show-file-count / show-selected-list / show-cancel 控制进度条、文件数量、文件列表和取消按钮显示。
  • 组件新增 ui-mode 三种接入形态:business 内置业务上传 UI、simple 轻量按钮列表、headless 无内置 UI 供业务完全自定义。
  • 内置业务 UI 增加文件类型视觉、文件图标、文件名、文件大小、整体进度、当前文件进度和文件状态展示。
  • 内置业务 UI 新增文件删除入口与 remove 事件,并支持 title / description / empty-text / empty-hint / show-remove / confirm-remove / remove-text 等业务文案配置。
  • 组件新增 file-type / extensions / mime-types / filename / sequential / busy-cooldown 常用配置;accept 优先级最高,扩展名与 MIME 次之,最后使用场景预设。
  • 组件和主示例页增加 picker busy 保护:系统选择器尚未完全关闭时会短暂锁定按钮,避免连点触发 9011007 system error。
  • 本次只新增业务封装层与可选 UI 组件,不重写 Android / iOS / Harmony / Web / 小程序底层选择器、路径转换和上传链路。

1.2.5(2026-06-06)

  • iOS 云打包修复:上传开始日志中的 file.name 和 file.source 统一先通过 toText() 收敛为非空字符串,再参与中文日志拼接,避免云端生成 Swift 报 value of optional type 'String?' must be unwrapped to a value of type 'String'。
  • 本次只调整日志字段收敛,不改变文件选择、路径转换、上传请求参数、上传回调和错误码语义。

1.2.4(2026-06-06)

  • 优化发布版运行日志:上传开始日志不再输出完整上传 URL 和本地 filePath,改为输出字段名、文件名和来源平台,避免客户控制台泄露接口地址或沙箱路径。
  • 精简 Android / Harmony 路径转换日志:保留中文阶段结果,隐藏临时路径、picker URI 和异常对象细节,不影响错误码与回调返回。
  • 精简文件选择失败详情日志:保留 errCode / errMsg,不再展开文件对象详情,避免把本地路径或临时 URL 写入日志。

1.2.2(2026-06-04)

  • 优化 Web / H5 上传测试默认配置:公开测试接口默认不再携带 X-Demo、X-Upload-Scene 等自定义请求头,避免浏览器 CORS 预检因 Request header field x-demo is not allowed 拦截上传。
  • DCloud / httpbin 预设按钮会自动清空请求头,保留手动编辑请求头能力,便于业务接口自行验证 header。
  • 插件示例默认关闭自定义 header,关闭时显式传 header: null,提升本地 Web smoke test 成功率。
  • 用户已在本地 Web 端验证上传成功;本版本用于发布该修复。

1.2.1(2026-06-04)

  • 修复 Harmony 真机选择系统相册/文档后自动上传失败:file://media/Photo/...、file://docs... 等系统选择器 URI 不再按普通路径直接复制。
  • Harmony 上传前改为通过 fs.openSync(uri, fs.OpenMode.READ_ONLY) 打开 picker/media URI,再使用 sourceFile.fd 复制到应用临时目录后上传。
  • 修复 Harmony ArkTS 严格编译报错:sourceFile 显式声明为 fs.File | null,避免生成物把句柄视为 Object 后在 .fd 和 closeSync() 处失败。
  • 用户已在 Harmony USB 真机运行包中验证上传成功;本版本用于发布该修复。

1.2.0(2026-05-26)

  • 新增通用 HTTP multipart/form-data 上传能力:uploadFile、uploadFiles、pickAndUploadFile、pickAndUploadFiles。
  • pickFile / pickFiles 保持原有选择返回结构不变,新增可选 upload 配置用于选择成功后自动上传。
  • 新增上传结果类型 UploadSuccessItem / UploadFilesResult 与上传进度结构,服务器响应原样返回到 data 字段。
  • 新增上传错误码 9011008~9011011,覆盖参数错误、上传失败、取消上传与路径转换失败。
  • Android 上传前会将 content:// 文件复制到应用缓存目录,iOS 上传前会归一化 file:// 路径。
  • 上传入口补充 @UTSJS.keepAlive,修复 progress 多次回调时提示“回调函数已释放,不能再次执行”的问题。
  • 更新示例、README 与静态检查脚本,补齐手动上传和自动上传用法。

1.1.18(2026-05-15)

  • 修复 Web / H5 页面加载阶段报错:unierror.uts 不再在浏览器打包路径直接暴露 extends UniError,避免 ReferenceError: UniError is not defined。
  • 新增 createChooseFileFail 平台安全错误工厂:Web 返回可序列化普通错误对象,App / 小程序继续保留 UniError 错误模型。
  • 同步调整公共文件选择失败链路与 Harmony 占位失败链路,统一通过错误工厂返回 errSubject / errCode / errMsg / data / details 字段。
  • 新增 scripts/check-choose-file-web-unierror.js 回归检查,防止后续发布重新把 Web 路径接回不安全的 UniError 实现。
  • 修复 Web / H5 accept: '*' 单文件选择失败:不再向 uni.chooseFile 传入空 extension 数组,避免 chooseFile:fail param extension should not be empty。
  • 修复 Web / H5 文件对象字段归一化为空导致的 9011005 invalid file type:恢复从 UTSJSONObject 读取 name / size / type / path / url / ext 字段。
  • 调整演示页单文件选择入口:accept: '*' 场景下使用 maxSize: 0,避免发布验收选择大文件时被 demo 的 10MB 限制误拦截为 9011006 file size exceeded。
  • 调整演示页取消选择表现:9011002 user cancelled 作为正常取消状态处理,不再通过 console.error 在浏览器控制台标红。
  • 新增 scripts/check-choose-file-web-normalize.js 回归检查,覆盖 Web 文件字段读取与 accept: '*' 降级逻辑。
  • 版本号升级到 1.1.18,用于发布本次 Web/H5 运行时修复。

1.1.17(2026-05-15)

  • 修复 Web / H5 页面加载阶段报错:unierror.uts 不再在浏览器打包路径直接暴露 extends UniError,避免 ReferenceError: UniError is not defined。
  • 新增 createChooseFileFail 平台安全错误工厂:Web 返回可序列化普通错误对象,App / 小程序继续保留 UniError 错误模型。
  • 同步调整公共文件选择失败链路与 Harmony 占位失败链路,统一通过错误工厂返回 errSubject / errCode / errMsg / data / details 字段。
  • 新增 scripts/check-choose-file-web-unierror.js 回归检查,防止后续发布重新把 Web 路径接回不安全的 UniError 实现。
  • 版本号升级到 1.1.17,用于发布本次 Web/H5 运行时修复。

1.1.15(2026-04-18)

  • 优化 iOS 文件类型前置过滤:accept 到 UTI 的映射由“单值”升级为“多值集合”策略,补充 zip/rar 的兼容 UTI(如 com.pkware.zip-archive、public.archive),提升系统文件选择器命中率。
  • 优化 iOS accept 解析去重逻辑:新增 appendUti 统一去重追加,避免重复 UTI 造成的过滤冗余。
  • 修复 UTS 编译兼容细节:多处数组累加变量由 const 调整为 let,降低跨端桥接和编译阶段的可变集合处理风险。

1.1.14(2026-04-14)

  • 修复 iOS 云打包编译失败:移除 toPickFilesOptions 中对 Any 的动态属性访问写法(obj.accept / obj.multiple / obj.maxCount / obj.maxSize / obj.filename / obj.success / obj.fail / obj.complete),避免 Swift 侧出现 value of type 'Any' has no member ... 编译错误。
  • 修复 iOS 云打包编译失败:单文件包装链路中对 files[0] 显式收敛为 PickedFile,修复 cannot convert value of type 'Any?' to expected argument type 'PickedFile?'。
  • 调整 pickFiles 桥接类型兼容策略:对外参数维持桥接可用性(PickFiles 放宽为 any),并统一多端单文件包装中的 files 回调形参为 Array<any>,降低 byJs 代理层类型不一致导致的崩溃风险。

1.1.3(2026-04-10)

  • 修复 iOS 原生文件选择器主线程调用问题:pickFile/pickFiles 统一通过主线程调度拉起 UIDocumentPickerViewController,避免 Call must be made on main thread 异常。
  • 修复 iOS 单文件选择稳定性问题:调整单文件桥接回调与参数归一化路径,避免运行时强制类型转换导致的闪退。
  • 修复 iOS 多文件选择稳定性问题:优化 didPickDocumentsAt 回调处理,直接构建 PickedFile[] 返回,降低多文件场景崩溃风险。
  • 修复 iOS 编译兼容问题:将控制器遍历与展示逻辑改为强类型 UIViewController,避免 Any 无成员导致的云打包编译失败。

1.1.2(2026-04-07)

  • 补齐 iOS 平台原生文件选择能力:pickFiles/pickFile 改为 UIDocumentPickerViewController 实现,并接入统一结果归一化、类型/体积/数量校验与错误码映射链路。
  • 补齐 Harmony 平台原生文件选择能力:pickFiles/pickFile 改为 @ohos.file.picker 实现,并接入统一结果归一化、类型/体积/数量校验与错误码映射链路。
  • 移除 iOS/Harmony 的占位实现路径,不再固定返回 9011001 platform unsupported。

1.1.1(2026-04-03)

  • 修复 UTS 编译兼容问题:消除动态字段点访问导致的 error18(改为安全对象字段读取)。
  • 修复 Android 端类型检查问题:ClipData 下标改为 Int,避免 error17 参数类型不匹配。
  • 修复单文件 complete 回调参数兼容问题,避免 PickedFile? 传递时报 error17。
  • 新增 Android 端 accept 前置过滤:根据 accept 生成 MIME 过滤并设置到系统文件选择器(含多类型 EXTRA_MIME_TYPES)。
  • 保留选择后兜底校验,确保返回结果仍严格符合 accept / maxSize / maxCount 约束。

1.1.0(2026-04-02)

  • 重构为纯 UTS API 插件:移除 index.js、common/**、components/** 等 JS/Vue 入口。
  • 新增标准 UTS 结构:补齐 utssdk/interface.uts、utssdk/unierror.uts、utssdk/app-harmony、utssdk/web、utssdk/mp-weixin、utssdk/mp-alipay。
  • 统一错误码体系(9011001~9011007)与 IUniError 返回结构,errSubject 固定为 lizhao-choose-file。
  • 统一 API 风格为 pickFiles(options) / pickFile(options) 回调调用,支持 uni-app 与 uni-app x。
  • 文档升级为标准参数表格与平台支持表格,补全权限说明、自定义基座说明、错误码说明与双端示例。

1.0.3(2026-03-18)

  • 修复 Android 端部分文件 type 为空导致 image/* 误判 INVALID_TYPE 的问题(增加扩展名 MIME 兜底匹配)。
  • 优化 Android 原生返回文件名提取逻辑,避免出现 raw:/... 全路径作为 name。
  • 新增数量限制错误码 COUNT_EXCEEDED,多选超过 maxCount 时直接报错,不再静默截断。
  • 增强 accept 到平台过滤参数的映射(MIME/通配符 -> 扩展名),提升多端前置过滤效果。
  • 调整示例页 API 的 accept 为 image/*,便于直接验证类型过滤能力。
  • 新增 filename 选项,支持统一重命名返回结果中的文件名(多选自动追加序号)。
  • 调整发布配置:统一为 component-vue,并补充 uni-app x 平台支持声明。
  • 补齐 utssdk/index.uts 规则:增加 accept/maxCount/maxSize/filename 校验与标准错误码映射,提升 uni-app x 实际可用性。
  • 增强 UTS 元数据映射:补充 type/lastModified 兜底与平台 source 标识(uts-android/uts-ios/uts-harmony)。
  • 增强 UTS 选择器前置过滤:accept 自动映射为 extension 参数,减少不符合类型文件被选中。
  • 新增 UTS 单选快捷入口 pickFileNative,并导出 FILE_PICKER_ERROR_CODES_NATIVE 供业务侧复用。
  • 新增 UTS 平台后处理钩子(Android/iOS/Harmony),按平台补齐 name/type/lastModified 并统一兜底。