MCPcopy Index your code
hub / github.com/TruthHun/DocHub / Get

Method Get

controllers/AdminControllers/SysController.go:30–129  ·  view source on GitHub ↗

系统配置管理

()

Source from the content-addressed store, hash-verified

28
29//系统配置管理
30func (this *SysController) Get() {
31 tab := helper.ConfigCate(strings.ToLower(this.GetString("tab")))
32 var err error
33 switch tab {
34 case models.ConfigCateEmail, models.ConfigCateDepend, models.ConfigCateElasticSearch, models.ConfigCateLog:
35 default:
36 tab = "default"
37 }
38 if this.Ctx.Request.Method == http.MethodPost {
39 defer func() {
40 models.NewSys().UpdateGlobalConfig()
41 models.NewConfig().UpdateGlobalConfig()
42 }()
43 if tab == "default" {
44 var sys models.Sys
45 this.ParseForm(&sys)
46 _, err := orm.NewOrm().Update(&sys)
47 if err != nil {
48 helper.Logger.Error(err.Error())
49 this.ResponseJson(false, err.Error())
50 }
51 this.ResponseJson(true, "更新成功")
52 }
53
54 var cfg interface{}
55 cfg, err = models.NewConfig().ParseForm(tab, this.Ctx.Request.Form)
56 if cfg != nil {
57 switch tab {
58 case models.ConfigCateEmail:
59 if err != nil {
60 this.ResponseJson(false, err.Error())
61 }
62 modelEmail := cfg.(*models.ConfigEmail)
63 err = modelEmail.SendMail(modelEmail.TestUserEmail, "测试邮件", "这是一封测试邮件,用于检测是否能正常发送邮件")
64 case models.ConfigCateElasticSearch:
65 modelES := cfg.(*models.ElasticSearchClient)
66 if modelES.On {
67 modelES.Host = strings.TrimRight(modelES.Host, "/") + "/"
68 modelES.Type = "fulltext"
69 modelES.Timeout = 5 * time.Second
70 err = modelES.Init()
71 }
72 }
73 }
74 if err != nil {
75 this.ResponseJson(false, err.Error(), cfg)
76 }
77
78 o := orm.NewOrm()
79 o.Begin()
80 defer func() {
81 if err != nil {
82 o.Rollback()
83 } else {
84 o.Commit()
85 }
86 }()
87

Callers

nothing calls this directly

Calls 8

ParseFormMethod · 0.80
UpdateMethod · 0.80
InitMethod · 0.80
AllMethod · 0.80
CountMethod · 0.80
UpdateGlobalConfigMethod · 0.45
ResponseJsonMethod · 0.45
SendMailMethod · 0.45

Tested by

no test coverage detected