# 一、小程序插件功能介绍
插件的开发和使用自小程序基础库版本
1.9.6开始支持
- 插件是对一组 js 接口、自定义组件或页面的封装,用于嵌入到小程序中使用
- 插件不能独立运行,必须嵌入在其他小程序中才能被用户使用
- 第三方小程序在使用插件时,也无法看到插件的代码。因此,插件适合用来封装自己的功能或服务,提供给第三方小程序进行展示和使用
- 会受到一些限制,如一些 API 无法调用或功能受限。还有个别特殊的接口,虽然插件不能直接调用,但可以使用 插件功能页 来间接实现
- 框架会对小程序和小程序使用的每个插件进行数据安全保护,保证它们之间不能窃取其他任何一方的数据(除非数据被主动传递给另一方)。
插件,是可被添加到小程序内直接使用的功能组件。开发者可以像开发小程序一样开发一个插件,供其他小程序使用。同时,小程序开发者可直接在小程序内使用插件,无需重复开发,为用户提供更丰富的服务
插件可以是
- 提供查询快递信息的服务
- 提供查询天气的服务
- 提供打车(滴滴)的服务 - 可以使用滴滴提供的组件,直接嵌入自己的小程序,实现打车功能)
- 提供外卖(美团外卖)的服务 - 例如每个餐厅需要的小程序风格都不一样,但他都需要外卖功能,那这时就可以给餐厅都定制一个小程序,在外卖部分的功能可以直接使用美团外卖提供的外卖插件(*后面发现插件居然不能微信支付)
除了可以做这些方面还有很多很多,但小程序插件目前限制了开放范围及服务类目(开放类目)
开放范围:企业、媒体、政府及其他组织主体
开发者可选择当前小程序帐号已选类目中的一个,作为插件的服务类目。以下为当前已开放的插件服务类目,将逐步开放更多类目。
| 一级类目 | 二级类目 | 特殊说明 |
|---|---|---|
| 快递业与邮政 | 所有二级类目 | |
| 医疗 | 就医服务、互联网医院 | 仅医疗类小程序可使用 |
| 政务民生 | 所有二级类目 | |
| 金融业 | 征信业务 | |
| 出行与交通 | 所有二级类目 | |
| 生活服务 | 票务、生活缴费 | |
| IT科技 | 所有二级类目 | |
| 餐饮 | 点评与推荐、菜谱、餐厅排队、点餐平台、外卖平台 | |
| 旅游 | 所有二级类目 | |
| 文娱 | 视频、FM/电台、音乐、有声读物、动漫 | |
| 工具 | 记账、投票、日历、天气、备忘录、办公、字典、计算类、报价/比价、发票查询、企业管理 | |
| 电商平台 | 电商平台 | |
| 商业服务 | 招聘/求职 | |
| 汽车 | 所有二级类目 |
开发小程序插件的流程
- 开通入口:
小程序管理后台-小程序插件 - 开通插件功能 条件:企业、媒体、政府及其他组织主体的小程序,个人小程序不行 个数:一个小程序只能开通一个插件
- 填写开发信息并开发 限制:填写了小程序插件基本信息和头像就不能修改
- 提交审核、发布 限制:在开发类目内才能提交 官方文档说“插件发布后才可以被其他小程序搜索并添加”,但实际上不是,没有发布的也可以搜索到和添加
# 二、创建插件项目
小程序的 AppID 可以创建小程序插件项目,插件是独立于小程序之外的,但是 AppID 是公用的,所以不要使用原有的小程序项目进行插件开发。 在创建项目页面,选择一个空文件夹作为项目路径,可以选择创建小程序插件快速启动模板
没有插件appId的,我们需要去申请一个,用来开发插件

miniprogram目录:放置一个小程序,用于调试插件。- 文件夹是一个普通小程序项目,用来编写小程序插件的使用 Demo,上传插件代码时这个 Demo 会一起上传,并作为小程序插件的发布的审核依据.
plugin文件就是小程序插件项目,用来编写小程序插件的代码。project.config.json需要关注compileType字段,compileType == 'plugin'时才能正常的使用插件项目。详情doc 目录:插件文档必须放置在插件项目根目录中的 doc 目录下- 插件文档的入口文件是
doc/README.md,在README.md中引用到的图片资源不能是网络图片,且必须放在这个目录下。 - 文档中的链接只能链接到
- 微信开发者社区(developers.weixin.qq.com)
- 微信公众平台(mp.weixin.qq.com)
- GitHub(
- 插件文档的入口文件是