签入版本
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
# 5.13 系统参数管理
|
||||
|
||||
:::tip 概述
|
||||
参数模块(goframe_param)管理系统级键值参数:code 唯一标识 + name + value。与 config 模块的区别在于形态——param 是扁平键值对,适合"每页条数、默认密码、上传目录名"这类全局参数。
|
||||
:::
|
||||
|
||||
## 数据结构
|
||||
|
||||
```text
|
||||
goframe_param:code(uk_code 全局唯一)/ name / value / remark / sort
|
||||
|
||||
与 config 的选择:
|
||||
需要分组、类型控件、选项 → config + config_item(结构化配置)
|
||||
只是简单键值对 → param(扁平参数)
|
||||
```
|
||||
|
||||
## 接口清单
|
||||
|
||||
```text
|
||||
param(/api/param)七件套:sys:param:{page|list|detail|add|update|delete|batchDelete}
|
||||
```
|
||||
|
||||
标准 CRUD,无扩展接口。业务侧按 code 查询取值。
|
||||
|
||||
## 典型使用场景
|
||||
|
||||
| 参数 | code 示例 | 说明 |
|
||||
|------|----------|------|
|
||||
| 系统默认密码 | default_password | user.ResetPwd 未传新密码时使用 |
|
||||
| 每页默认条数 | page_size | 前端分页默认值 |
|
||||
| 用户编码前缀 | user_code_prefix | genUserCode 生成规则 |
|
||||
| 公告显示条数 | notice_top_n | 首页公告拉取数量 |
|
||||
|
||||
(具体参数随种子数据与业务演进,以库中实际为准。)
|
||||
|
||||
## 业务消费模式
|
||||
|
||||
```go
|
||||
// 模式:按 code 查询(低频,直接查库;高频场景应加缓存)
|
||||
row, _ := dao.Param.Ctx(ctx).Where("code", "default_password").One()
|
||||
value := row["value"].String()
|
||||
```
|
||||
|
||||
::: tip 与配置文件的选择判据
|
||||
+ 需要重启才生效、涉及连接/密钥/开关 → manifest/config.yaml
|
||||
+ 运营随时改、改了立即生效、结构化(分组/类型/选项) → config 模块
|
||||
+ 运营随时改、简单键值对 → param 模块
|
||||
:::
|
||||
|
||||
## 管理要点
|
||||
|
||||
+ code 全局唯一(uk_code),命名用 snake_case 语义化(`xxx_yyy`)
|
||||
+ 平台级表(无租户隔离)——租户参数不在此设计内
|
||||
+ 修改即时生效(无缓存层);调用方按需自建缓存
|
||||
+ 删除前确认无业务引用(param 无引用守卫,删除是软删可恢复)
|
||||
Reference in New Issue
Block a user