Skip to content

系统内置配置

系统配置表为 system_configs,管理运行时开关、密码策略、上传限制、水印、AI 配额等轻量配置。种子数据位于 packages/shared/src/seed/platform.ts

数据模型

字段说明
config_key配置键,支持字母、数字、下划线、点和冒号
config_name展示名称
config_value字符串存储,最长 4096
config_typestringnumberbooleanjson
description描述
tenant_id可选租户归属

唯一约束为 (tenant_id, config_key)。列表与详情接口使用租户条件过滤;公开读取接口按 key 查询首条记录,不做租户过滤。

API

路由挂载在 /api/system-configs

方法路径鉴权 / 权限说明
GET/public/{key}公开读取单项配置
GET/password-policy获取密码策略
GET/管理员分页查询,支持 keywordconfigTypekeys
GET/{id}system:config:list配置详情
POST/system:config:create新增配置,记录审计
PUT/{id}system:config:update更新配置,记录审计
DELETE/{id}system:config:delete删除配置,记录审计

keys 参数为逗号分隔的 configKey 列表,传入后忽略分页并精确批量查询。

读取工具

服务端配置读取工具位于 packages/server/src/lib/system-config.ts

  • getConfigValue(key, defaultValue?)
  • getConfigBoolean(key, defaultValue?)
  • getConfigNumber(key, defaultValue?)

读取结果直接查询数据库;没有统一缓存层。

种子配置

SEED_SYSTEM_CONFIGS 包含 40 项内置配置:

配置键类型默认值说明
captcha_enabledbooleanfalse登录验证码
site_namestringZenith Admin站点名称
user_default_passwordstring123456用户默认密码
login_max_attemptsnumber10登录失败次数上限
login_lock_duration_minutesnumber30账号锁定时长
password_min_lengthnumber6密码最小长度
password_require_uppercasebooleanfalse密码需含大写字母
password_require_special_charbooleanfalse密码需含特殊字符
password_expiry_enabledbooleanfalse密码过期重置
password_expiry_daysnumber90密码过期天数
allow_registrationbooleanfalse开放用户注册
forgot_password_enabledbooleanfalse忘记密码重置
watermark_enabledbooleanfalse页面水印
watermark_contentstring水印文本
watermark_font_sizenumber14水印字号
watermark_opacitynumber15水印透明度
quick_chat_enabledbooleanfalse快捷聊天按钮
file_upload_validate_typebooleantrue上传文件类型校验
file_upload_allowed_typesstringMIME 列表允许上传类型
file_upload_max_size_mbnumber0文件上传大小上限,0 表示不限制
terminal_recording_enabledbooleanfalse终端录屏
terminal_recording_retain_daysnumber30终端录屏保留天数
terminal_recording_max_size_mbnumber500终端录屏容量上限
terminal_upload_max_size_mbnumber200终端上传大小上限
mfa_enabledbooleanfalseMFA 多因素认证
mfa_modestringoffMFA 模式
mfa_remember_device_daysnumber30可信设备免 MFA 天数
login_risk_enabledbooleanfalse登录风险策略
login_risk_new_device_actionstringallow新设备登录动作
member_point_expire_daysnumber0会员积分过期天数
member_birthday_pointsnumber0会员生日礼积分
member_birthday_coupon_idnumber0会员生日礼优惠券
member_invite_reward_pointsnumber0邀请奖励积分
feedback_entry_enabledbooleanfalse意见反馈入口
captcha_complexitystringmedium验证码复杂度
ai_daily_token_quotanumber0AI 每日 Token 配额
ai_content_filter_enabledbooleanfalseAI 敏感词过滤
ai_embedding_modelstring知识库向量模型
ai_image_modelstring图片生成模型
rule_publish_approvalbooleanfalse决策表发布审批

运行时使用但不在种子中的键

IP 访问控制中间件读取以下配置键。它们可通过配置管理接口创建和维护:

  • ip_whitelist_enabled
  • ip_whitelist
  • ip_blacklist_enabled
  • ip_blacklist

注意事项

  • 多租户开关来自环境变量 MULTI_TENANT_MODE,不是系统配置。
  • 密码策略接口组合读取密码相关配置。
  • 新增公开配置前需评估敏感性,因为 /public/{key} 无鉴权。

Built with VitePress for local documentation preview.