小程序插件接入、开发与注意事项

本文详细记录了作者在开发小程序插件过程中遇到的挑战,包括支付能力开通、本地缓存隔离、API使用限制、功能页配置及预览上传流程。重点强调了支付插件的必要开通、插件与宿主小程序的隔离机制和功能页的正确使用方法。
摘要由CSDN通过智能技术生成

前言: 工作需要,开发了一个小程序插件,首次接触,踩了蛮多坑,吃一堑长一智,记录一下,官方文档已经很全,没必要都搬过来,本文主要记录本人踩的坑点,以及开发过程中的注意点

写在前面:

  1. 小程序插件的开放范围:企业、媒体、政府及其他组织主体,即不对个人账户开发
  2. 小程序插件有服务类目限制,具体见: 插件服务类目
  3. 只要使用到 支付功能页,一定一定要在后台开通插件的支付能力! 即使支付走的是第三方,也一定要开通(饱含血泪的提醒)
  4. 开通微信支付,需要选择服务商模式,并填写服务商商户号
  5. 插件的本地缓存和插件使用者小程序的本地缓存有壁,即彼此隔离,插件使用者设置的本地缓存在插件中无法调用,反之亦然
  6. 插件所有者小程序,指的是和插件同AppID的小程序,例如: " 一路向北 " 这个小程序里开发了 "一路为你导航" 这个插件,那无论这个插件被谁引用,插件所有者小程序始终是"一路向北"
  7. 一些 API 不允许插件调用(这些函数不存在于 wx 对象下),所以在开发前,最好测一下要用的接口是否在wx对象下
  8. 插件的请求域名列表与小程序相互独立

正文开始~

1、插件开发接入流程: 官方接入流程

  大体上分5步,如下:

在这一部分的注意点:

  • 在开始开发插件之前要先开通插件,不然会导致插件无法上传,调用开发版插件需要上传插件才能获取到插件测试ID
  • 插件的服务器域名和挂载插件的小程序是不共用的,所以需要单独设置

正式开发啦~


2、开发插件

  • 创建插件项目 
    开发模式选择插件,宿主AppID和插件AppID一致,不适用云服务,点击确定,成功创建插件项目


    创建成功的项目中,包含三大目录:
        a、plugin :插件代码目录。
        b、miniprogram :用于插件调试、预览和审核的小程序。(不是插件所有者小程序)
        c、doc :用于放置插件开发文档。在提审前要提交README.md文件到后小程序后台,作为开发文档

      

在开发工具中,开发模式要选为插件模式,在miniprogram目录下的app.json中, 配置如下,provider就是插件提供者,就是插件的AppID

  •  插件配置文件
    向使用者小程序开放的所有自定义组件、页面和 js 接口都必须在插件配置文件 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>
  • 预览,发布与上传
    插件和小程序的预览、上传一致,插件没有体验版本,线上的插件会存在多个版本,插件使用者可以决定使用哪个版本
  • 在开发版小程序中使用开发版的插件
    首先在开发工具中点击右上角的上传按钮,将插件项目上传,上传成功的消息中有个插件开发ID,将这个ID复制下来,在需要使用这个开发版插件的开发版小程序中,将version设置为: "version": "dev-[开发版 ID]"


    注意:
           a、当重新上传了插件,旧的开发版ID就会失效
           b、同一个插件不同的开发者上传的开发版本互不影响,可同时有效
  •  插件开发文档
     插件开发文档会展示在插件详情页,供其他开发者在浏览插件和使用插件时进行阅读和参考
    插件开发文档就是项目目录doc中的README.md文件,文档中若要使用图片,则图片需要放置在doc目录下不能使用网络图片,
    在开发工具中右键README.md文件选择上传,就可以在小程序后台看到上传的文件,在小程序后台可以预览和发布文件
     

3、插件功能页( 插件所有者小程序 中的一个特殊页面)

因为有些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:学习成长过程的简单记录,如有不恰当之处,欢迎交流!

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值