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日,小程序正式上线一周年.上线以来,小程序不断地释放新能力, ...
随机推荐
- python库asyncio的概念和用法
python 库 asyncio asyncio 是 Python 的标准库之一,用于编写异步应用程序.它提供了事件循环.协程.任务和其他工具来处理并发操作.以下是一些关于 asyncio 的基本概念 ...
- win11 与VMware pro16不兼容或者是不能嵌套虚拟或者此平台不支持虚拟化的Intel VT-x/EPT等问题
如遇 不用去掉啥windows沙盒,不用关掉什么Hyper-V. 可以在window11的应用里面的可选功能把虚拟平台的勾去掉然后重启一下 而虚拟机不在配置处理器的时候不勾选下图这个 就会出现这种情况 ...
- NOIP2023模拟9联测30 T4 金牌
NOIP2023模拟9联测30 T4 金牌 LCA 还能 \(O(1)\)-- 思路 思路非常简单,可考试就是想歪成统计指数了-- 将一条穿过 \((x,y)\) 的路径 \((u,v)\) 分为 \ ...
- 内网渗透之frp+proxifier实现socks5反向代理
目录 前言 环境搭建 frp反向代理 proxifier代理工具 前言 内网穿透,代理技术的联系与区别? 我个人感觉在内网渗透的时候它们之间的界限很模糊,其目的都是为了突破内网访问的限制.内网穿透允许 ...
- Java 编程的动态性,第 1 部分: 类和类装入
研究类以及 JVM 装入类时所发生的情况 这一有关 Java 编程动态方面的新的系列文章研究了执行 Java 应用程序时幕后所发生的事情.企业 Java专家 Dennis Sosnoski 提供了 J ...
- Java线程:线程的调度-守护线程——Java线程:线程的调度-合并——Java线程:新特征-障碍器——Java线程:大总结
Java线程:线程的调度-守护线程 守护线程与普通线程写法上基本么啥区别,调用线程对象的方法setDaemon(true),则可以将其设置为守护线程. 守护线程使用的情况较少,但并非无用,举例 ...
- CCPC Henan Provincial Contest 2020
CCPC Henan Provincial Contest 2020 Problem B. 广告投放 n集节目按顺序播出,节目组决定在某些节目中投放广告,节目最初播出时有m名观众,若\(i\)集投放广 ...
- onlyoffice
https://helpcenter.onlyoffice.com/installation/docs-enterprise-install-centos.aspx?_ga=2.51626159.76 ...
- SaaS架构中多租户的概念
SaaS架构中多租户的概念 租户可以理解为部署在云端的客户,通常出现在2B的企业中,比如现在学校的一卡通管理,通常是一个公司来做的,学校本地不需要做任何部署,而这个公司又是服务了很多个学校,那么学校对 ...
- 从Delphi到Lazarus——Lazarus编程时可以使用的组件(控件)
0.前言 使用过可视化编程的人都知道在编程时组件的重要性.可以使用的组件越多,编程越方便快捷. 理论上,Delphi中的所有组件在Lazarus中都可以使用.当然,在Windows编程时多数是可以直接 ...