package material import ( "github.com/gin-gonic/gin" "zhiyuan/pkg/app" "zhiyuan/pkg/config" "zhiyuan/services/admin" "zhiyuan/services/form" "zhiyuan/services/material" ) func Login(c *gin.Context) { var form form.AdminLogin if app.Bind(c, &form) != nil { return } token, err := material.Login(form.Phone, form.Password) if err != nil { app.ErrorMsg(c, err.Error(), nil) return } app.Success(c, map[string]string{ "token": token, }) } func Info(c *gin.Context) { type SettingInfo struct { ImgHost string `json:"img_host"` PageSize int `json:"page_size"` } type AdminInfo struct { ID int `json:"id"` UserName string `json:"username"` Phone string `json:"phone"` Setting SettingInfo `json:"setting"` } var adminInfo AdminInfo _, err := admin.GetInfoByID(c.GetInt("adminID"), []string{"id", "username", "phone"}, &adminInfo) if err != nil { app.ErrorMsg(c, err.Error(), nil) return } adminInfo.Setting = SettingInfo{ ImgHost: config.Cfg.App.ImgHost, PageSize: config.Cfg.App.PageLimitMin, } app.Success(c, adminInfo) } func Logout(c *gin.Context) { err := material.Logout(c.GetInt("adminID")) if err != nil { app.ErrorMsg(c, err.Error(), nil) return } app.Success(c, nil) } func Password(c *gin.Context) { var form form.Password if app.Bind(c, &form) != nil { return } if err := material.Password(c.GetInt("adminID"), form); err != nil { app.ErrorMsg(c, err.Error(), nil) return } app.Success(c, nil) }