以安全存储模块确定接口

先查看 ak-secure-storage 的 UTS 接口和各平台实现。它提供 availabilitysetgetremoveclearNamespace,调用方使用稳定结果处理成功或失败,无需处理 Keychain、Keystore 的原生对象。

准备自己的模块时,同样先定义输入、返回值和失败类型。存储缺失与底层读写失败要分开,设备不支持时应返回明确结果;把安全凭据悄悄写进普通存储会改变原有安全条件。范围以一个可独立调用的能力为宜,账户页面和项目业务逻辑可以继续留在应用中。

对照包内路径和依赖

插件目录核对版本、最低工具版本、平台限制与依赖,再下载 ZIP。解压包保留仓库目录,实际模块位于 apps/ak-mobile/uni_modules/<模块名>;不能把最外层归档目录直接当作模块复制。

推送包还包含 ak-permissions。目标项目已有同名文件时,先比较差异,保留业务补丁。记录公开提交和采用版本,之后才能判断升级要替换哪些文件。

官方私有仓库用已有脚本生成这四个目录包:

bash -n scripts/official/package-plugins.sh
scripts/official/package-plugins.sh

脚本从固定公开提交归档,输出到 apps/ak-web/public/plugins,同时保留许可与声明依赖。它只用于官方目录打包,本地修改模块源码不会自动改变固定提交中的内容,也不负责发布任意第三方包。普通采用者无需运行这个私有仓库脚本。

写一个能重复运行的示例

存储示例至少执行保存、读取、删除及删除后读取,并检查不存在与失败的区别。示例应使用临时测试值,不包含真实密码或 Token。反复执行时,还要确认上一次留下的状态不会让本次结果看似成功。

其他模块按自身行为补充失败路径:推送权限被拒绝后界面仍可操作;OAuth 取消后停止加载;验证码过期后清空答案并获取新挑战。依赖厂商服务时,文档注明账号与配置步骤,凭据保留在受控环境。

缺少真实渠道或设备时,把示例已测的部分与未测的部分写开。模拟授权返回值能够检查页面分支,无法证明厂商回调、签名或域名关联正确。

兼容说明记录到设备和工具版本

项目记录方式
构建工具HBuilderX、编译器版本和实际命令
平台结果Android、iOS、HarmonyOS 分开列出
运行环境系统版本、签名方式、模拟器或物理设备
正常行为输入、可观察结果、重复调用后的状态
失败行为拒绝、取消、过期、离线或资源缺失
数据处理凭据保存位置、日志脱敏和退出清理

可以标注“编译通过”“模拟器已测”“真机已测”或“未验证”,并附对应环境。单台设备成功后,其他目标平台仍需要独立检查。安全存储还应确认系统解锁条件、值大小及删除行为。

发布和接手

交付包应包含源码、许可、依赖、README、示例和变更记录。接口变动要说明旧调用方如何迁移;新增系统权限要说明何时申请、拒绝后怎样继续;停止支持的平台要直接列在版本说明中。

在干净的示例项目里按 README 接入一次,再让不熟悉实现的开发者照着操作。对方缺少的目录、配置或命令就是需要补充的文档内容。然后可在自己的仓库发布可追踪版本,通过公开项目的贡献流程讨论通用改进。

源码参照:uni_modules安全存储 README。这些移动端模块按应用构建流程使用;后端运行时插件有单独的接口和部署规则,不能用这份 ZIP 接入流程替代。