小程序命令行工具收藏我的收藏
收藏
我的收藏抖音小程序官方提供的小程序命令行工具 / CI 工具,可以通过该工具箱进行登录、预览、上传、提审、构建 NPM 等操作,支持命令行方式以及 NPM 直接调用方式。
安装
# 全局安装 npm install -g tt-ide-cli #安装beta版本 npm install -g tt-ide-cli@beta
使用
设置小程序 token
命令行使用
Usage: tma set-app-config <appid> --token <token> Example: tma set-app-config ttxxxxxxx --token 123123123
代码调用
const tma = require('tt-ide-cli'); tma.setAppConfig({ appid: 'ttxxxxxx', config: { token: '123123123', }, });
设置全局配置
主要用于配置工具的全局代理。
命令行使用
Usage: tma set-config [options] Set tt-ide-cli config Options: --proxy <proxy> Set global proxy(配置全局代理) --default Use default(恢复为默认配置)
代码调用
以配置代理为例,在获取到代理服务器的域名和端口后即可将其配置到 CLI 中。
const tma = require('tt-ide-cli'); await tma.setConfig({ proxy: 'http://127.0.0.1:8899'; // 此地址仅为示例,具体地址需根据实际代理服务器确定。 });
创建新项目
在当前目录下,以给定的项目名字创建一个空白的小程序项目。
命令行使用
Usage: tma create [options] <project-name> Create a new project with given name in current folder Options: -f, --force Overwrite target directory if it exists
代码调用
const tma = require("tt-ide-cli"); await tma.create({ projectName: "projectName", force: false, // 是否覆盖目标文件夹 template: "rich", // 'rich' | 'empty' // rich 为小程序能力展示 DEMO // empty 为小程序空项目 targetDir: "targetDir", });
打开已有项目
在小程序开发者工具中打开给定目录的项目,如果给定的目录不存在,则仅打开开发者工具。
命令行使用
Usage: tma open <project-path> Open target project by path
代码调用
const tma = require("tt-ide-cli"); await tma.open({ project: { path: "projectPath", }, });
登录
登录到开发者平台。
命令行使用
Usage: tma login [options] Login to the developer platform Options: -m, --mobile Login by mobile -e, --email Login by email -p, --proxy <proxy> Login with proxy -h, --help output usage information
通过 email 登录
命令行使用
Usage: tma login-e [email] [password] Login to the developer platform by E-mail Options: -p, --proxy <proxy> Login with proxy -h, --help Output usage information
代码调用
const tma = require("tt-ide-cli"); await tma.loginByEmail({ email: "email", password: "password", });
通过手机号登录
通过调用tma.sendVerificationCodeToPhone({ phoneNumber: 'phoneNumber' })
可以发送验证码
代码调用
const tma = require('tt-ide-cli'); await tma.loginByPhone({ phoneNumber: 'phoneNumber', code: 'code', });
登出(清除本地 session)
命令行使用
Usage: tma logout Logout and clear the session.
代码使用
const tma = require("tt-ide-cli"); await tma.logout();
预览小程序
将项目上传后,扫码二维码来预览小程序(如果要设置 miniapp-query, miniapp-scene 等启动参数需要同时设置 miniapp-path 参数,否则将不会生效)。
命令行使用
Usage: tma preview [options] [project-path] Preview project by remote Options: --disable-cache Preview project without local cache -s, --small Use small QR Code, it may fail in some environments -c, --copy Copy remote url to clipboard -p, --proxy <proxy> Preview with proxy --miniapp-path <path> Miniapp path --miniapp-query <query> Miniapp query --miniapp-scene <scene> Miniapp scene --miniapp-launch-from <launchFrom> Miniapp launchFrom --miniapp-location <location> Miniapp location --qrcode-output <qrcodeOutputPath> Qrcode output path
代码调用
const tma = require("tt-ide-cli"); // previewResult 返回值 interface ProjectQRCode { expireTime: number; // 二维码过期时间 shortUrl: string; // 二维码短链 originSchema: string; // 二维码 schema qrcodeSVG?: string; // 二维码 SVG qrcodeFilePath?: string; // 二维码存储路径 useCache: boolean; // 是否命中并使用缓存 } const previewResult: ProjectQRCode = await tma.preview({ project: { path: "projectPath", // 项目地址 }, page: { path: "", // 小程序打开页面 query: "", // 小程序打开 query scene: "", // 小程序打开场景值 launchFrom: "", // 小程序打开场景(未知可填空字符串) location: "", // 小程序打开位置(未知可填空字符串) }, qrcode: { format: "imageSVG", // imageSVG | imageFile | null | terminal // imageSVG 用于产出二维码 SVG // imageFile 用于将二维码存储到某个路径 // terminal 用于将二维码在控制台输出 // null 则不产出二维码 output: "", // 只在 imageFile 生效,填写图片输出绝对路径 options: { small: false, // 使用小二维码,主要用于 terminal }, }, cache: true, // 是否使用缓存 copyToClipboard: true, // 是否将产出的二维码链接复制到剪切板 });
上传项目
把项目上传到开发者平台进行发布。
命令行使用
- •app-changelog 为必填参数,其余为可选参数,其中 app-version 的默认值为前序版本号末位加一。
- •channel 为可选参数,可指定上传时的测试通道(类型为字符串,但其值应为大于 0 的整数。例如,"1","2" 等等)。
Usage: tma upload [options] [project-path] Upload project to the developer platform Options: -v, --app-version <appVersion> App version (eg: [major].[minor].[patch]) -c, --app-changelog <appChangelog> Changelog for this version -p, --proxy <proxy> Update request proxy -cp, --copy Copy remote url to clipboard --qrcode-output <qrcodeOutputPath> Qrcode output path --channel <channel> Test Channel
代码调用
const tma = require("tt-ide-cli"); // uploadResult 返回值 interface ProjectQRCode { expireTime: number; // 二维码过期时间 shortUrl: string; // 二维码短链 originSchema: string; // 二维码 schema qrcodeSVG?: string; // 二维码 SVG qrcodeFilePath?: string; // 二维码存储路径 useCache: boolean; // 是否命中并使用缓存 } const uploadResult: ProjectQRCode = await tma.upload({ project: { path: "projectPath", // 项目地址 }, qrcode: { format: "imageSVG", // imageSVG | imageFile | null | terminal // imageSVG 用于产出二维码 SVG // imageFile 用于将二维码存储到某个路径 // terminal 用于将二维码在控制台输出 // null 则不产出二维码 output: "", // 只在 imageFile 生效,填写图片输出绝对路径 options: { small: false, // 使用小二维码,主要用于 terminal }, }, copyToClipboard: true, // 是否将产出的二维码链接复制到剪切板 changeLog: "changelog", // 本次更新日志 version: "1.0.0", // 本次更新版本,可选参数,默认值为前序版本号末位加一 needUploadSourcemap: true, // 是否上传后生成 sourcemap,推荐使用 true,否则开发者后台解析错误时将不能展示原始代码 channel: "1", // 可选参数,表示上传时的测试通道 });
小程序 host
查询小程序支持的 host 。
命令行使用
Usage: tma hosts [appid] Get Audit Host List
tma hosts tt07e3715e98c9xxxx
代码调用
const tma = require("tt-ide-cli"); await tma.getAuditHostsList({ appid: "" });
小程序提审
小程序提审。
- •小程序首次提审,会使用默认的图片作为审核的截图 推荐首次提审时,到开发者平台上传合规截图;
- •后续提审会复用前一次提审的截图;
命令行使用
Usage: tma audit [options] [appid] Audit project in the developer platform Options: --host <hosts> Host Apps(eg: douyin,toutiao,tt_lite,ppx,xigua,huoshan,helo,musically,tiktok,dou_shop,daliAI_coach,huoshan_lite,dcd,ocean_engine,fanqie,tt_elder,xiaohe,feiyu) --auto-publish <boolean> Auto Publish After Audit --channel <channel> Test channel
# 使用示范 tma audit --host douyin,toutiao,tt_lite tt07e3715e98c9xxxx
代码调用
const tma = require("tt-ide-cli"); // 提审 await tma.audit({ appid: "", host: [], // douyin,toutiao,tt_lite,ppx,xigua,huoshan,helo,musically,tiktok,douyin_lite,dou_shop,daliAI_coach,huoshan_lite,dcd,ocean_engine,fanqie,tt_elder,xiaohe,feiyu autoPublish: true, // 是否审核通过后自动发布 });
获取小程序信息
命令行使用
Usage: tma get-meta [options] [appid] Get appid meta
代码调用
const tma = require("tt-ide-cli"); // metaResult 返回值 interface MiniappMetaInfo { version: String; // 线上小程序版本号 } const metaResult: MiniappMetaInfo = await tma.getMeta({ appid: "appid", });
构建 NPM
命令行使用
Usage: tma build-npm [options] Build npm Options: --project-path Project path
代码调用
const tma = require("tt-ide-cli"); await tma.buildNpm({ project: { path: "projectPath", }, });