NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
#### 功能介绍 * 此文件功能主要嵌入系统的“自动回复” -> “关键字回复”中,微擎系统中。当设置模块时勾选**是否要嵌入规则**时,才可以嵌入规则。 * 实现应用的全局配置功能 关于关键字回复,系统只支持最基本的**文字**、**图文**、**语音**、**视频**等基本元素,而且这些回复需要操作员详细的设置每一项,标题、内容、链接。 但是对于模块来说,需要对于这些基本的回复进行“二次封装”,生成出来标题、内容、链接这些元素。所以模块对系统自动回复扩展或是封装就需要通过**module.php**这个文件来嵌入。 在微擎老版本当中,模块开启**存在全局参数配置**时,会在此文件中的**settingsDisplay**方法来实现,由于新版微擎引入了**云参数配置**的功能,此函数已经不需要开发者来手动实现了,系统会自动调用云API来完善功能。 #### 规范及约定 * Rcdonkey\_signuptest为模块标识,类名的定义遵循“模块标识Module”规则 * 此类必须继承 WeModule 类 1. `_php` 2. `/**` 3. `* 接龙报名模块定义` 4. `*` 5. `* @author 米粥` 6. `* @url` 7. `*/` 8. `defined('IN_IA') or exit('Access Denied');` 10. `class Rcdonkey_signuptestModule extends WeModule {` 12. `public function welcomeDisplay($menus = array()) {` 13. `//这里来展示DIY管理界面,用于进入模块后自定义显示页面` 14. `include $this->template('welcome');` 15. `}` 17. `public function fieldsFormDisplay($rid = 0) {` 18. `//要嵌入规则编辑页的自定义内容,这里 $rid 为对应的规则编号,新增时为 0` 19. `//显示新增或是编辑规则页面` 20. `include $this->template('rule');` 21. `}` 23. `public function fieldsFormValidate($rid = 0) {` 24. `//规则编辑保存时,要进行的数据验证,返回空串表示验证无误,返回其他字符串将呈现为错误提示。这里 $rid 为对应的规则编号,新增时为 0` 25. `return '';` 26. `}` 28. `public function fieldsFormSubmit($rid) {` 29. `//规则验证无误保存入库时执行,这里应该进行自定义字段的保存。这里 $rid 为对应的规则编号` 30. `}` 32. `public function ruleDeleted($rid) {` 33. `//删除规则时调用,这里 $rid 为对应的规则编号` 34. `}` 36. `public function settingsDisplay($settings) {` 37. `global $_W, $_GPC;` 39. `load()->classs('cloudapi');` 40. `$api = new CloudApi(true);` 41. `$iframe = $api->url('debug', 'settingsDisplay', array(` 42. `'referer' => urlencode($_W['siteurl']),` 43. `'version' => $this->module['version'],` 44. `'v' => random(3),` 45. `), 'html');` 46. `if (is_error($iframe)) {` 47. `message($iframe['message'], '', 'error');` 48. `}` 50. `if($_W['ispost']) {` 51. `$setting = $_GPC['setting'];` 52. `$setting = $api->post('debug', 'saveSettings', array('setting' => $setting, 'version' => $this->module['version'], 'v' => random(3),), 'json');` 53. `if (is_error($setting)) {` 55. `}` 56. `$this->saveSettings($setting);` 58. `}` 60. `include $this->template('setting');` 61. `}` 62. `}`