插件是对一组 接口、自定义组件或页面的封装,用于嵌入到小程序中使用。
插件不能运行,必须嵌入在其他小程序中才能被用户使用;而第三方小程序在使用插件时,也无法看到插件的代码。因此,插件适合用来封装自己的功能或服务,提供给第三方小程序进行展示和使用。
相对于普通的 文件或自定义组件,插件拥有更强的性,拥有的 接口、域名列表等;但同时会受到一些限制,如 一些 无法调用或功能受限,还有个别特殊的接口,虽然插件不能直接调用,但可以使用插件功能页来间接实现。
框架会对小程序和小程序使用的每个插件进行数据安全保护,保证它们之间不能窃取其他任何一方的数据(除非数据被主动传递给另一方)。
插件者可以像小程序一样编写一个插件并上传代码,在插件发布之后,其他小程序方可调用。小程序平台会托管插件代码,其他小程序调用时,上传的插件代码会随小程序一起下载运行。
流程:
开通插件功能:小程序者无需重新注册帐,可直接在小程序管理后台开通插件功能,完成基本信息填写后完成开通。
填写信息并完成:设置插件的服务器域名及 信息后,即可在者工具中插件。
完善基本信息:插件在提交审核前,请确认已设置插件名称、插件头像、插件简介等信息,并已上传插件文档,便于者接入插件。预览、上传和发布。
插件可以像小程序一样预览和上传,但插件没有体验版。
插件会同时有多个线上版本,由使用插件的小程序决定具体使用的版本。
创建插件项目:
插件类型的项目可以在者工具中直接创建。新建插件类型的项目后,项目中将包含三个目录:
目录:插件代码目录。 目录:放置一个小程序,用于调试插件。
目录内容可以当成普通小程序来编写,用于插件调试、预览和审核。
目录:用于放置插件文档。
插件目录结构:
一个插件可以包含若干个自定义组件、页面和 接口。
向使用开放的所有自定义组件、页面和 接口都必须在插件配置文件 列出。
插件:
在插件中,只有部分接口可以直接调用;另外还有部分能力可以通过插件功能页的方式使用。
自定义组件:插件可以定义若干个自定义组件,这些自定义组件可以在插件内相互引用。但提供给使用者的自定义组件必须在配置文件的 段中列出。
页面:插件可以定义若干个插件页面,可以从本插件的自定义组件、其他页面中跳转,或从使用者小程序中跳转。所有页面必须在配置文件的 段中列出。
插件执行页面跳转的时候, 应设置为这样的形式:。
插件可以在接口文件中 一些 接口,供插件的使用者调用。
插件文档:插件文档必须放置在插件项目根目录中的 目录下。
编辑 之后,可以在者工具左侧资源管理器的文件栏中右键单击 ,并选择上传文档。发布上传文档后,文档不会立刻发布。此时可以登录管理后台 ,预览、发布插件文档。
插件文档总大小不能大于 2,超过时上传将返回错误码 。
测试插件:
通常情况下,可以将 下的代码当做使用插件的小程序代码,来进行插件的调试和测试。
但有时,需要将插件的代码放在实际运行的小程序中进行调试、测试。此时,可以使用小程序直接引用版插件。方法如下:
在者工具的插件项目中上传插件,此时,在上传成功的通知信息中将包含这次上传获得的插件版 (一个英文、数字组成的随机字符串)。在使用这个插件的任意小程序项目中,可以将插件 设置为 的形式,如 ,这样就会引用到这次上传的版插件。
添加插件:在使用插件前,需要在小程序管理后台的“设置-第三方服务-插件管理”中添加插件。
者可登陆小程序管理后台,通过查找插件并添加。
如果插件无需申请,添加后可直接使用;否则需要申请并等待插件者通过后,方可在小程序中使用相应的插件。
引入插件代码包:使用插件前,使用者要在 中要使用的插件。
定义段中可以包含多个插件,每个插件以一个使用者自定义的插件引用名作为标识,并指明插件的 和需要使用的版本。
引用名由使用者自定义,无需和插件者保持一致或与者协调。在后续的插件使用中,该名称将被用于表示该插件。
如果插件只在一个分包内用到,可以将插件仅放在这个分包内。
在分包内使用插件有如下限制:
仅能在这个分包内使用该插件;同一个插件不能被多个分包同时引用;如果基础库版本低于2.9.0,不能从分包外的页面直接跳入分包内的插件页面,需要先跳入分包内的非插件页面,再跳入同一分包内的插件页面。
使用插件:使用插件时,插件的代码对于使用者来说是不可见的。为了正确使用插件,使用者应查看插件详情页面的“文档”一节,阅读由插件者提供的插件文档,通过文档来明确插件提供的自定义组件、页面名称及提供的 接口规范等。
自定义组件:使用插件提供的自定义组件,和使用普通自定义组件的方式相仿,在 文件需要引入自定义组件。
出于对插件的保护,插件提供的自定义组件在使用上有一些限制:默认情况下,页面中的 接口无法获得插件的自定义组件实例对象; 等接口的深度选择器无法选入插件内部。
页面:插件的页面从小程序基础库版本 2.1.0 开始支持。需要跳转到插件页面时, 使用 前缀。
接口:使用插件的 接口时,可以使用 方法。
导出到插件:从基础库 2.1.1 起,使用插件的小程序可以导出一些内容,供插件获取。
具体来说,在使用插件时,可以通过 字段来指定一个文件。
使用插件的小程序在 文件中做了如下导出:
那么插件就可以获得上面导出的内容:
为插件提供自定义组件:有时,插件可能会在页面或者自定义组件中,将一部分区域交给使用的小程序来渲染,因此需要使用的小程序提供一个自定义组件。但由于插件中不能直接指定小程序的自定义组件路径,因此需要通过为插件指定抽象节点的方式来提供。
从基础库 2.12.2 起,可以通过配置项为插件页面指定抽象组件实现。