w3cschool-微信小程序开发文档-工具
微信小程序工具 概览
为了帮助开发者简单和高效地开发微信小程序,我们推出了全新的开发者工具,集成了开发调试、代码编辑及程序发布等功能。

扫码登录
启动工具时,开发者需要使用已在后台绑定成功的微信号扫描二维码登录,后续所有的操作都会基于这个微信帐号
微信小程序工具 HTTP调用
开发者工具提供了命令行与 HTTP 服务两种接口供外部调用,开发者可以通过命令行或 HTTP 请求指示工具进行登录、预览、上传等操作。
HTTP
http 服务在工具启动后自动开启,HTTP 服务端口号在用户目录下记录,可通过检查用户目录、检查用户目录下是否有端口文件及尝试连接来判断工具是否安装/启动。
端口号文件位置:
macOS : ~/Library/Application Support/微信web开发者工具/Default/.ide
Windows : ~/AppData/Local/微信web开发者工具/User Data/Default/.ide
1. 打开工具或指定项目
接口定义:
URL: /open
HTTP 方法: GET
| URL 参数 | 必填 | 说明 |
|---|---|---|
| projectpath | 否 | 打开指定路径中的项目。如项目已打开,自动刷新项目。如项目未创建,自动创建并打开项目 |
示例:
# 打开工具
http://127.0.0.1:端口号/open
# 打开/刷新项目
http://127.0.0.1:端口号/open?projectpath=项目全路径
注意:
- 项目路径中必须含正确格式的 project.config.json 且其中有 appid 和 projectname 字段。
- 项目路径需经 URL encode
2. 登录
接口定义:
URL:/login
HTTP 方法:GET
| URL 参数 | 必填 | 说明 |
|---|---|---|
| format | 否 | 指定登录二维码返回格式,可选值有 image、base64、terminal,默认 image。图片格式为 png |
| qroutput | 否 | 指定文件路径,在文件写入二维码数据。如指定,二维码将被写入指定路径的文件内,如未指定,二维码将作为请求相应体返回 |
示例:
# 登录,返回图片格式的二维码
http://127.0.0.1:端口号/login
# 登录,取 base64 格式二维码
http://127.0.0.1:端口号/login?format=base64
# 登录,取 base64 格式二维码,并写入 /Users/username/logincode.txt
http://127.0.0.1:端口号/login?format=base64&qroutput=%2FUsers%2Fusername%2Flogincode.txt
3. 预览
接口定义:
URL:/preview
HTTP 方法:GET
| URL 参数 | 必填 | 说明 |
|---|---|---|
| projectpath | 是 | 预览指定路径中的项目。如项目已打开,自动刷新项目。如项目未创建,自动创建并预览项目 |
| format | 否 | 指定登录二维码返回格式,可选值有 image、base64、terminal,默认 image。图片格式为 png |
| qroutput | 否 | 指定文件路径,在文件中写入二维码数据。如指定,二维码将被写入指定路径的文件内,如未指定,二维码将作为请求相应体返回 |
示例:
# 预览路径为 /Users/username/demo 的项目,返回图片格式的二维码
http://127.0.0.1:端口号/preview?projectpath=%2FUsers%2Fusername%2Fdemo
# 预览路径为 /Users/username/demo 的项目,返回 base64 格式的二维码
http://127.0.0.1:端口号/preview?projectpath=%2FUsers%2Fusername%2Fdemo&format=base64
# 预览路径为 /Users/username/demo 的项目,返回 base64 格式的二维码,并写入 /Users/username/logincode.txt
http://127.0.0.1:端口号/preview?projectpath=%2FUsers%2Fusername%2Fdemo&format=base64&qroutput=%2FUsers%2Fusername%2Flogincode.txt
4. 上传
接口定义:
URL:/upload
HTTP 方法:GET
| URL 参数 | 必填 | 说明 |
|---|---|---|
| projectpath | 是 | 上传指定路径中的项目 |
| version | 是 | 版本号 |
| desc | 否 | 本次上传的版本备注 |
示例:
# 上传路径为 /Users/username/demo 的项目,指定版本号为 v1.0.0
http://127.0.0.1:端口号/upload?projectpath=%2FUsers%2Fusername%2Fdemo&version=v1.0.0
# 上传路径为 /Users/username/demo 的项目,指定版本号为 v1.0.0,并带上备注
http://127.0.0.1:端口号/upload?projectpath=%2FUsers%2Fusername%2Fdemo&version=v1.0.0&desc=test
5. 自动化测试
接口定义:
URL:/test
HTTP 方法:GET
| URL 参数 | 必填 | 说明 |
|---|---|---|
| projectpath | 是 | 测试指定路径中的项目 |
示例:
# 提交路径为 /Users/username/demo 的项目进行测试
http://127.0.0.1:端口号/test?projectpath=%2FUsers%2Fusername%2Fdemo
请求响应
正常情况下 HTTP 相应状态码为 200,错误时 400,返回如下格式的 JSON 字符串:
{
"code": 40000,
"error": "原因"
}
微信小程序工具 创建插件项目
创建插件项目
小程序的 AppID 可以创建小程序插件项目,插件是独立于小程序之外的,但是 AppID 是公用的,所以不要使用原有的小程序项目进行插件开发。 在创建项目页面,选择一个空文件夹作为项目路径,可以选择创建小程序插件快速启动模板

