更新记录

1.0.92(2026-07-25) 下载此版本

更新文档使用说明

1.0.91(2026-07-25) 下载此版本

更新文档使用说明

1.0.9(2026-07-25) 下载此版本

支持单个,多个appid形式的发布,支持ai批量调用。

查看更多

平台兼容性

uni-app(3.8.0)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
× × × × × × ×
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
× × × × × × × × × × ×

其他

多语言 暗黑模式 宽屏模式

liul-miniprogram-ci

解决问题:一套项目代码,一键发布多个小程序平台使用

准备工作

密钥及 IP 白名单配置

访问"微信公众平台-开发-开发设置"后下载密钥文件,并配置 IP白名单 或者关掉 IP白名单(验证也能使用)

根目录下创建privateKey文件夹

privateKey.json文件里面的数据结构

{
  "appIds": [
    {
      "name": "******",
      "appid": "******"
    }
  ],
  "version": "1.0.0",
  "desc": "备注"
}

version和desc优先使用子项的,不填写使用最外层的,完整的json结构

{
  "appIds": [
    {
      // *小程序名称
      "name": "******",
      // *小程序appid
      "appid": "******",
      // 版本号(非必填)
      "version": "1.0.0",
      // 项目备注(非必填)
      "desc": "备注测试勿用子项1"
    },
    {
      "name": "******",
      "appid": "******"
    }
  ],
  // *版本号
  "version": "1.0.0",
  // 项目备注
  "desc": "备注测试勿用",
  // 构建模式 HBuilderX cli (非必填)
  "buildModel": "HBuilderX",
  // 打包环境 build dev (非必填)
  "env": "build",
  // 是否倒序执行数组 t f (非必填)
  "isReverse": "f"
}

工具需要安装 miniprogram-ci库

npm install miniprogram-ci -D

使用命令前需要先用HBuilder发行下微信小程序生成unpackage\dist\build\mp-weixin要上传的打包文件,如果是cli创建的项目执行打包命令 env:'build'对应的是这个文件夹目录\dist\build\mp-weixin

最后执行命令

node uni_modules/liul-miniprogram-ci/components/liul-miniprogram-ci/mini-program-upload.js 或者在 package.json 写入执行命令,通过npm run upload执行

{
  "scripts": {
    "upload": "node uni_modules/liul-miniprogram-ci/components/liul-miniprogram-ci/mini-program-upload.js"
  }
}

按 AppID 上传

未传 AppID 时会按 privateKey.json 中的配置上传全部小程序;传入 AppID 后仅上传指定小程序。命令行参数优先于环境变量。

# 上传单个小程序
npm run upload -- YOUR_APP_ID

# 上传多个小程序,使用空格分隔
npm run upload -- YOUR_APP_ID_1 YOUR_APP_ID_2

# 上传多个小程序,使用逗号分隔
npm run upload -- YOUR_APP_ID_1,YOUR_APP_ID_2

也可以通过 UPLOAD_APP_IDS 环境变量指定上传目标:

UPLOAD_APP_IDS=YOUR_APP_ID_1,YOUR_APP_ID_2 npm run upload

PowerShell 示例:

$env:UPLOAD_APP_IDS='YOUR_APP_ID_1,YOUR_APP_ID_2'
npm run upload

upload-status.json文件说明,需要在.gitignore过滤下,避免上传到git仓库

上传状态会在项目根目录下生成upload-status.json文件,上传完成后会清理掉。(主要防止上传突发情况中断后不用再从数组第一项重新上传)

隐私、权限声明

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

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

插件不采集任何数据

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

许可协议

MIT协议