[TOC]
###什么是设计模块
当需要扩展微擎系统功能时,微擎提供一套扩展机制称之为“微擎模块”,每一个模块就是一个独立的功能,通过微擎系统创建、安装、更新及卸载。
以下讲解怎么在微擎系统中设计创建一个模块。
### 微擎模块设计助手
可以通过 **系统** - **模块** - **设计新模块** 或是通过 **http:%%//%%你的微擎链接/web/index.php?c=extension&a=module&do=designer&** 直接进入
##### 设计新模块配置说明
#### 1. 模块基本信息
* “模块名称”用于在系统中给用户显示出模块的名字
* “模块标识”只能为英文,数字,下划线,为了减少模块标识的重复和冲突,系统规定模块必须有前缀,例如:we7_demo
* “版本号”用于标识模块版本,主要是用作于模块升级更新使用
#### 2. 模块全局配置项
当勾选此项时,模块安装后系统会生成一个“模块配置”的菜单,用于保存一些模块内部使用的配置项。 开发者必须要完善 **module.php** 类文件中的 **public function settingsDisplay($settings){}** 成员方法
#### 3 订阅的消息类型
当勾选此项下的事件类型后,系统会在接收到相关类型的事件后,转发消息到模块中。模块接到消息后可以处理数据,但无法返回结果(系统不接收)。
开发者必须要完善 **receiver.php** 类文件中的 **public function receive(){}** 成员方法
#### 4 处理的消息类型
当勾选此项下的事件类型后,模块有权限可以直接接管选中的事件。比如,用户向公众号发送了一图片,触发了图片事件,系统接到此事件后,会直接转到至模块中处理,并返回结果。
开发者必须要完善 **processor.php** 类文件中的 **public function respond(){}** 方法
#### 5 是否要嵌入规
当勾选此项后,模块安装后系统会自动添加“回复规则列表”菜单,用户可以设置关键字触发到模块中。 开发者必须要完善 **processor.php** 类文件中的 **public function respond(){}** 方法
#### 6 是否支持使用优惠券
当勾选此项后,用户在创建(代金券和折扣券)时,模块将出现在适用模块列表中。 当添加后,模块需要完成导粉丝领取该优惠券。领取后,粉丝在该模块需要支付金钱时,可选择使用该优惠券来减免金额
#### 7 微站功能封面
设置此项后,安装模块后系统会按照设置的项的标题生成出若干个设置入口菜单,管理员进入设置关键字后,粉丝可以直接通过关键字触发到该链接中。
例如:操作名称为首页,标识为index,设置关键字为“进入首页”,触发后系统回复图文信息,粉丝点击进入 **site.php** 类文件中的 **public function doMobileIndex(){}** 方法中
#### 8 规则列表
当模块开启嵌入规则后,开发者可以扩展“回复规则列表”中的功能菜单。
开发者需要完善 **site.php** 类文件中的 **public function doWeb{入口标识}(){}** 相关方法,其显示位置如下:
![](https://box.kancloud.cn/2016-04-05_570320b7ec674.png)
#### 9 管理中心导航菜单
模块安装后系统会在管理中心生成一个导航入口。
开发者需要完善 **site.php** 类文件中的 **public function doWeb{入口标识}(){}** 相关方法
#### 10 权限标识
微擎支持模块内部的权限判断,此处添加权限标识后,管理人员才可以在后台分派相应的权限给操作人员。
权限标识由:标识名称和标识组成。例如,添加门店:we7_demo_store_add"。标识格式:模块名称_标识。例如,名称名称为:we7_demo,标识为:store_add,则对应标识为:we7_demo_store_add
模块内部可以通过 ** uni_user_module_permission_check('we7_demo_store_add');** 来判断用户是否有使用权限。
#### 11 微站首页导航图标、微站个人中心导航、微站快捷功能导航
设置此项后,管理员在添加相应的导航时,可以从此设置项中选取模块中的链接
#### 12 模块安装脚本、模块卸载脚本、模块升级脚本
此项中填写运行的php文件名,例如install.php,当模块在执行相应的操作时,系统会调用相应注册的php文件。
【无需登录即可展示】:
* Web 端: 不显示左边菜单导航, 将页面完全显示.
* App 端: 访问入口系统不检测用户是否登录(//checklogin()//)。
**注意: 填写的【入口标识】使用纯字母, 不要带 "_" 等.**
【模块菜单位置图解】
![](https://box.kancloud.cn/2016-04-05_570320b80ffd3.jpg)
- 入门
- 系统安装
- 接入公众平台
- 关键字回复
- 更上一层楼
- 编码规范
- php编码规范
- html&css编码规范
- JavaScript编码规范
- 系统概述
- 结构概述
- 入口脚本
- 微擎MVC
- URL路由&创建
- $_W&全局变量
- 加载器
- 错误处理
- 日志记录
- 模板
- 模板标签
- 数据调用
- 常用变量
- 手机端组件
- 概述及依赖
- 图像上传
- 弹出选项
- 后台组件
- 概述及依赖
- 后台文件上传
- 富文本编辑器
- 系统链接选择器
- 其它常用组件
- 数据库
- 参数绑定
- 数据操作
- 主从配置
- 连接其它数据库
- 缓存
- 配置
- 缓存操作
- Http请求
- 概述及依赖
- GET&POST请求
- 发送邮件
- 会员与积分
- 统一用户中心
- 借用OAuth
- 积分操作
- 资料操作
- 卡券
- 营销卡券
- 会员卡
- 消息响应
- 消息概述
- 消息响应
- 微信API
- 公众号AccessToken
- 共享收货地址(废弃)
- 共享收货地址(新)
- 粉丝标签
- 客服消息
- 模板消息
- 粉丝信息
- 素材
- 群发
- 二维码
- 在线支付
- 概述及依赖
- 发起支付(PHP)
- 发起支付(JS)
- 验证支付
- 模块
- 设计模块
- 目录结构
- module.php
- processor.php
- site.php
- receiver.php
- 模块高级专题
- 自定义分享
- 智能应答
- 微信卡券
- 远程附件
- 权限控制
- 特殊事件触发模块
- 粉丝信息
- 小程序
- 概述
- Uitl类
- 云服务
- 云API
- 系统接口
- 模块云配置
- 云短信
- 云短信错误代码
- 云短信发送函数
- 批量群发短信
- 应用推广
- 悬赏文案
- 折扣码
- 系统消息
- 开发者等级资料认证
- 应用标签
- 模块自动检测订阅支持
- 小程序
- 开发实例
- 参数设置
- 常见问题