更新记录
0.0.3(2024-05-07) 下载此版本
完善说明文件
0.0.2(2024-05-05) 下载此版本
删除冗余代码
0.0.1(2024-05-05) 下载此版本
基本完成
查看更多平台兼容性
阿里云 | 腾讯云 | 支付宝云 |
---|---|---|
√ | √ | × |
Vue2 | Vue3 |
---|---|
√ | √ |
App | 快应用 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 |
---|---|---|---|---|---|---|
HBuilderX 3.91 app-vue | × | √ | × | × | × | × |
钉钉小程序 | 快手小程序 | 飞书小程序 | 京东小程序 |
---|---|---|---|
× | × | × | × |
H5-Safari | Android Browser | 微信浏览器(Android) | QQ浏览器(Android) | Chrome | IE | Edge | Firefox | PC-Safari |
---|---|---|---|---|---|---|---|---|
× | × | × | × | √ | × | × | × | × |
云函数类插件通用教程
使用云函数类插件的前提是:使用HBuilderX 2.9+
本插件是一个uni_modules钩子脚本,仅限uni_modules插件使用
为什么使用 pnz-uni-modules-tools
在实际开发中很多插件需要配置文件才可以正常运行,比如uni-id、uni-pay等; 有些配置内容属于密钥,在发表到插件市场的时候我们通常不希望这些配置被暴露。 传统的方式你需要手动备份密钥内容,上传结束后再将配置填回。这样插件作者发表插件会比较不便。
官方有一个现成的钩子插件 uni_modules_tools, 但是这个插件只处理json配置文件中的字段, 我的需求是想把退款证书在发布时要替换成一个假的证书做样例, 所以仿照这个钩子做了这个以文件为单位的钩子.
样例中的 config.js
- 键为要加密的源文件,值为发布时对外显示的文件
- 样例对应四种情况:
- 文件夹 : 文件夹 //发布时对外显示的文件夹替换掉源文件夹
- 文件 : 文件 //发布时对外显示的文件替换掉源文件
- 文件夹 : "" //发布时该文件夹直接删除
- 文件 : "" //发布时该文件直接删除
使用方式
-
根目录下的 uni_modules.config.json 复制到要发布的项目根目录中
-
配置根目录下的
/uni_modules_tools/config.js
文件,如下:
module.exports = {
"/uni_modules/uni-config-center/uniCloud/cloudfunctions/common/uni-config-center/uni-id/config.json":"stub/config.json",//要替换的文件
"/uni_modules/uni-config-center/uniCloud/cloudfunctions/common/uni-config-center/uni-pay/wxpay":"stub/wxpay",//要替换的文件夹
"/uni_modules/uni-config-center/uniCloud/cloudfunctions/common/uni-config-center/only-test/test_dir":"",//要删除的文件夹
"/uni_modules/uni-config-center/uniCloud/cloudfunctions/common/uni-config-center/only-test/test.js":"",//要删除的文件
};
测试方式
- 在项目根目录直接执行
node uni_modules_tools/main.js change
即可测试修改相关配置的效果 - 在项目根目录直接执行
node uni_modules_tools/main.js recovery
即可测试恢复相关配置的效果
如果在发布时控制台出现以下日志,说明钩子被执行了
[uni_modules] 10:56:29.150 [pnz-modules-tools] 开始执行preupload脚本
[uni_modules] 10:56:29.151 [pnz-modules-tools] > node uni_modules_tools/main.js change
[uni_modules] 10:56:29.277 [pnz-modules-tools] preupload脚本执行结束
......
[uni_modules] 10:56:32.795 [pnz-modules-tools] 开始执行postupload脚本
[uni_modules] 10:56:32.796 [pnz-modules-tools] > node uni_modules_tools/main.js recovery
[uni_modules] 10:56:33.005 [pnz-modules-tools] postupload脚本执行结束