3.23.1-beta.1 • Published 3 months ago

swan-toolkit v3.23.1-beta.1

Weekly downloads
113
License
-
Repository
-
Last release
3 months ago

百度智能小程序命令行工具

责任人

  • 孟珂(mengke01)

安装与更新

安装

npm i swan-toolkit -g
  • 环境依赖:Node.js,版本要求>=8.0。推荐使用nvm,避免权限问题。
  • 亦可局部安装,通过npxnode_modules/.bin/swan执行
  • 本工具跨平台,可以部署在windows/mac/Linux,可用于产品集成流水线部署
  • (全局)安装后即可使用全局shell命令swan

更新

当该npm包有更新时,将会在使用过程中以命令行输出形式提示,建议请按照提示使用安装命令更新npm包;另为了不干扰集成流水线功能,更新提示不会在使用--json参数时展示,对于此种情况建议定期检查并手动更新。

功能

下文提到的登录密钥,因为涉及到个人账户的身份认证,在用于公共机器构建流水线时,建议使用独立开发账号的登录密钥,并做好用户隔离和安全保护,定期修改账户密码。 登录密钥获取方式:在百度智能小程序开发者工具(版本高于2.4.1)中登录后,可通过"菜单-关于-复制登录密钥"获取

创建项目

解释:在当前路径下创建项目

方法名称

create

输出

参数名类型说明
nameString项目名称
appIdStringappId
typeString项目类型,详见 “项目类型说明”
pathboolean项目所在路径

参数说明

参数名类型是否必填默认值说明
nameString项目名称
appIdString17767960appId,默认值为测试号的 appId
typeStringapp项目类型,详见 “项目类型说明”
forcebooleanfalse是否强制覆盖项目目录中冲突的文件
defaultbooleanfalse是否禁用 “问卷” 并使用可选参数的默认值创建项目

Tips 使用测试号作为 appId 将导致部分功能受限,建议合理使用 appId。

项目类型说明

参数值说明
app小程序项目
app-dynamic-lib小程序动态库项目
app-dependency小程序动态扩展项目
app-plugin小程序插件项目
app-cloud小程序云开发项目
app-fragment小程序代码片段

用法示例

# 使用测试号的 appId 创建名称为 my-project-name 的小程序项目
swan create my-project-name

# 使用测试号的 appId 创建名称为 my-project-name 的小程序动态库项目
swan create my-project-name --type=app-dynamic-lib

# 使用 xxx 作为 appId 创建名称为 my-project-name 的小程序代码片段,并强制覆盖项目目录中冲突的文件
swan create my-project-name --appId=xxx --type=app-fragment --force

授权登录

解释:在当前设备登录百度帐户

方法名称

login

输出

loginEventListener 函数,可以监听登录事件(详见 “登录事件说明”),用于 Node 环境。

参数说明

参数名类型说明
eventNamestring事件名称
callbackFunction用于响应登录事件的回调函数

登录事件说明

事件名称说明
url-generated生成登录页 url
success登录成功
fail登录失败

参数说明

参数名类型是否必填默认值说明
timeoutnumber12000 (单位毫秒)登录超时时长
forcebooleanfalse是否忽略当前已登录帐户,并登录新帐户

用法示例

# 登录百度帐户
swan login

# 忽略当前已登录帐户,并登录
swan login --force

登出帐户

解释:在当前设备登出百度帐户

方法名称

logout

输出

无输出

参数说明

无参数

用法示例

# 登出百度帐户
swan logout

预览

解释:生成小程序预览码

返回值

参数名类型说明
nameString项目名称
appIdStringappId
typeString项目类型,详见 “项目类型说明”
pathboolean项目所在路径
swan preview --project-path /path/to/your/project --token THE_TOKEN_WITH_PREVIEW_AUTHORIZATION

输入参数

  • -p, --project-path (必要参数)小程序项目源码路径,可为相对路径或绝对路径
  • --token(必要参数)有该小程序发布权限的登录密钥
  • --min-swan-version (小程序必要参数)最低基础库版本,参见基础库最低版本设置
  • --base64 输出base64格式的预览二维码图片
  • --json 只以json格式输出最终结果,推荐在集成构建中使用
  • -V, --verbose 输出日志
  • --game 小游戏预览

输出

  • 预览二维码、bundle_id
  • exit code非0时,表示过程存在异常,请根据输出报错日志调查原因

web化预览

swan web-preview --project-path /path/to/your/project --token THE_TOKEN_WITH_PREVIEW_AUTHORIZATION

输入参数

  • -p, --project-path (必要参数)小程序项目源码路径,可为相对路径或绝对路径
  • --token(必要参数)有该小程序发布权限的登录密钥
  • --base64 输出base64格式的预览二维码图片
  • --json 只以json格式输出最终结果,推荐在集成构建中使用
  • -V, --verbose 输出日志

