@lumate/mp-cli
v0.2.2
Published
Lumo mini-program developer CLI — register and publish mini-programs to the Lumo app over the public web API
Readme
@lumate/mp-cli
Lumo 小程序开发者 CLI —— 给外部小程序开发者用的,只通过公开的 web HTTP API(https://apiv1.lumate.my)注册/上传小程序,不引用、不打包任何服务端 Go 代码,不直连数据库。
这是和 server/cmd/lumo-cli(内部数据管理工具,Go,直连 MySQL)刻意分开的两个东西:那个工具会被编译进服务端的内部包,只能内部人员用;这个工具单独一个 Node.js 项目,可以放心分发给第三方开发者而不会带出服务端实现细节。
安装
npm i -g @lumate/mp-cli装好后就有一个全局的 lumo-cli 命令。(本地开发也可以在本目录 npm install 后直接 node bin/lumo-mp.js ...。)
用法
lumo-cli login # 交互式输入邮箱/密码(密码隐藏输入)
lumo-cli login -email=x@y -password=xxx # 非交互
lumo-cli whoami
lumo-cli logout
lumo-cli miniprogram init -dir=./my-app # 脚手架 manifest.json + index.html
lumo-cli miniprogram create -name="课程表助手" -category="效率工具" # 注册一个 app,打印 appKey
lumo-cli miniprogram upload -dir=./my-app -version=1.0.0 # 打包目录,提交为待审核版本
lumo-cli miniprogram list # 查看自己名下的 app
lumo-cli miniprogram status -app=<appKey> # 查看某个 app 的版本审核状态
lumo-cli miniprogram preview -dir=./my-app -version=1.0.0 # 生成开发版预览二维码,Lumo「扫一扫」即可预览(免审核)preview 会为某个已上传的版本生成一个短期有效(约 30 分钟)的预览二维码并在终端打印:打开 Lumo App 的「扫一扫」对准即可运行该版本 —— 哪怕它还处于 pending_review。二维码里带的是一个绑定 (appKey, 版本) 的签名 token,过期即失效,不暴露任何账号凭证。-dir 缺省读该目录 manifest.json 里的 appId/versionName,也可用 -app / -version 覆盖。
- 登录状态存在
~/.lumo-mp-cli/session.json(和内部lumo-cli的~/.lumo-cli/是两个独立目录,互不影响)。 - 默认 API 地址是
https://apiv1.lumate.my,和 web 控制台一致;可以用环境变量LUMO_API_BASE覆盖(比如指向本地联调的服务端)。 manifest.json里permissions目前只能填openid/storage/userInfo/share,服务端会拒绝声明未知权限的包。userInfo会在小程序调用时弹用户确认框;getSystemInfo/showToast两个能力不需要声明权限,任何小程序都能直接用。- 同一个
versionName只能上传一次,已审核通过的版本不可覆盖——改代码要开新版本号。 - 审核走 web 控制台(
/review/miniprograms),这个 CLI 只能查看状态,不能自己审核自己上传的东西。
依赖
只有一个:archiver(打包 zip)。没有引入任何自定义 CLI 框架,参数解析是 src/flags.js 里几十行手写的 -name=value / -name value 解析器,和内部 Go CLI 的命令语法保持一致。
