ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
当需要扩展微擎系统功能时,微擎提供一套扩展机制称之为“微擎模块”,每一个模块就是一个独立的功能,通过微擎系统创建、安装、更新及卸载。 ### 设计一个新模块 [点击这里开始设计](http://www.phpwc.cn/portal.php?mod=list&catid=14)(注:必须先使用创始人权限登录后操作) ### 生成模块填写说明 1. **模块名称**:自定义填写 2. **模块标识**:填写如 xxx_yyy (phpwc_hon858)必须加——,且不能与系统中其他模块标识相同,为避免标识相同,建议xxx以你自己的姓名首字母命名,yyy以模块名称首字母命名。 3. **版本号**:如无特殊情况,请填写1.0 4. **模块类型**:自己选择一个即可 5. **模块简述**:随便写 6. **模块介绍**:随便写 7. **作者**:如无特殊情况,请填写phpwc 8. **模块发布页**:默认即可 9. **模块全局配置项**:当勾选此项时,模块安装后系统会生成一个“模块配置”的菜单,用于保存一些模块内部使用的配置项。 开发者必须要完善 module.php 类文件中的 public function settingsDisplay($settings){} 成员方法 10. **订阅的消息类型**:当勾选此项下的事件类型后,系统会在接收到相关类型的事件后,转发消息到模块中。模块接到消息后可以处理数据,但无法返回结果(系统不接收)。 开发者必须要完善 receiver.php 类文件中的 public function receive(){} 成员方法 11. **处理的消息类型**:当勾选此项下的事件类型后,模块有权限可以直接接管选中的事件。比如,用户向公众号发送了一图片,触发了图片事件,系统接到此事件后,会直接转到至模块中处理,并返回结果。 开发者必须要完善 processor.php 类文件中的 public function respond(){} 方法 12. **是否要嵌入规则**:当勾选此项后,模块安装后系统会自动添加“回复规则列表”菜单,用户可以设置关键字触发到模块中。 开发者必须要完善 processor.php 类文件中的 public function respond(){} 方法 ![](https://box.kancloud.cn/2016-04-20_571709015be3d.png) 13. **微站功能封面**:设置此项后,安装模块后系统会按照设置的项的标题生成出若干个设置入口菜单,管理员进入设置关键字后,粉丝可以直接通过关键字触发到该链接中。 例如:操作名称为首页,标识为index,设置关键字为“进入首页”,触发后系统回复图文信息,粉丝点击进入 site.php 类文件中的 public function doMobileIndex(){} 方法中 ![](https://box.kancloud.cn/2016-04-20_57170904ea2f3.png) 14. **规则列表**:当模块开启嵌入规则后,开发者可以扩展“回复规则列表”中的功能菜单。 开发者需要完善 site.php 类文件中的 public function doWeb{入口标识}(){} 相关方法,其显示位置如下: ![](https://box.kancloud.cn/2016-04-05_570320b7ec674.png) 15. **管理中心导航菜单**:模块安装后系统会在管理中心生成一个导航入口。 开发者需要完善 site.php 类文件中的 public function doWeb{入口标识}(){} 相关方法 ![](https://box.kancloud.cn/2016-04-20_571709050f097.png) 16. **权限标识**:PHPWC支持模块内部的权限判断,此处添加权限标识后,管理人员才可以在后台分派相应的权限给操作人员,权限标识由:标识名称和标识组成。例如,添加门店:we7_demo_store_add"。标识格式:模块名称_标识。例如,名称名称为:we7_demo,标识为:store_add,则对应标识为:we7_demo_store_add 模块内部可以通过 * uni_user_module_permission_check(‘we7_demo_store_add’);* 来判断用户是否有使用权限。 17. **微站首页导航图标、微站个人中心导航、微站快捷功能导航**:设置此项后,管理员在添加相应的导航时,可以从此设置项中选取模块中的链接 18. **模块安装脚本、模块卸载脚本、模块升级脚本**:此项中填写运行的php文件名,例如install.php,当模块在执行相应的操作时,系统会调用相应注册的php文件。