增加bark配置

This commit is contained in:
2026-06-17 23:49:19 +08:00
parent 22e0e75c35
commit 6ee1f26124
19 changed files with 784 additions and 260 deletions
+110 -12
View File
@@ -15,20 +15,118 @@ type PlatformLoginVerify struct {
UpdateTime *time.Time `orm:"column(update_time);type(datetime);auto_now;null" json:"update_time"`
}
func (m *PlatformLoginVerify) TableName() string {
return "yz_system_login_verify"
}
func GetPlatformLoginVerify() (*PlatformLoginVerify, error) {
var cfg PlatformLoginVerify
err := Orm.QueryTable(new(PlatformLoginVerify)).OrderBy("-id").One(&cfg)
if err != nil {
// 默认配置:验证码
return &PlatformLoginVerify{OpenVerifyEnabled: 1, VerifyType: "captcha"}, nil
// 从 yz_platform_normal_setting 表中按 code 获取各个配置
enabledStr := GetPlatformSettingValue("login_verify_enabled", "1")
verifyType := GetPlatformSettingValue("login_verify_type", "captcha")
geetest3ID := GetPlatformSettingValue("login_verify_geetest3_id", "")
geetest3Key := GetPlatformSettingValue("login_verify_geetest3_key", "")
geetest4ID := GetPlatformSettingValue("login_verify_geetest4_id", "")
geetest4Key := GetPlatformSettingValue("login_verify_geetest4_key", "")
openVerifyEnabled := int8(1)
if enabledStr == "0" {
openVerifyEnabled = 0
}
if cfg.VerifyType == "" {
cfg.VerifyType = "captcha"
cfg := &PlatformLoginVerify{
OpenVerifyEnabled: openVerifyEnabled,
VerifyType: verifyType,
}
return &cfg, nil
if geetest3ID != "" {
cfg.Geetest3ID = &geetest3ID
}
if geetest3Key != "" {
cfg.Geetest3Key = &geetest3Key
}
if geetest4ID != "" {
cfg.Geetest4ID = &geetest4ID
}
if geetest4Key != "" {
cfg.Geetest4Key = &geetest4Key
}
return cfg, nil
}
func GetPlatformSettingValue(code string, defaultVal string) string {
var setting PlatformNormalSetting
err := Orm.QueryTable(new(PlatformNormalSetting)).
Filter("code", code).
Filter("delete_time__isnull", true).
One(&setting)
if err != nil {
return defaultVal
}
return setting.Value
}
func SavePlatformLoginVerify(cfg *PlatformLoginVerify) error {
openVerifyEnabledStr := "1"
if cfg.OpenVerifyEnabled == 0 {
openVerifyEnabledStr = "0"
}
geetest3ID := ""
if cfg.Geetest3ID != nil {
geetest3ID = *cfg.Geetest3ID
}
geetest3Key := ""
if cfg.Geetest3Key != nil {
geetest3Key = *cfg.Geetest3Key
}
geetest4ID := ""
if cfg.Geetest4ID != nil {
geetest4ID = *cfg.Geetest4ID
}
geetest4Key := ""
if cfg.Geetest4Key != nil {
geetest4Key = *cfg.Geetest4Key
}
settings := []struct {
code string
name string
value string
remark string
}{
{"login_verify_enabled", "登录验证开启状态", openVerifyEnabledStr, "0为关闭,1为开启"},
{"login_verify_type", "登录验证类型", cfg.VerifyType, "支持 captcha/sms/geetest/email"},
{"login_verify_geetest3_id", "极验3 ID", geetest3ID, ""},
{"login_verify_geetest3_key", "极验3 Key", geetest3Key, ""},
{"login_verify_geetest4_id", "极验4 ID", geetest4ID, ""},
{"login_verify_geetest4_key", "极验4 Key", geetest4Key, ""},
}
for _, item := range settings {
var setting PlatformNormalSetting
err := Orm.QueryTable(new(PlatformNormalSetting)).
Filter("code", item.code).
Filter("delete_time__isnull", true).
One(&setting)
if err == nil {
setting.Value = item.value
setting.Name = item.name
setting.Remark = item.remark
now := time.Now()
setting.UpdateTime = &now
_, err = Orm.Update(&setting, "Value", "Name", "Remark", "UpdateTime")
if err != nil {
return err
}
} else {
newSetting := PlatformNormalSetting{
Name: item.name,
Code: item.code,
Value: item.value,
Remark: item.remark,
CreateTime: time.Now(),
}
_, err = Orm.Insert(&newSetting)
if err != nil {
return err
}
}
}
return nil
}