签入版本
This commit is contained in:
@@ -0,0 +1,115 @@
|
||||
# 6.12 参数管理
|
||||
|
||||
:::tip 概述
|
||||
参数管理维护系统级配置参数,如默认密码、系统名称等。继承 BaseLogic(系统共享,不隔离),通过 ParamService 读取。
|
||||
:::
|
||||
|
||||
## 模块特点
|
||||
|
||||
| 特性 | 说明 |
|
||||
|------|------|
|
||||
| 基类 | BaseLogic(系统共享,不隔离) |
|
||||
| 唯一校验 | code 全局唯一 |
|
||||
| 缓存 | ParamService 两级缓存(请求级 + 持久缓存,1小时过期) |
|
||||
| 模糊搜索 | name、code |
|
||||
| 精确匹配 | type、status |
|
||||
|
||||
## 数据库表结构
|
||||
|
||||
```sql
|
||||
CREATE TABLE `think_param` (
|
||||
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
`name` varchar(100) NOT NULL COMMENT '参数名称',
|
||||
`code` varchar(100) NOT NULL COMMENT '参数编码',
|
||||
`value` varchar(255) NOT NULL COMMENT '参数值',
|
||||
`type` int NOT NULL COMMENT '参数类型:0-系统 1-业务',
|
||||
`status` int NOT NULL COMMENT '参数状态:1-正常 2-禁用',
|
||||
`sort` int NOT NULL COMMENT '参数排序',
|
||||
`note` varchar(255) DEFAULT NULL COMMENT '参数备注',
|
||||
`create_user` varchar(50) DEFAULT NULL COMMENT '创建人',
|
||||
`create_time` datetime DEFAULT (now()) COMMENT '创建时间',
|
||||
`update_user` varchar(50) DEFAULT NULL COMMENT '更新人',
|
||||
`update_time` datetime DEFAULT (now()) COMMENT '更新时间',
|
||||
`is_delete` int DEFAULT 0 COMMENT '删除标识:0-正常 1-已删除',
|
||||
PRIMARY KEY (`id`)
|
||||
) COMMENT = '系统参数表';
|
||||
```
|
||||
|
||||
## API 接口
|
||||
|
||||
| 方法 | 路径 | 权限码 | 说明 |
|
||||
|------|------|--------|------|
|
||||
| GET | `/api/param/page` | sys:param:page | 分页列表 |
|
||||
| GET | `/api/param/list` | sys:param:list | 全量列表 |
|
||||
| GET | `/api/param/detail/:id` | sys:param:detail | 详情 |
|
||||
| POST | `/api/param/add` | sys:param:add | 新增 |
|
||||
| PUT | `/api/param/update` | sys:param:update | 修改 |
|
||||
| DELETE | `/api/param/delete/:id` | sys:param:delete | 删除 |
|
||||
| DELETE | `/api/param/batchDelete` | sys:param:batchDelete | 批量删除 |
|
||||
|
||||
## 核心代码
|
||||
|
||||
```php
|
||||
// app/logic/ParamLogic.php
|
||||
|
||||
class ParamLogic extends BaseLogic
|
||||
{
|
||||
/**
|
||||
* 关联的模型类
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected string $modelClass = Param::class;
|
||||
|
||||
/**
|
||||
* LIKE 模糊匹配字段
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected array $pageLikeFields = ['name', 'code'];
|
||||
|
||||
/**
|
||||
* 精确匹配字段
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected array $pageEqFields = ['type', 'status'];
|
||||
|
||||
/**
|
||||
* 默认排序规则
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected array $pageOrderBy = ['field' => 'sort', 'type' => 'asc'];
|
||||
|
||||
/**
|
||||
* 唯一性校验字段
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected array $uniqueFields = ['code'];
|
||||
}
|
||||
```
|
||||
|
||||
## 使用 ParamService 读取参数
|
||||
|
||||
```php
|
||||
use app\service\ParamService;
|
||||
|
||||
// 获取字符串参数
|
||||
$value = ParamService::getString('DEFAULT_PASSWORD', '123456');
|
||||
|
||||
// 获取整数参数
|
||||
$value = ParamService::getInt('MAX_LOGIN_ATTEMPTS', 5);
|
||||
|
||||
// 获取布尔参数
|
||||
$value = ParamService::getBool('ENABLE_SMS', false);
|
||||
|
||||
// 获取默认密码(从系统参数读取,默认 '123456')
|
||||
$password = ParamService::getDefaultPassword();
|
||||
```
|
||||
|
||||
:::tip 与配置管理的区别
|
||||
- **参数管理(Param)**:独立的键值对,适合系统级参数(默认密码、限流阈值)
|
||||
- **配置管理(Config)**:分组 + 配置项,适合网站配置(名称、Logo、SMTP)
|
||||
:::
|
||||
Reference in New Issue
Block a user