背景
小程序插件简介
小程序插件是可以被开发者添加到小程序内直接使用的,能为用户提供具体服务的功能组件。
插件开发者可像开发小程序一样开发插件,除了在自己的小程序内使用,还能提供给其他小程序直接使用。
插件使用者无需独立开发小程序内的所有服务,无需理解插件内部逻辑和实现方式,可直接使用别人开发好的插件,为用户提供相应服务。
推出小程序插件的原因
小程序的初衷是希望更好地连接用户和服务。自上线以来,越来越多的商户、开发者开发自己的小程序。
早晨起来在小区电梯内,扫小程序码,即可叫个早餐外卖;
走到门口,扫共享单车的二维码,骑车即走;
到了公司,即可打开小程序轻松打卡,开始美好的一天上班生活……
随着小程序的普及,越来越多的路边小摊、餐饮小店、夫妻店也希望接入小程序。许多商家会给我们留言:
“我只会简单开发,不会做复杂的功能怎么办?”
“我也想给餐馆小程序做一个预约订餐功能,要怎么搞?”
“客户可以在我的小程序里查询快递信息吗?”
“我没有数据,可以在小程序里做地图查找功能吗?”……
我们总结出大家目前遇到的几个难题:
1.开发技术有限,实现复杂功能难度大
2.人力、设备、资源有限,实现服务成本高
3.缺乏某些类目的资质,如电商、打车
小程序插件的应用
1.开发共享,避免重复开发
在小程序内使用插件,可免去小程序开发者重复开发,一定程度上减少了开发工作量。
如:在旅游景区的小程序可以使用地图插件,开发者无需在小程序内独立开发地图内导航、出行指引、周边服务推荐等能力,直接使用地图插件即可为用户提供导航服务,免去很大量的开发工作。
2.插件可提供针对行业的完整服务,同时覆盖线上线下
商家希望借助小程序更好地连接用户和服务,包括线上、线下服务。线下服务往往人力成本、硬件设备等要求较高,商家在小程序内提供完整服务的门槛较高。而插件不仅可以解决线下服务的问题,还能针对特定行业提供全套完整服务。
以景区服务小程序为例,使用门票购买插件,用户可在小程序内完成门票线上预订、购买等流程,在到达景区后,通过插件服务提供商提供的移动终端或硬件设备,可完成门票兑换、核销。
而对于餐饮、零售等线下行业而言,插件更是极大降低了商家的成本,商家可以使用预订、排队、外卖等插件,由插件开发者提供线下服务,商家只需在小程序内引用插件,即可使用由插件开发者提供的预订、外卖等服务,节省了成本。
3. 降低服务门槛的问题,实现“服务共享”
具有开发能力及服务资质的开发者,可将自己的服务封装成插件,提供给其他小程序使用,实现“服务共享”。
插件的技术原理
插件本身的技术原理并不复杂。插件代码由一些自定义组件和 JS 代码文件构成,插件开发者在发布插件时,这些代码被上传到微信后台保存起来。
当小程序使用插件时,使用者需填写插件的 AppID 和版本号,以便从后台获取相应的插件代码。小程序代码编译时,插件代码会被嵌入到小程序中,与小程序一起编译运行。
小程序与插件的交互
根据需要,插件代码可以提供 JS 接口或自定义组件供小程序调用。JS 接口可以用于界面无关的逻辑,自定义组件可以嵌入界面中展示。
对于插件使用者来说,插件的调用方法很简单。
1.使用插件 JS 接口
与普通 JS 文件间 require
的方式一样,只需要将require(FILE_NAME)
改成requirePlugin(PLUGIN_NAME)
这样的调用形式。
2.使用插件提供的自定义组件
与使用普通自定义组件的方法非常相似。在json
文件的 usingComponents
段落中,按照plugin://PLUGIN_NAME/COMPONENT_NAME
的形式使用即可。
对于插件开发者而言,这里给出几点建议:
1.提供充分的接口文档和示例,方便插件使用者了解插件的使用方法;
2.注意保持插件不同版本间接口的稳定,使插件使用者能顺利升级插件;
3.计算小程序代码包大小时,插件代码也会一并计算在内,所以应当控制好插件代码的大小。
插件代码运行环境
插件代码的运行环境与小程序代码有一定的区别,主要是以下两点:
1.插件可以发起网络请求的域名与小程序不同,因此插件开发者需要注意在插件后台的设置中正确配置网络请求域名。
2.插件可以调用的 API 有一定的限制,并不是所有的接口插件都可以调用,如页面跳转相关的接口是不允许插件调用的。插件开发者在使用一些特殊接口前,请查询文档中的插件可调用接口列表。
此外,目前一个小程序最多可使用5个插件,赶紧将插件用起来,节约开发者成本吧。
详情可参考《小程序插件接入指南》。
请问插件支持嵌套么,比如插件A依赖插件外部插件B
这个插件可以用uniapp开发吗
有个问题,如果我们的使用插件过程中,插件提供方停止我们的使用会怎么样?视口可以停止呢?
我想问一下,uniapp开发的运行到小程序,插件不显示,应该怎么解决?谁有没有详细的办法?我们老板说用延迟加载,然后我不知道怎么加
https://developers.weixin.qq.com/community/develop/doc/000ca0351d8a70c35d4af309751c00?highLine=%25E6%258F%2592%25E4%25BB%25B6%25E5%259F%259F%25E5%2590%258D
插件授权域名更新后没有下发至所有用户
如何解决插件想回到第三方小程序首页的问题?
我们开发了一个插件给第三方小程序使用。第三方小程序在某个页面进入了我们的插件页面。我们想在我们插件中有个按钮,可以回到第三方小程序的首页。有什么方式实现吗?
我现在希望暴露一个接口给第三方小程序,让其传入一个地址,可以这个地址应该是什么形式呢?
(注意 第三方小程序进入我们插件页面不一定是他们的首页)
mark
你好,请问个人小程序后台没有插件功能开通吗?
你看到了嘛?我这边也没有,咋回事?
我想问问大家,我不知道插件的id怎么找插件啊 各位
为什么小程序插件内不能使用wx.login wx.getUserInfo