3 月 13 日,小程序插件功能上线;8 月 底,在时隔半年后,为进一步推广插件功能,微信在开发者社区上线了插件版块。

小程序插件是可以被开发者添加到小程序内直接使用的,能为用户提供具体服务的功能组件——

· 插件开发者可像开发小程序一样开发插件,除了在自己的小程序内使用,还能提供给其他小程序直接使用。

· 插件使用者无需独立开发小程序内的所有服务,无需理解插件内部逻辑和实现方式,可直接使用别人开发好的插件,为用户提供相应服务。

在最新上线的社区插件版块中,插件使用者可以搜索并查看插件的名称、AppID、适用行业及场景、线上案例等信息。

想了解更多详情,欢迎访问开发者社区插件版块(建议电脑访问):

developers.weixin.qq.com/wxaplugin?a…

手机端用户也可以扫码访问

为何推出小程序插件

小程序的初衷是希望更好地连接用户和服务。自上线以来,越来越多的商户、开发者开发自己的小程序。

早晨起来在小区电梯内,扫小程序码,即可叫个早餐外卖;走到门口,扫共享单车的二维码,骑车即走;到了公司,即可打开小程序轻松打卡,开始美好的一天上班生活……

而随着小程序的普及,越来越多的路边小摊、餐饮小店、夫妻店也希望接入小程序,许多商家会反映亟待解决的问题到微信平台:

  • 我只会简单开发,不会做复杂的功能怎么办?
  • 我也想给餐馆小程序做一个预约订餐功能,要怎么搞?
  • 客户可以在我的小程序里查询快递信息吗?
  • 我没有数据,可以在小程序里做地图查找功能吗?
  • ……

根据用户的反馈,我们总结出了大家目前遇到的三大难题:

  • 开发技术有限,实现复杂功能难度大;
  • 人力、设备、资源有限,实现服务成本高;
  • 缺乏某些类目的资质,如电商、打车。

对于以上问题,我们推出了小程序插件来解决。

小程序插件的应用

1.开发共享,避免重复开发 在小程序内使用插件,可免去小程序开发者重复开发,一定程度上减少了开发工作量。

如:在旅游景区的小程序可以使用地图插件,开发者无需在小程序内独立开发地图内导航、出行指引、周边服务推荐等能力,直接使用地图插件即可为用户提供导航服务,免去很大量的开发工作。

2.插件可提供针对行业的完整服务,同时覆盖线上线下

商家希望借助小程序更好地连接用户和服务,包括线上、线下服务。线下服务往往人力成本、硬件设备等要求较高,商家在小程序内提供完整服务的门槛较高。而插件不仅可以解决线下服务的问题,还能针对特定行业提供全套完整服务。

以景区服务小程序为例,使用门票购买插件,用户可在小程序内完成门票线上预订、购买等流程,在到达景区后,通过插件服务提供商提供的移动终端或硬件设备,可完成门票兑换、核销。

而对于餐饮、零售等线下行业而言,插件更是极大降低了商家的成本,商家可以使用预订、排队、外卖等插件,由插件开发者提供线下服务,商家只需在小程序内引用插件,即可使用由插件开发者提供的预订、外卖等服务,节省了成本。

3.降低服务门槛的问题,实现「服务共享」

具有开发能力及服务资质的开发者,可将自己的服务封装成插件,提供给其他小程序使用,实现「服务共享」。

插件的技术原理

插件本身的技术原理并不复杂。插件代码由一些自定义组件和 JS 代码文件构成,插件开发者在发布插件时,这些代码被上传到微信后台保存起来。

当小程序使用插件时,使用者需填写插件的 AppID 和版本号,以便从后台获取相应的插件代码。小程序代码编译时,插件代码会被嵌入到小程序中,与小程序一起编译运行。

小程序与插件的交互

根据需要,插件代码可以提供 JS 接口或自定义组件供小程序调用。JS 接口可以用于界面无关的逻辑,自定义组件可以嵌入界面中展示。

对于插件使用者来说,插件的调用方法很简单。

使用插件 JS 接口

与普通 JS 文件间 require 的方式一样,只需将 require(FILE_NAME)改成requirePlugin(PLUGIN_NAME)这样的调用形式。

使用插件提供的自定义组件

与使用普通自定义组件的方法非常相似。在 JSON 文件的 usingComponents 段落中,按照plugin://PLUGIN_NAME/COMPONENT_NAME 的形式使用即可。

对于插件开发者而言,这里给出几点建议:

  • 提供充分的接口文档和示例,方便插件使用者了解插件的使用方法;
  • 注意保持插件不同版本间接口的稳定,使插件使用者能顺利升级插件;
  • 计算小程序代码包大小时,插件代码也会一并计算在内,所以应当控制好插件代码的大小。

插件代码运行环境

插件代码的运行环境与小程序代码有一定的区别,主要是以下两点:

插件可以发起网络请求的域名与小程序不同,因此插件开发者需要注意在插件后台的设置中正确配置网络请求域名。

插件可以调用的 API 有一定的限制,并不是所有的接口插件都可以调用,如页面跳转相关的接口是不允许插件调用的。插件开发者在使用一些特殊接口前,请查询文档中的插件可调用接口列表。

此外,目前一个小程序最多可使用 5 个插件,赶紧将插件用起来,节约开发者成本吧。

详情可参考《小程序插件接入指南》(建议电脑访问):

developers.weixin.qq.com/miniprogram…

 内容来自:微信开放社区《小程序·小故事》栏目作者:小 k、LastLeaf任何问题,欢迎前往微信开放社区:https://developers.weixin.qq.com