快速启动模板说明:
- miniprogram 文件夹是一个普通小程序项目,用来编写小程序插件的使用 Demo,上传插件代码时这个 Demo 会一起上传,并作为小程序插件的发布的审核依据.
- plugin 文件就是小程序插件项目,用来编写小程序插件的代码。
- project.config.json 需要关注 compileType 字段,compileType == 'plugin' 时才能正常的使用插件项目。详情
打开已存在的插件项目
如果是之前创建的插件项目,可以在项目列表中直接打开;
如果重新创建项目,选择一个非空目录,那么这个非空目录中需要有 project.config.json 详情,确保这个文件中有以下字段:
{
"miniprogramRoot": "./miniprogram",
"pluginRoot": "./plugin",
"compileType": "plugin"
}
在项目开发期间,可以手动修改 project.config.json 文件的 compileType 字段来切换项目的编译类型。
插件上传

上传插件代码前,需要指定版本号,格式为 数字.数字.数字 ,每个数字最大为 999。
每次提交版本号需要递增,插件使用者会用到这个版本号,请谨慎填写。
上传插件时,同时会将 project.config.json 中 miniprogramRoot 指定的目录的内容作为插件使用 Demo 一起上传,这个 Demo 需要覆盖到插件的所有使用场景,便于插件的审核
插件使用
在小程序项目的 app.json 的 plugins 字段中可以声明使用插件。如果当前的编译类型为小程序时,需要指定已发布的插件的版本号,开发者工具会根据版本号去拉取对应版本的插件进行编译。
只有在 project.config.json 的 compileType == 'plugin' 时,插件的版本号才能为 'dev'
w3cschool-微信小程序开发文档-工具的更多相关文章
- 微信-小程序-开发文档-服务端-模板消息:templateMessage.send
ylbtech-微信-小程序-开发文档-服务端-模板消息:templateMessage.send 1.返回顶部 1. templateMessage.send 本接口应在服务器端调用,详细说明参见服 ...
- 微信-小程序-开发文档-服务端-模板消息:templateMessage.getTemplateList
ylbtech-微信-小程序-开发文档-服务端-模板消息:templateMessage.getTemplateList 1.返回顶部 1. templateMessage.getTemplateLi ...
- 微信-小程序-开发文档-服务端-模板消息:templateMessage.getTemplateLibraryList
ylbtech-微信-小程序-开发文档-服务端-模板消息:templateMessage.getTemplateLibraryList 1.返回顶部 1. templateMessage.getTem ...
- 微信-小程序-开发文档-服务端-模板消息:templateMessage.getTemplateLibraryById
ylbtech-微信-小程序-开发文档-服务端-模板消息:templateMessage.getTemplateLibraryById 1.返回顶部 1. templateMessage.getTem ...
- 微信-小程序-开发文档-服务端-模板消息:templateMessage.deleteTemplate
ylbtech-微信-小程序-开发文档-服务端-模板消息:templateMessage.deleteTemplate 1.返回顶部 1. templateMessage.deleteTemplate ...
- 微信-小程序-开发文档-服务端-模板消息:templateMessage.addTemplate
ylbtech-微信-小程序-开发文档-服务端-模板消息:templateMessage.addTemplate 1.返回顶部 1. templateMessage.addTemplate 本接口应在 ...
- 微信-小程序-开发文档-服务端-接口调用凭证:auth.getAccessToken
ylbtech-微信-小程序-开发文档-服务端-接口调用凭证:auth.getAccessToken 1.返回顶部 1. auth.getAccessToken 本接口应在服务器端调用,详细说明参见服 ...
- 微信小程序 开发文档
官方开发文档: 小程序公众平台 小程序开发者指南 小程序开发者文档 学习资源: 微信:官方入门教程 微信:WeUI 是一套同微信原生视觉体验一致的基础样式库 微信:微信小程序示例 视频: 学堂在线:学 ...
- 周六搞事情,微信小程序开发文档已放出!
程序员们,你们有事干了! 个人感觉不管是什么形式的UI技术,都无法决定一个产品的生死,核心还是服务和模式的创新. 某些方面和ApiCloud好像,但发展前景远远胜过ApiCloud. 微信小程序可以为 ...
- 微信小程序怎么开发(小程序开发文档)
微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验. 2017年1月9日~2018年1月9日,小程序正式上线一周年.上线以来,小程序不断地释放新能力, ...
随机推荐
- 【2024.09.15】NOIP2024 赛前集训(2)
[2024.09.15]NOIP2024 赛前集训(2) A 最大的难点戏剧性地变成了二叉搜索树是什么. 先根据已知序列把二叉树建出来,忘了二叉搜索树的移步 二叉搜索树 & 平衡树 - OI ...
- .NET周刊【11月第1期 2024-11-03】
国内文章 .NET 9 AOT的突破 - 支持老旧Win7与XP环境 https://www.cnblogs.com/lsq6/p/18519287 .NET 9 引入了 AOT 支持,使得应用程序能 ...
- 利用Stripes实现Java Web开发
Stripes是一个以让程序员的web开发简单而高效为准则来设计的基于动作的开源Java web框架.本文将介绍Stripes与其它如Struts之类基于动作的框架的区别和其提供的一些存在于Ruby ...
- px转换为rem,响应式js
(function (doc, win) { var docEl = doc.documentElement, resizeEvt = 'orientationchange' in window ? ...
- go官方包依赖管理工具之mod
1.1.go mod是什么 go mod 是Golang 1.11 版本引入的官方包(package)依赖管理工具,用于解决之前没有地方记录依赖包具体版本的问题,方便依赖包的管理. 之前Golang ...
- 使用自定义 JsonConverter 解决 long 类型在前端的精度问题
问题 Javascript 的 number 类型存在精度限制,浏览器反序列化 JSON 时,无法完整保留 long 类型的精度. 在 JSON 序列化时将 long 转换为 string 进行传递就 ...
- Electron(2) - 下载与解压缩
1.下载文件 主线程中调用下载 win.webContents.downloadURL(url) 监听下载事件 //监听下载动作 win.webContents.session.on('will-do ...
- SEEDLab —— 环境变量与 Set-UID 实验
[软件安全]实验1--环境变量与 Set-UID 实验 Task 1:配置环境变量 使用printenv或env指令来打印环境变量: 如果只想打印特定的环境变量,如PWD变量,可以使用printe ...
- 初识RPA以及简单的RPA项目——微信群发机器人
一.RPA的认识和理解 RPA(Robotic Process Automation)即是机器人流程自动化,简称RPA,是一种自动化技术,可以帮助组织实现业务流程的自动化执行,提高效率和准确性.按我的 ...
- Mysql的整体架构设计
整体分层 连接层 服务层 存储引擎层 连接层 客户端要连接到服务器 3306 端口,必须要跟服务端建立连接,那么 管理所有的连接,验证客户端的身份和权限,这些功能就在连接层完成. 服务层 连接层会把 ...