# 5.12 系统配置管理 :::tip 概述 系统配置是**运行在数据库里**的键值对(gin_config + gin_config_item),供业务页面级别的开关与文案使用。注意与 `config/config.yaml`(进程配置)区分:一个面向运营、一个面向运维。 ::: ## 两层配置的分工 | | config.yaml | 系统配置(本页) | |---|---|---| | 载体 | 文件 + APP_* 环境变量 | gin_config / gin_config_item 表 | | 变更方式 | 改文件/环境后重启 | 管理界面即时保存 | | 面向 | 运维(端口/密钥/连接) | 运营(站点名/开关/文案) | | 消费方 | 启动序列与基础设施 | 业务模块经接口读取 | ## 表结构 ```text gin_config 配置分组(如站点配置、业务开关组) gin_config_item 配置项(config 分组下 key + value + 描述) ``` ## 典型用途 - 站点名称、logo、备案号等展示信息 - 功能开关(注册开放、评论审核……) - 业务参数文案(客服电话、协议链接) 涉及连接、密钥、端口的**绝不要**放系统配置——那些必须走 config.yaml(受启动校验与环境变量管控)。 ## 业务侧读取 标准五方法(Page/List/Detail/Add/Update/Delete)经 ModuleSpec 声明,读取走详情/列表接口;变更走管理界面并受权限码保护,操作留痕(操作日志)。 ## 管理界面 配置管理页(分组 + 配置项维护)见 [6.14 配置管理](/zh/modules/config.html)。 ## 与参数管理(param)的区别 | | 配置(config) | 参数(param) | |---|---|---| | 组织方式 | 分组树 + 项 | 扁平单表 | | 典型内容 | 成组的站点/业务配置 | 散落的独立参数(如协议版本号) | | 读取方式 | 按分组/键读取 | 按 code 读取 | 两者都是数据库键值,选型看组织形态:成组用配置,独立用参数。 ## 下一步 → [5.13 系统参数管理](/zh/core/param.html)