Skip to content

5.13 系统参数管理 ​

概述

ParamService 管理系统级参数,如默认密码、系统名称等,采用两级缓存(请求级 + 持久缓存),大幅减少数据库查询。

缓存架构 ​

text
请求级缓存(static::$cache)    ← 同一请求内不重复查库
        │ 未命中
        ▼
持久缓存(cache(),1小时)      ← 跨请求复用
        │ 未命中
        ▼
数据库查询(param 表)          ← 查询后写入两级缓存

核心方法 ​

php
// app/service/ParamService.php

// 获取参数值(通用)
$value = ParamService::get('DEFAULT_PASSWORD', '123456');

// 获取字符串参数
$value = ParamService::getString('SITE_NAME', 'RXThinkCMF');

// 获取整数参数
$value = ParamService::getInt('MAX_LOGIN_ATTEMPTS', 5);

// 获取布尔参数
$value = ParamService::getBool('ENABLE_SMS', false);

// 获取默认密码(从系统参数读取,默认 '123456')
$password = ParamService::getDefaultPassword();

// 清除指定参数缓存
ParamService::clearCache('DEFAULT_PASSWORD');

// 清除所有参数缓存
ParamService::clearAllCache();

方法签名 ​

方法说明返回值
get($code, $default)获取参数值mixed
getString($code, $default)获取字符串string
getInt($code, $default)获取整数int
getBool($code, $default)获取布尔bool
getDefaultPassword()获取默认密码明文string
clearCache($code)清除指定缓存void
clearAllCache()清除所有缓存void

查询条件 ​

仅查询满足以下条件的参数:

  • status = 1(启用)
  • is_delete = 0(未删除)

API 接口 ​

方法路径权限码说明
GET/api/param/pagesys:param:page分页列表
GET/api/param/listsys:param:list全量列表
GET/api/param/detail/:idsys:param:detail详情
POST/api/param/addsys:param:add新增
PUT/api/param/updatesys:param:update修改
DELETE/api/param/delete/:idsys:param:delete删除
DELETE/api/param/batchDeletesys:param:batchDelete批量删除

与配置管理的区别 ​

维度参数管理(Param)配置管理(Config)
数据结构独立的键值对分组 + 配置项
适用场景系统级参数(默认密码、限流阈值)网站配置(名称、Logo、SMTP)
读取方式ParamService::get('code')ConfigItemLogic 查询
缓存两级缓存无特殊缓存

常用系统参数 ​

编码说明默认值
DEFAULT_PASSWORD默认密码123456

小蚂蚁云团队 · 提供技术支持