package model import "time" // AppConfig 运行配置中心(键值表)。 // // 设计要点: // 1. 只存「页面可配置」的业务参数,启动引导密钥(JWT_SECRET / OPSLIC_MASTER_KEY / // OFFLINE_LICENSE_SEED)永远只从环境变量读取,不入库; // 2. 机密项(webhook 密钥等)落库前经 secretbox 信封加密,明文只在内存中出现; // 3. 读取优先级:本表 → 环境变量 → 注册表默认值,删除行即回退到环境变量。 // Logan.Li type AppConfig struct { Key string `json:"key" gorm:"primaryKey;size:100"` Value string `json:"-" gorm:"type:text"` // 明文或 enc:v1: 密文,JSON 永不导出 IsSecret bool `json:"is_secret" gorm:"default:false"` UpdatedBy string `json:"updated_by" gorm:"size:100"` UpdatedAt time.Time `json:"updated_at"` } // TableName 指定表名 // Logan.Li func (AppConfig) TableName() string { return "app_configs" }