复制代码

了解更多微信小程序开发者内容,欢迎扫码关注微信公众号-微信极客WeGeek

从原理到应用,一文带你了解小程序插件能力相关推荐

  1. 从原理到应用,一文带你了解微信小程序插件能力

    3月13日,微信小程序插件功能上线:8月底,在时隔半年后,为进一步推广插件功能,微信在开发者社区上线了插件版块. 小程序插件是可以被开发者添加到小程序内直接使用的,能为用户提供具体服务的功能组件-- ...

  2. 【微信小程序】一文带你吃透小程序开发框架——逻辑层

    0️⃣写在前面 开发者写的所有代码最终将会打包成一份 JavaScript 文件,并在小程序启动的时候运行,直到小程序销毁.这一行为类似 ServiceWorker,所以逻辑层也称之为 App Ser ...

  3. 【微信小程序】一文带你吃透小程序开发框架——视图层中的事件系统

    0️⃣前言 事件是视图层到逻辑层的通讯方式. 事件可以将用户的行为反馈到逻辑层进行处理. 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数. 事件对象可以携带额外信息,如 id ...

  4. 文心一格小程序,AI绘画产品

    文章目录 AIGC 什么是AI作画? Prompt 文心一格 文心一格小程序 使用方法 使用小程序进行AI绘图 AIGC的未来发展 结语 AIGC  AIGC(AI Generated Content ...

  5. “云脉文档管理”微信小程序提供高效的办公体验

    在如今的大数据时代,每个企业以及个人,都会有大量的文件需要被管理.在此基础上,ocr人工智能就孕育而生了,它不仅仅能够为企业带来高效的办公效率,而且还能使无序的纸张,变的更容易管理,能够做到在海量的数 ...

  6. (转)跳一跳带火了小程序后 微信小程序电商的路越来越难走了!

    https://baijiahao.baidu.com/s?id=1591002503445236944&wfr=spider&for=pc 前段时间火遍全国的"跳一跳&qu ...

  7. 微信小程序通过云函数生成带参数的小程序码

    小程序云开发还是挺强大啊,以前动不动就需要后端攻城狮进行操作,现在没后端啥事了,但是头发却开始紧张了啊!o(╥﹏╥)o 公众平台模式: 在没有用云函数时,只能先在微信公众平台去生成带参数的小程序码,接 ...

  8. 人脉社群系统带流量主小程序源码【源码好优多】

    1.一个集发布.展示社群信息.人脉推广的裂变工具/平台. 2.通过人脉广场,将商家信息通过名片进行展示,让同城服务.资源对接.人脉推广更加便捷高效.低门槛创建商家名片,通过分享转发,在实现推广宣传自己 ...

  9. 随机头像大全,多分类带历史记录微信小程序源码下载支持流量主

    这是一款头像小程序 用户可以在每一个分类随机头像 然后觉得满意可以保存到相册 支持多个分类,基本都是全了如下: 动漫头像 男生头像 女生头像 动漫男生 动漫女生 另外还支持多种流量主模式 具体大家自行 ...

最新文章

  1. 积累这么多年的面试题与经验分享,免费下载
  2. 50个运维必会的常识和操作
  3. python语言是一门编程语言_python是一门怎样的编程语言?老男孩python入门
  4. SkyWalking配上告警更优秀
  5. java调用怎么调用方法区_Java中的方法调用有多昂贵
  6. 活动选择(信息学奥赛一本通-T1323)
  7. 托管元数据(2)——托管元数据和搜索中的精简面板
  8. matlab2c使用c++实现matlab函数系列教程-factorial函数
  9. mysql安装包5.7.17.0_mysql-5.7.17-winx64压缩版的安装包下载和安装配置
  10. C#学习(十一)——IntPtr类型
  11. 前端Photoshop插件cutterman的下载和安装以及使用
  12. 2019年计算机考研408历年真题2009-2019下载免费下载
  13. 如何将dom转化为pdf
  14. rank函数怎么用oracle,Oracle学习教程:rank函数的使用
  15. 矩阵笔记1:矩阵分析(第三版)-史荣昌-第一章:线性空间和线性变换
  16. 一位期货老将的经验之谈(转)
  17. 计算机非全日制硕士 选校,非全日制硕士研究生,到底值不值得报考?看完这篇就懂了!...
  18. u盘格式化后数据能恢复吗?如何1个方法做到u盘格式化数据恢复?
  19. vue el-dialog 实现弹窗无限嵌套(点击弹窗弹出新的弹窗,可以一直点击)
  20. java 微信 小程序 模板 推送

热门文章

  1. 凭据分配没有加密oracle_远程连接身份验证错误,又找不到加密Oracle修正
  2. 前端打印样式乱了_皮具大百科之皮料上的3D打印,连花的阴影都能完美复刻!超美工艺...
  3. 计算机网络系统工程技术交底,技术交底内容大全
  4. html页面在f5刷新后把所有值清零,页面刷新列表内容不丢失
  5. 计算机系统验证具体的做法,计算机化验证的再验证周期需要定吗?
  6. 关于 GraphQL 快速入门
  7. python模拟抛体运动_换个姿势学物理!用Python和Matplotlib进行模拟
  8. Android的ListView长按监听器
  9. android聊天界面对话气泡_你在和脚本谈恋爱(自动化在IM聊天中的应用)
  10. 20191011:冒泡排序的改良版--Shaker排序