miniapp-ci
小程序上传、预览的插件, 手动构建完毕后,上传作为体验版、生成预览二维码. 目前暂时仅支持微信、支付宝、百度小程序
使用
安装
npm i miniapp-ci -D
使用插件
/config/index.js
const CIPluginOpt = {
weapp: {
appid: "微信小程序appid",
projectPath: "/**/path",
privateKeyPath: "密钥文件相对项目根目录的相对路径,例如 key/private.appid.key"
},
alipay: {
appId: "支付宝小程序appId",
projectPath: "/**/path",
toolId: "工具id",
privateKeyPath: "密钥文件相对项目根目录的相对路径,例如 key/pkcs8-private-pem"
},
swan: {
token: "鉴权需要的token令牌",
projectPath: "/**/path",
},
version: "1.0.0",
desc: "版本描述"
}
API
插件配置
参数 | 类型 | 说明 |
---|
weapp | Object | 微信小程序CI配置 |
tt | Object | 头条小程序配置 |
alipay | Object | 支付宝小程序配置 |
swan | Object | 百度小程序配置 |
version | string | 上传版本号,不传时默认读取package.json下的taroConfig下的version字段 |
desc | string | 上传时的描述信息,不传时默认读取package.json下的taroConfig下的desc字段 |
微信小程序CI配置
参数 | 类型 | 说明 |
---|
appid | string | 小程序/小游戏项目的 appid |
privateKeyPath | string | 私钥文件在项目中的相对路径,在获取项目属性和上传时用于鉴权使用 |
projectPath | string | 上传的小程序的路径 |
ignores | string[] | 上传需要排除的目录(选填) |
官方CI文档点这里
支付宝小程序CI配置
参数 | 类型 | 说明 |
---|
appId | string | 小程序appId |
toolId | string | 工具id,生成方式查看这里 |
privateKeyPath | string | 密钥文件相对项目根目录的相对路径, 支付宝生产的私钥文件名一般是 pkcs8-private-pem |
projectPath | string | 上传的小程序的路径 |
clientType | string | 上传的终端,终端类型见下表(默认值alipay) |
终端类型值及其含义:
alipay: 支付宝
ampe:AMPE
amap:高德
genie:天猫精灵
alios:ALIOS
uc:UC
quark:夸克
taobao:淘宝
koubei:口碑
alipayiot:IoT
cainiao:菜鸟
alihealth:阿里健康
官方CI文档点这里
百度小程序CI配置
参数 | 类型 | 说明 |
---|
token | string | 有该小程序发布权限的登录密钥 |
minSwanVersion | string | 最低基础库版本, 不传默认为 3.350.6 |
官方CI文档点这里
ts 接口描述
export interface IOptions {
version?: string;
desc?: string;
weapp?: WeappConfig;
alipay?: AlipayConfig;
swan?: SwanConfig;
}
export interface WeappConfig {
appid: string;
privateKeyPath: string;
devToolsInstallPath?: string;
projectPath: string;
type?: ProjectType;
ignores?: Array<string>;
}
export type ClientType =
'alipay' |
'ampe' |
'amap' |
'genie'|
'alios'|
'uc'|
'quark'|
'taobao'|
'koubei' |
'alipayiot'|
'cainiao' |
'alihealth'
export interface AlipayConfig {
appId: string;
toolId: string;
privateKey: string;
projectPath: string;
proxy?: string;
clientType?: ClientType;
}
export interface SwanConfig {
token: string;
minSwanVersion?: string;
projectPath: string;
}