输出

  • 预览二维码
  • exit code非0时,表示过程存在异常,请根据输出报错日志调查原因

发布

swan upload --project-path /path/to/your/project --token THE_TOKEN_WITH_PREVIEW_AUTHORIZATION --release-version 1.0.0.0 --desc description

输入参数

  • -p, --project-path (必要参数)小程序项目源码路径,可为相对路径或绝对路径
  • --token(必要参数)有该小程序发布权限的登录密钥
  • --release-version(必要参数)发布版本号
  • --min-swan-version (必要参数)最低基础库版本,参见基础库最低版本设置。如未填写,则以上次为准。
  • --sourcemap 自动上传source map,可以辅助定位线上业务代码的报错信息
  • -d, --desc 版本描述
  • --json 只以json格式输出最终结果,推荐在集成构建中使用,可输出包体积信息
  • -V, --verbose 输出日志
  • --game 小游戏发布

输出

  • 发布成功提示
  • exit code非0时,表示过程存在异常,请根据输出报错日志调查原因

上传代码片段

swan upload-fragment --project-path /path/to/your/project --token THE_TOKEN_WITH_PREVIEW_AUTHORIZATION --name THE_NAME --desc description

输入参数

  • -p, --project-path (必要参数)小程序项目源码路径,可为相对路径或绝对路径
  • --token(必要参数)有该小程序发布权限的登录密钥
  • --name(必要参数)代码片段名称
  • -d, --desc 版本描述
  • --json 只以json格式输出最终结果,推荐在集成构建中使用
  • -V, --verbose 输出日志
  • --game 上传小游戏代码片段

输出

  • 代码片段链接
  • exit code非0时,表示过程存在异常,请根据输出报错日志调查原因

反馈与建议

如果在使用中遇到问题,或有改进建议,可以在智能小程序开发者社区中发帖向我们反馈,反馈时请注意以下几点:

  • 反馈前请使用swan version获取基本版本信息,并在反馈内容中标明
  • "问题类型"请选择“开发者工具”,并在反馈内容中标明"cli命令行工具"

您的反馈将有助于我们完善产品。

3.23.0

3 months ago

3.23.1-beta.1

6 months ago

4.0.0-ai.3

7 months ago

3.22.1

8 months ago

3.19.4

11 months ago

4.0.0-ai.1

8 months ago

3.22.2-alpha.1

8 months ago

3.22.0-beta.3

8 months ago

3.19.4-beta.1

11 months ago

3.20.2-beta.0

10 months ago

3.17.0-beta.2

1 year ago

3.17.2

1 year ago

3.19.2

1 year ago

3.19.1

1 year ago

3.18.0-beta1

1 year ago

3.18.1

1 year ago

3.20.0-beta.2

1 year ago

3.13.2

1 year ago

3.15.2

1 year ago

3.7.1-beta.4

2 years ago

3.10.2

2 years ago

3.12.2-beta.1

1 year ago

3.6.0-beta.1

1 year ago

3.14.4-beta.1

1 year ago

3.14.3

1 year ago

3.14.4

1 year ago

3.11.1

2 years ago

3.14.1-beta.2

1 year ago

3.9.0-beta.5

2 years ago

3.9.0-beta.6

2 years ago

3.9.1

2 years ago

3.9.0

2 years ago

3.9.0-beta.1

2 years ago

3.9.0-beta.2

2 years ago

3.9.0-beta.3

2 years ago

3.9.0-beta.4

2 years ago

3.5.85-beta.2

2 years ago

3.5.85-beta.1

2 years ago

3.7.5

2 years ago

3.7.3-beta.4

2 years ago

3.7.3

2 years ago

3.7.3-beta.3

2 years ago

3.7.3-beta.2

2 years ago

3.7.2

2 years ago

3.7.4-beta.5

2 years ago

3.7.4-beta.4

2 years ago

3.7.6-beta.1

2 years ago

3.7.3-beta.1

2 years ago

3.5.67

2 years ago

3.5.66

2 years ago

3.5.59

3 years ago

3.5.61

3 years ago

3.5.60

3 years ago

3.5.58

3 years ago

3.5.52

3 years ago

3.5.46-opti1

3 years ago

3.5.47

3 years ago

3.5.44

3 years ago

3.5.41

3 years ago

3.5.38

3 years ago

3.5.29

3 years ago

3.5.26

3 years ago

3.5.21

3 years ago

3.5.20

3 years ago

3.5.19

3 years ago

3.5.15

3 years ago

3.5.13

4 years ago

2.5.1

4 years ago

2.4.33

4 years ago

2.4.10

4 years ago

2.3.17

4 years ago

1.3.3

5 years ago

1.2.18

5 years ago

1.2.17-alpha.3

5 years ago

1.2.17-alpha.2

5 years ago

1.2.17-alpha.1

5 years ago

1.2.14

5 years ago

1.2.13

5 years ago

1.2.10

5 years ago

1.0.0

5 years ago