⚙️ 模块配置系统
模块配置是多客怪兽框架中的核心组成部分,通过科学合理的配置设计,能够显著提升模块的灵活性、可维护性和扩展性。本文将详细介绍配置系统的关键组件和使用方法。
核心配置文件:Plugin.php
Plugin.php 作为模块的入口文件,定义了模块的基本信息和生命周期方法:
namespace addons\gs_example;
// 注意严格遵循命名空间规范
use think\Addons;
use hiduoke\services\FormBuilder as Form;
/**
* 插件示例
*/
class Plugin extends Addons
{
// 模块基本信息配置
public $info = [
'name' => 'gs_example', // 模块唯一标识
'title' => '示例应用', // 模块显示名称
'description' => '应用示例演示', // 模块功能描述
'status' => 1, // 默认启用状态
'author' => '怪兽开发团队', // 开发者信息
'type' => 1, // 应用类型:0插件,1微信公众号,2小程序,3企业微信,4抖音,5自由平台
//'app_type' => 'wx', // 当type为2(小程序)时,需指定小程序平台类型
'version' => '1.0' // 版本号
];
/**
* 模块初始化方法
* 在模块每次加载时执行
*/
protected function initialize()
{
parent::initialize();
}
/**
* 模块安装方法
* 在模块首次安装时执行
* @return bool
*/
public function install()
{
return true;
}
/**
* 模块卸载方法
* 清理模块相关数据和资源
* @return bool
*/
public function uninstall()
{
// 清理数据表
dk_query("drop table __PREFIX__gs_example_user;");
dk_query("drop table __PREFIX__gs_example_group;");
// 移除自定义文件目录
return true;
}
/**
* 模块升级方法
* 在模块版本更新时执行
* @return bool
*/
public function upgrade()
{
return true;
}
}
功能配置文件:config.php
config.php 文件定义了模块的权限结构、路由规则和默认地址等关键配置:
<?php
return [
// 应用权限配置
'auth' => [
'admin.project' => [
'title' => "项目管理",
'value' => [
'admin.project/table' => '表格',
'admin.project/index' => '列表',
'admin.project/edit' => '编辑',
'admin.project/add' => '新增',
'admin.project/del' => '删除',
'admin.project/recycle' => '回收站',
'admin.project/destroy' => '销毁',
'admin.project/test' => '测试地址'
]
]
],
// 路由配置规则
'routes' => [
// API接口路由配置示例
'api/[:action]' => 'api.index/[:action]' //当前将/api.index/index转换为:/api/index
],
// 默认访问地址
'url' => [
"home" => "index/index" // 模块首页地址
]
];
下图展示了权限配置在管理后台中的实际效果:

嵌入点配置:Hook.php
当前未开放,待开发,这里大概参考Discuz的嵌入点模式,让系统本身支持更多功能,但是目前有几个问题。
- 1、系统已经采用
Vue打包了,无法像php模板引擎那样做嵌入点。 - 2、系统框架是
Vue2,打算未来采用Vue3重构一次。 - 3、目前系统本身的用户群体并不大,未来可以打算做一个典型插件示例。
- 4、当前也有插件,比如开发者工具,采用的就是
腾讯无界微前端。
