commits
This commit is contained in:
+132
-132
@@ -1,132 +1,132 @@
|
||||
package models
|
||||
|
||||
import "time"
|
||||
|
||||
// PlatformLoginVerify 平台登录验证配置(单行配置)
|
||||
type PlatformLoginVerify struct {
|
||||
ID uint64 `orm:"column(id);pk;auto" json:"id"`
|
||||
OpenVerifyEnabled int8 `orm:"column(open_verify_enabled);default(1)" json:"openVerify_enabled"` // 0关闭 1开启
|
||||
VerifyType string `orm:"column(verify_type);size(20);default(captcha)" json:"verify_type"` // captcha/sms/geetest/email
|
||||
Geetest3ID *string `orm:"column(geetest3_id);size(128);null" json:"geetest3_id"`
|
||||
Geetest3Key *string `orm:"column(geetest3_key);size(255);null" json:"geetest3_key"`
|
||||
Geetest4ID *string `orm:"column(geetest4_id);size(128);null" json:"geetest4_id"`
|
||||
Geetest4Key *string `orm:"column(geetest4_key);size(255);null" json:"geetest4_key"`
|
||||
CreateTime time.Time `orm:"column(create_time);type(datetime);auto_now_add" json:"create_time"`
|
||||
UpdateTime *time.Time `orm:"column(update_time);type(datetime);auto_now;null" json:"update_time"`
|
||||
}
|
||||
|
||||
func GetPlatformLoginVerify() (*PlatformLoginVerify, error) {
|
||||
// 从 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
|
||||
}
|
||||
|
||||
cfg := &PlatformLoginVerify{
|
||||
OpenVerifyEnabled: openVerifyEnabled,
|
||||
VerifyType: verifyType,
|
||||
}
|
||||
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
|
||||
}
|
||||
|
||||
package models
|
||||
|
||||
import "time"
|
||||
|
||||
// PlatformLoginVerify 平台登录验证配置(单行配置)
|
||||
type PlatformLoginVerify struct {
|
||||
ID uint64 `orm:"column(id);pk;auto" json:"id"`
|
||||
OpenVerifyEnabled int8 `orm:"column(open_verify_enabled);default(1)" json:"openVerify_enabled"` // 0关闭 1开启
|
||||
VerifyType string `orm:"column(verify_type);size(20);default(captcha)" json:"verify_type"` // captcha/sms/geetest/email
|
||||
Geetest3ID *string `orm:"column(geetest3_id);size(128);null" json:"geetest3_id"`
|
||||
Geetest3Key *string `orm:"column(geetest3_key);size(255);null" json:"geetest3_key"`
|
||||
Geetest4ID *string `orm:"column(geetest4_id);size(128);null" json:"geetest4_id"`
|
||||
Geetest4Key *string `orm:"column(geetest4_key);size(255);null" json:"geetest4_key"`
|
||||
CreateTime time.Time `orm:"column(create_time);type(datetime);auto_now_add" json:"create_time"`
|
||||
UpdateTime *time.Time `orm:"column(update_time);type(datetime);auto_now;null" json:"update_time"`
|
||||
}
|
||||
|
||||
func GetPlatformLoginVerify() (*PlatformLoginVerify, error) {
|
||||
// 从 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
|
||||
}
|
||||
|
||||
cfg := &PlatformLoginVerify{
|
||||
OpenVerifyEnabled: openVerifyEnabled,
|
||||
VerifyType: verifyType,
|
||||
}
|
||||
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
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user