前言: 工作需要,开发了一个小程序插件,首次接触,踩了蛮多坑,吃一堑长一智,记录一下,官方文档已经很全,没必要都搬过来,本文主要记录本人踩的坑点,以及开发过程中的注意点
写在前面:
wx 对象下),所以在开发前,最好测一下要用的接口是否在wx对象下
正文开始~
大体上分5步,如下:
在这一部分的注意点:
正式开发啦~

plugin :插件代码目录。miniprogram :用于插件调试、预览和审核的小程序。(不是插件所有者小程序)doc :用于放置插件开发文档。在提审前要提交README.md文件到后小程序后台,作为开发文档 
在开发工具中,开发模式要选为插件模式,在miniprogram目录下的app.json中, 配置如下,provider就是插件提供者,就是插件的AppID

plugin.json 列出publicComponents 段中列出pages 段中列出navigator 组件。当插件跳转到自身页面时, url 应设置为这样的形式:plugin-private://PLUGIN_APPID/PATH/TO/PAGE 。需要跳转到其他插件时,也可以这样设置 url 。 自基础库版本 2.2.2 开始,在插件自身的页面中,插件还可以调用 wx.navigateTo 来进行页面跳转, url 格式与使用 navigator 组件时相仿。
- <navigator url="plugin-private://wxidxxxxxxxxxxxxxx/pages/hello-page">
- Go to pages/hello-page!
- </navigator>

因为有些API在插件中是不能使用的,比如获取用户信息、支付等,微信提供了插件功能页来实现这个功能,目前有5个功能页,分别是:
注意点:
a、如果插件未开通,functional-page-navigator 点击后会无响应
b、要使用插件功能页,需要先激活功能页特性,配置对应的功能页函数,再使用 functional-page-navigator 组件跳转到插件功能页,从而实现对应的功能。
c、在基础库版本2.22.1起,除用户信息功能页外,其他四个功能页都可以通过直接调用对应的接口实现功能.
d、功能页函数需要放在插件所有者小程序的根目录下,与app.json同级

f、功能页的跳转目前不支持在开发者工具中调试,要在真机上测试(切记!切记!切记!)
app.json 文件中添加 functionalPages 定义段,并令其值为 true ,旧式写法将被移除,未来会直接不可编译,这里就不展示旧式写法了- {
- "functionalPages": {
- "independent": true
- }
- }
ps:学习成长过程的简单记录,如有不恰当之处,欢迎交流!