`
zhangdaiscott
  • 浏览: 441062 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
8fb25857-16b4-3681-ab5e-e319f45c42a8
Jeecg快速开发平台
浏览量:0
文章分类
社区版块
存档分类

微信小程序插件 - 开发教程

阅读更多

昨天(2018.3.13),微信小程序发布了重大功能更新,支持插件的使用和开发,个人预计,不超过2个月,优质服务的插件将会如雨后春笋般涌现。

这篇文章,我将会带大家,从0开始,学习如何开发和使用插件。文章分为3个章节:

  • 1、什么是微信小程序插件

  • 2、如何开发微信小程序插件

  • 3、如何使用第三方微信小程序插件

备注:为了节省文字内容,我会将“微信小程序插件”简称为“插件”。

什么是微信小程序插件?

插件一组由js和自定义组件封装的代码库,插件无法单独使用、也无法预览,必须被其他小程序应用嵌入,才能使用。它和NPM的依赖、Maven的依赖库是一个道理。

不过,插件和NPM、Maven依赖管理不同的是:

  • 插件拥有独立的API接口和域名列表,不被小程序本身的域名列表限制。(NPM依赖进来的库不能进行第三方数据请求)

  • 插件必须由腾讯审核通过才能使用(NPM无需腾讯审核)

  • 使用第三方插件必须向第三方申请 (通过NPM使用第三方库无需向第三方申请)

所以,我觉得:在未来,插件应该会被第三方打包成为服务,而不仅仅只是一个代码库。

如何开发微信小程序插件?

下载最新的微信小程序开发者工具,(必须是 1.02.1803130 版本以上),打开开发者工具,进入小程序项目,我们会看到“代码片段”标签,如下图:



 点击,右下角的 “创建” 按钮,就可以创建插件了,如下图:


插件的AppId和之前的微信小程序的AppId是同个道理,需要在微信开发者后台新建一个微信小程序插件:



 

 

微信小程序插件的名称也必须是独一无二的,申请完毕后就可以获得 插件的AppId了。

填写名称和插件AppID后,进入小程序项目,如下图显示:



 

项目的代码目录结构如下:

├── miniprogram
│   ├── app.js
│   ├── app.json
│   └── pages
├── plugin
│   ├── api
│   ├── components
│   ├── index.js
│   └── plugin.json
└── project.config.json

在文件 project.config.json 中,我们看到代码如下:

{
    "miniprogramRoot": "./miniprogram",
    "pluginRoot": "./plugin",
    "compileType": "plugin",
    "setting": {
        "newFeature": true
    },
    "appid": ".....",
    "projectname": "videoPlayer",
    "condition": {}
}
  • miniprogramRoot:配置小程序的根目录,可以使用小程序来测试编写的插件

  • pluginRoot:插件相关代码所在的根目录

  • compileType:项目的编译类型,必须配置为 plugin,在上传代码的时候才会以插件的方式上传到腾讯服务器。

     

在 plugin/plugin.json 文件中,代码如下:

{
  "publicComponents": {
    "hgPlayer": "components/player/player"
  },
  "main": "index.js"
}
  • publicComponents:配置的是插件可以给使用的小程序提供哪些组件,一个插件可以定义很多个组件,组件和组件之间相互引用,但是小程序只能使用在publicComponents里配置的组件。

  • main:定义入口文件,在入口文件 index.js 中定义小程序可以使用插件的那些接口。

     

在 plugin/index.js 文件中,代码如下:

var data = require('./api/data.js')

module.exports = {
  getData: data.getData,
  setData: data.setData
}

 

在 plugin/index.js 定义了对外抛出接口为 getData 和 setData,小程序在使用这个插件的时候,只能使用到插件提供的这两个接口,插件的其他接口(或方法)小程序无法使用。

做好以上配置后,就可以开始在 plugin/components 编写组件代码了,例如我写了我的播放器组件,代码如下:

player.js:

Component({
  data: {
    myData:[]
  }
})

 

player.wxml:

<view class="section tc">
  <video id="myVideo" src="..."  enable-danmu danmu-btn controls>
  </video>
</view>

 

值得注意的是:

  1. 编写组件是调用 Component() 定义组件代码,和App() 、Page()一样的道理。

  2. 在组件能能够调用的微信API受限,比如说不能调用 wx.login() 获取用户信息,具体限制在:https://mp.weixin.qq.com/debug/wxadoc/dev/framework/plugin/api-limit.html

 

代码编写完毕后,注意在 plugin/plugin.json 文件配置:

{
  "publicComponents": {
    "hgPlayer": "components/player/player"
  },
  "main": "index.js"
}

 

表示使用该插件的小程序,可以使用 hgPlayer 这个组件,组件hgPlayer对应的代码是 "components/player/player"

配置好后,我就可以上传插件代码到腾讯服务器,进入微信小程序开发者后台提交审核,腾讯审核通过后,第三方小程序就可以使用我们编写的这个插件了。

 

如何使用第三方插件

使用第三方插件之前,需要进入微信小程序开发者后台,在第三方服务里添加插件:



 

填写第三方插件的AppId,点击添加按钮,对方账号的 小程序插件 > 申请管理 会出现你的申请,如下图:


需要第三方同意你的申请后,你就可以开始使用第三方插件了。

使用第三方插件的时候,需要在 我们自己的小程序的 app.json 做如下配置:

{
  "pages": [
    "pages/index/index"
  ],
  "plugins": {
    "myPlugin": {
      "version": "dev",
      "provider": "填写申请通过的插件AppId"
    },
    "plugin1": {
      "version": "dev",
      "provider": "填写申请通过的插件AppId"
    },
     "plugin2": {
      "version": "dev",
      "provider": "填写申请通过的插件AppId"
    }
    ...
  }
}

plugins: 配置的要使用的第三方插件列表。

插件列表配置好后,由于每个插件可能会有多个组件,所以需要我们在每个页面定义要使用到的组件,例如,在 index.js 中要使用 hgPlayer 这个组件,需要在 index.json 配置如下:

{
  "usingComponents": {
    "player": "plugin://myPlugin/hgPlayer"
  }
}

 

"player": "plugin://myPlugin/hgPlayer" 的含义是:要本页面使用插件 myPlugin 的组件 hgPlayer,同时在本页面的别名为 :player 。

配置好 index.json 后,就可以在 index.wxml 直接使用了,例如:

<view class="xxxx">
    <player />
</view>

 

 

  • 大小: 162.7 KB
  • 大小: 161.3 KB
  • 大小: 82.5 KB
  • 大小: 52.7 KB
  • 大小: 84.2 KB
  • 大小: 69.7 KB
  • 大小: 48.4 KB
  • 大小: 41.8 KB
分享到:
评论

相关推荐

    原生微信小程序源码 - -麻将骰子:附详细教程

    本教程将深入探讨如何使用原生微信小程序开发一款麻将骰子应用,帮助开发者掌握小程序的基本概念、架构和编程技巧。 首先,我们要了解微信小程序的基本架构。微信小程序基于JavaScript,采用了WXML(Weixin Markup ...

    ChatGPT智能AI机器人微信小程序源码-带部署教程

    最近ChatGPT智能AI聊天突然爆火了 ChatGPT 是 OpenAI 开发的一款专门从事对话的人工智能聊天机器人原型。...今天就给大家带来一款小程序版本的程序 包含前后端安装比较简单的其实 PS:api需要用户自行注册获取哈

    zblog微信小程序模板-青春主题小程序免费开源模板

    源码功能: 1.首页自定义轮播 2.首页自定义热门推荐 ...第六步:修改zblog后台 青春小程序插件配置,小程序插件配置有对应的文本教程 第七步:登录小程序后台,点击版本管理,上传发布,审核通过后确认发布即可。

    微信小程序源码-医疗保健类:医疗保健课程(完整带node后台).rar

    1. 微信小程序:微信小程序是腾讯公司推出的一种轻量级的应用开发平台,用户无需下载安装即可在微信内使用。它利用HTML5、CSS、JavaScript等前端技术进行开发,具有快速启动、便捷分享、流畅体验等特点,适合构建...

    微信小程序开发图解案例教程(附精讲视频)(第3版)_PPT详细版.zip

    《微信小程序开发图解案例教程(附精讲视频)(第3版)》是一本针对初学者和进阶开发者设计的教程,旨在帮助读者全面掌握微信小程序的开发技能。通过PPT详细版的形式,该教程提供了丰富的图文并茂的教学内容,使学习...

    微信小程序源码-医疗保健类:医疗急救小程序.rar

    总结,开发“微信小程序源码-医疗保健类:医疗急救小程序”涉及到微信小程序的基本框架、页面设计、功能实现、用户交互等多个方面。开发者需要掌握WXML、WXSS和JavaScript等技能,并理解微信小程序的开发规范和API。...

    微信小程序源码-美容预约项目.zip

    微信小程序是一种轻量级的应用开发平台,主要针对移动端,由腾讯公司推出,旨在提供便捷的、无需下载安装即可使用的应用服务。在这个“微信小程序源码-美容预约项目.zip”压缩包中,我们可以推测这是一个用于美容...

    微信小程序KFC-master.zip

    10. **持续学习与社区资源**:微信小程序社区活跃,有许多教程、案例和插件可供学习和参考。同时,微信官方也会定期更新文档和新功能,开发者需要持续关注以保持技术的领先性。 通过深入研究"微信小程序KFC-master...

    微信小程序源码-外卖点餐:饿了吗.rar

    这套“饿了吗”外卖点餐微信小程序源码,不仅是一个实际应用的案例,也是开发者学习微信小程序开发的实战教程,通过深入研究源码,可以掌握微信小程序的开发流程和技术要点,提升自己的开发技能。

    原生微信小程序源码 - -仿妈妈课堂

    微信小程序是腾讯公司推出的一种轻量级应用开发平台,它允许开发者在微信内构建无需安装即可使用的应用程序。小程序以其便捷的用户体验、快速的加载速度和丰富的功能特性,深受企业和个人开发者欢迎。它结合了移动...

    慧眼识花草微信小程序源码-植物辨别微信小程序

    这是一款由”有福气的团队”开源的慧眼识花草的云开发微信小程序源码。 该小程序可以自动识别植物名称,用户通过点击“拍照识花草”拍照或者从相册上传植物的照片,小程序可以自动查找识别与这款植物匹配的名称,...

    原生微信小程序源码 - 教务系统

    本教程将深入解析一个基于原生微信小程序开发的教务系统源码,帮助开发者了解如何构建这样的系统,包括功能设计、数据管理、用户交互等方面。 1. **小程序框架基础** 微信小程序使用了微信自家的WXML(WeiXin ...

    零基础玩转微信小程序视频教程

    11、小程序插件开发 12、小程序分包加载 13、小程序基础库版及兼容处理 14、小程序运行机制 15、小程序性能分析及优化 16、小程序云开发、云函数、云数据库 17、小程序上线和发布 黑马优购商城 1、原生框架的搭建 ...

    2023全新纯净版本知识付费微信小程序源码-附搭建教程-亲测可用

    知识付费微信小程序是一种在线教育与知识分享的平台,它利用微信小程序这一轻量级的应用形式,为用户提供便捷的课程购买、学习以及互动功能。2023全新纯净版本的源码意味着开发者对原有的代码进行了更新优化,去除了...

    看漫画微信小程序源码-独立端漫画小程序源码

    看漫画微信小程序源码,独立端漫画小程序源码是一款独立端看漫画微信小程序源码,本项目对接了看漫画网的接口,不需要额外采集或对接其他接口,并且该看漫画小程序源码开通了流量主功能。 我们只需要上传index.php...

    语音变声器微信小程序源码-支持多种音效

    如标题所示这就是一款变声器小程序源码 程序支持多种音效生成,如少女,鬼畜,恐怖,萝莉等等! 另外支持本地音频文件上传变声 也支持直接录音变声 最后支持观看激励视频保存音频文件 当然啦,也是支持在线试听的这样...

    160套小程序源码微信小程序源码合集

    (知乎日报) 微信小程序 d artand 今日更新求职招聘类 医药网 口碑外卖点餐 城市天气 外卖小程序 定位天气 家居在线 微信小程序-大好商城,wechat-weapp 微信小程序的掘金信息流 微信跳一跳小游戏源码 微票源码-demo ...

    微信小程序与插件传参交互完整demo

    本教程将深入讲解如何在微信小程序中实现与插件的参数传递和交互,以一个完整的demo为例进行说明。 首先,我们需要理解微信小程序中的插件概念。插件是由开发者提供的一种可复用的组件,其他小程序开发者可以通过...

    基于canvas 2D实现微信小程序自定义组件-环形进度条

    在微信小程序开发中,自定义组件是提升代码复用性和应用可维护性的重要手段。本教程将探讨如何利用canvas 2D API来实现一个高效、可定制的环形进度条自定义组件。Canvas 2D 提供了一套丰富的绘图接口,让我们能够...

Global site tag (gtag.js) - Google Analytics