更新记录

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

  • 键为要加密的源文件,值为发布时对外显示的文件
  • 样例对应四种情况:
    • 文件夹 : 文件夹 //发布时对外显示的文件夹替换掉源文件夹
    • 文件 : 文件 //发布时对外显示的文件替换掉源文件
    • 文件夹 : "" //发布时该文件夹直接删除
    • 文件 : "" //发布时该文件直接删除

使用方式

  1. 根目录下的 uni_modules.config.json 复制到要发布的项目根目录中

  2. 配置根目录下的/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脚本执行结束

隐私、权限声明

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

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

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

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问