💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 设计模块 - [什么是设计模块](#_1) - [微擎模块设计助手](#_2) - [设计新模块配置说明](#_3) - [1. 模块基本信息](#1__4) - [2. 模块全局配置项](#2__5) - [3 订阅的消息类型](#3__6) - [4 处理的消息类型](#4__7) 2. [5 是否要嵌入规](#5__8) 3. [6 是否支持使用优惠券](#6__9) 4. [7 微站功能封面](#7__10) 5. [8 规则列表](#8__11) 6. [9 管理中心导航菜单](#9__12) 7. [10 权限标识](#10__13) 8. [11 微站首页导航图标、微站个人中心导航、微站快捷功能导航](#11__14) 9. [12 模块安装脚本、模块卸载脚本、模块升级脚本](#12__15) ### 什么是设计模块 当需要扩展微擎系统功能时,微擎提供一套扩展机制称之为“微擎模块”,每一个模块就是一个独立的功能,通过微擎系统创建、安装、更新及卸载。 以下讲解怎么在微擎系统中设计创建一个模块。 ### 微擎模块设计助手 可以通过 **系统** - **模块** - **设计新模块** 或是通过 **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)