module.php
本文整理于网络,仅供阅读参考,如有不妥之处,敬请批评指正!如果您想加入微擎社区版技术大牛微信群和QQ群,请联系微信: ccccyyyy4444 或者 QQ:155120699
功能介绍
- 此文件功能主要嵌入系统的“自动回复” -> “关键字回复”中,微擎系统中。当设置模块时勾选 是否要嵌入规则 时,才可以嵌入规则。
- 实现应用的全局配置功能
- 实现DIY管理界面,用于进入模块后自定义显示页面
-
关于关键字回复,系统只支持最基本的 文字、图文、语音、视频等基本元素,而且这些回复需要操作员详细的设置每一项,标题、内容、链接。但是对于模块来说,需要对于这些基本的回复进行“二次封装”,生成出来标题、内容、链接这些元素。所以模块对系统自动回复扩展或是封装就需要通过 module.php这个文件来嵌入。
-
在微擎老版本当中,模块开启 存在全局参数配置时,会在此文件中的 settingsDisplay 方法来实现,由于新版微擎引入了 云参数配置 的功能,此函数已经不需要开发者来手动实现了,系统会自动调用云API来完善功能。
-
DIY管理界面,进入应用后可自定义显示页面。开启只需要在“开发者中心->管理中心菜单->启用DIY管理界面”选中即可(见下图)。只需要完善welcomeDisplay()方法及对应的welcome.html模板即可大大增加用户体验。
规范及约定
- Rcdonkey_signuptest为模块标识,类名的定义遵循“模块标识Module”规则
- 此类必须继承 WeModule 类
<?php
/**
* 接龙报名模块定义
*
* @author 米粥
* @url
*/
defined('IN_IA') or exit('Access Denied');
class Rcdonkey_signuptestModule extends WeModule {
public function welcomeDisplay($menus = array()) {
//这里来展示DIY管理界面,用于进入模块后自定义显示页面
include $this->template('welcome');
}
public function fieldsFormDisplay($rid = 0) {
//要嵌入规则编辑页的自定义内容,这里 $rid 为对应的规则编号,新增时为 0
//显示新增或是编辑规则页面
include $this->template('rule');
}
public function fieldsFormValidate($rid = 0) {
//规则编辑保存时,要进行的数据验证,返回空串表示验证无误,返回其他字符串将呈现为错误提示。这里 $rid 为对应的规则编号,新增时为 0
return '';
}
public function fieldsFormSubmit($rid) {
//规则验证无误保存入库时执行,这里应该进行自定义字段的保存。这里 $rid 为对应的规则编号
}
public function ruleDeleted($rid) {
//删除规则时调用,这里 $rid 为对应的规则编号
}
public function settingsDisplay($settings) {
global $_W, $_GPC;
load()->classs('cloudapi');
$api = new CloudApi(true);
$iframe = $api->url('debug', 'settingsDisplay', array(
'referer' => urlencode($_W['siteurl']),
'version' => $this->module['version'],
'v' => random(3),
), 'html');
if (is_error($iframe)) {
message($iframe['message'], '', 'error');
}
if($_W['ispost']) {
$setting = $_GPC['setting'];
$setting = $api->post('debug', 'saveSettings', array('setting' => $setting, 'version' => $this->module['version'], 'v' => random(3),), 'json');
if (is_error($setting)) {
}
$this->saveSettings($setting);
}
include $this->template('setting');
}
}
如果看不懂微擎社区版二次开发手册或者遇到问题,请联系微信: ccccyyyy4444 或者 QQ:155120699 ,如果我们有空闲时间,可以免费为您答疑解惑。