| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- package admin
- import (
- "encoding/json"
- "errors"
- "io"
- "net/http"
- "regexp"
- "github.com/bjdgyc/anylink/base"
- "github.com/bjdgyc/anylink/dbdata"
- )
- func setOtherGet(data interface{}, w http.ResponseWriter) {
- err := dbdata.SettingGet(data)
- if err != nil && !dbdata.CheckErrNotFound(err) {
- RespError(w, RespInternalErr, err)
- return
- }
- // 不明文输出SMTP的密码
- switch dbdata.StructName(data) {
- case "SettingSmtp":
- data.(*dbdata.SettingSmtp).Password = ""
- }
- RespSucess(w, data)
- }
- func setOtherEdit(data interface{}, w http.ResponseWriter, r *http.Request) {
- body, err := io.ReadAll(r.Body)
- if err != nil {
- RespError(w, RespInternalErr, err)
- return
- }
- defer r.Body.Close()
- err = json.Unmarshal(body, data)
- if err != nil {
- RespError(w, RespInternalErr, err)
- return
- }
- // fmt.Println(data)
- switch dbdata.StructName(data) {
- case "SettingSmtp":
- // 密码为空时则不修改
- smtp := &dbdata.SettingSmtp{}
- err := dbdata.SettingGet(smtp)
- if err == nil && data.(*dbdata.SettingSmtp).Password == "" {
- data.(*dbdata.SettingSmtp).Password = smtp.Password
- }
- }
- err = dbdata.SettingSet(data)
- if err != nil {
- RespError(w, RespInternalErr, err)
- return
- }
- RespSucess(w, data)
- }
- func SetOtherSmtp(w http.ResponseWriter, r *http.Request) {
- data := &dbdata.SettingSmtp{}
- setOtherGet(data, w)
- }
- func SetOtherSmtpEdit(w http.ResponseWriter, r *http.Request) {
- data := &dbdata.SettingSmtp{}
- setOtherEdit(data, w, r)
- }
- func SetOther(w http.ResponseWriter, r *http.Request) {
- data := &dbdata.SettingOther{}
- setOtherGet(data, w)
- }
- func SetOtherEdit(w http.ResponseWriter, r *http.Request) {
- data := &dbdata.SettingOther{}
- setOtherEdit(data, w, r)
- }
- func SetOtherAuditLog(w http.ResponseWriter, r *http.Request) {
- data, err := dbdata.SettingGetAuditLog()
- if err != nil {
- RespError(w, RespInternalErr, err)
- return
- }
- data.AuditInterval = base.Cfg.AuditInterval
- RespSucess(w, data)
- }
- func SetOtherAuditLogEdit(w http.ResponseWriter, r *http.Request) {
- body, err := io.ReadAll(r.Body)
- if err != nil {
- RespError(w, RespInternalErr, err)
- return
- }
- defer r.Body.Close()
- data := &dbdata.SettingAuditLog{}
- err = json.Unmarshal(body, data)
- if err != nil {
- RespError(w, RespInternalErr, err)
- return
- }
- if data.LifeDay < 0 || data.LifeDay > 365 {
- RespError(w, RespParamErr, errors.New("日志存储时长范围在 0 ~ 365"))
- return
- }
- ok, _ := regexp.Match("^([0-9]|0[0-9]|1[0-9]|2[0-3]):([0][0])$", []byte(data.ClearTime))
- if !ok {
- RespError(w, RespParamErr, errors.New("每天清理时间填写有误"))
- return
- }
- err = dbdata.SettingSet(data)
- if err != nil {
- RespError(w, RespInternalErr, err)
- return
- }
- RespSucess(w, data)
- }
|