taro小程序马甲包插件

发布于:2024-12-06 ⋅ 阅读:(42) ⋅ 点赞:(0)

插件名

@maloulab/taro-plugins-socksuppet-ci

@maloulab/taro-plugins-socksuppet-ci

安装

yarn add @maloulab/taro-plugins-socksuppet-ci
or
npm i @maloulab/taro-plugins-socksuppet-ci

插件描述

taro官方是提供了小程序集成插件的@tarojs/plugin-mini-ci ,且支持配置。

例如

const CIPluginOpt = {
	weapp: {
	    appid: '微信小程序appid',
	    privateKeyPath: '密钥文件相对项目根目录的相对路径,例如 key/private.appid.key',
	  },
}

当你需要同时发布多个微信小程序时(马甲包),就需要修改这里,重新构建发布。

解决

所以为了解决该问题,在该插件基础上,增加了马甲包功能,只需要在原先的配置基础上,将weapp对象改为数组即可,(ps: 配置对象也可,只会构建一次)。

weapp: [{
   appid: '微信小程序appid',
   privateKeyPath: '密钥文件相对项目根目录的相对路径,例如 key/private.appid.key',
 }],
plugins: [['@tarojs/plugin-mini-ci', CIPluginFn]],
配置修改为
plugins: [['@tarojs/plugin-mini-ci', { CIPluginFn }]],

使用

plugins: [ ["@tarojs/plugin-mini-ci", CIPluginFn]],

修改为

plugins: [ ["@maloulab/taro-plugins-socksuppet-ci", {
  CIPluginFn,
  // 非必传
  configMap: {

  },
  // 非必传
  // 自定义打包命令 默认自动获取(taro + 命令 + 参数)例:taro upload --type weapp
  command: ''
}]],

CIPluginFn

官方插件配置 @tarojs/plugin-mini-ci

配置示例:

由于插件会修改 json 配置中的 appid,以达到构建的目的
需要加入 appid 参数

appid: 必填
appName: 非必填(打包显示)

const CIPluginOpt = {
  weapp: [
    {
      // 必填
      appid: "微信小程序appid1",
      privateKeyPath:
        "密钥文件相对项目根目录的相对路径,例如 key/private.appid.key",
    },
    {
      // 必填
      appid: "微信小程序appid2",
      privateKeyPath:
        "密钥文件相对项目根目录的相对路径,例如 key/private.appid.key",
    },
  ],
  // 同weapp,如需多个构建,改为数组
  tt: {
    appid: "",
    email: "字节小程序邮箱",
    password: "字节小程序密码",
  },
  // 同weapp,如需多个构建,改为数组
  alipay: {
    appid: "支付宝小程序appid",
    toolId: "工具id",
    privateKeyPath:
      "密钥文件相对项目根目录的相对路径,例如 key/pkcs8-private-pem",
  },
  // 同weapp,如需多个构建,改为数组
  dd: {
    appid: "钉钉小程序appid,即钉钉开放平台后台应用管理的 MiniAppId 选项",
    token: "令牌,从钉钉后台获取",
  },
  // 同weapp,如需多个构建,改为数组
  swan: {
    appid: "",
    token: "鉴权需要的token令牌",
  },
  // 版本号
  version: "1.0.0",
  // 版本发布描述
  desc: "版本描述",
};

如需打包多个,将 weapp 改为数组配置多个即可!!!

// 默认configMap
const configMap = {
  weapp: "project.config.json",
  tt: "project.tt.json",
  alipay: "mini.project.json",
  qq: "project.config.json",
  dd: "project.dd.json",
  swan: "project.swan.json",
  lark: "project.lark.json",
};

由于插件会自动修改 project.config.json 中的 appid,
实现自动化构建多个小程序,每个小程序文件名不一致
可自定义

注意

因为会修改 project.config.json 或其他 json 中的 appid
appid 会替换为配置中的最后一个

最后

因没有其他小程序需求,仅测试微信小程序批量打包!!!

具体配置可查看 @maloulab/taro-plugins-socksuppet-ci


网站公告

今日签到

点亮在社区的每一天
去签到

热门文章