>[success]**MyPCQQ是个极其开放的框架体**!
>我们欢迎各位开发者一起来完善。
>*-----MyPCQQ Lib 2016.05.01*
# 0x00 开发插件之前
## 什么是插件?
>[info] *插件*是一种遵循一定规范的应用程序接口编写出来的程序。其只能运行在程序规定的系统平台下(可能同时支持多个平台),而不能脱离指定的平台单独运行。
> *-----摘自《百度百科》*
综上所述,插件就是一个使MyPCQQ进行扩展的程序,通过插件,就可以使MyPCQQ实现极其丰富的功能。
好比一只乐队,MyPCQQ是指挥,插件就是各分部。
## 插件如何工作?
~~~
MyPCQQ框架 ----是否有消息----有否有插件处理---->插件处理(真) 忽略(假)
插件处理 ---- 是否符合一定的执行条件 ---->执行相关代码(真) 忽略(假)
执行相关代码 ---->调用相关API ----是否丢给下个插件执行---->抛弃(真) 忽略(假)
~~~
## 编写MyPCQQ的插件,我需要什么?
MyPCQQ系易语言编写,所以对于易语言编译出来的东西的支持能力比较好。若使用易语言编写插件,您需要一个易语言IDE(集成开发环境)。我们推荐您购买正版的易语言以使编译结果有更强大的能力。
另外官方为易语言提供了开发模板,这些东西可以在MyPCQQ本体目录下找到,本文档会以易语言为相关模板进行说明。
>[info]MyPCQQ作为Windows平台上的软件,所以大部分其他编程语言也是可以使用的。
但是需要特别注意的是,易语言使用stdcall(C系语言声明方式,其他语言可能略有出入)方式以声明公开函数入口。您需要通过这种方式声明MyPCQQ所需要函数的入口,这样才可以使MyPCQQ正确识别并加载插件。
另外一种实现方式就是在MPQ内加载一个DLL,由这个DLL再以各种方式调用其他语言的DLL从而达到兼容的目的。
社区可能会有一些大神开发的其他语言的模板,您也可以寻找来试一试。
如果您希望您的模板出现在开发文档的推荐内,请您联系freejishu@mypcqq.cc,并附上一个可以联系到你的QQ。感谢您对MyPCQQ做出的贡献。
--------
>[warning]关于开发文档,还是要说几句:
开发文档中存在的非定义性质的东西(比如代码书写方法)可能因人而异。如果是初学者,我们希望您可以养成一个良好的代码习惯。这有利于您编写的插件更稳定的在框架上运行,对于个人来讲习惯意义也是很大的。
由于开发文档会涉及的东西比较多,所以可能难免错误或者不规范的写法或者说法等。我们欢迎开发者在社区的编程板块一起探讨开发上的问题,共同进步。
--------
>[info]编写:freejishu
>润色:a632079 & 斯米拉
>审核:Eghuai
>最后更新:2017.06.18