package utilService import ( "GoClouds/core/cloud/commCloud" "GoClouds/core/cloud/userCloud" "GoClouds/models" "fmt" "net/http" "github.com/gin-gonic/gin" ruisUtil "github.com/mgr9525/go-ruisutil" ) const LgUserKey = "mid-lguser" func MidCheckAdmin(c *gin.Context) { lguser := userCloud.CurrUser(c) if lguser == nil { c.String(403, "未登录") c.Abort() return } if !commCloud.CheckPermission(lguser.Xid, "admin") { c.String(403, "权限不足") c.Abort() return } c.Set(LgUserKey, lguser) c.Next() } func MidCheckUser(c *gin.Context) { lguser := userCloud.CurrUser(c) if lguser == nil { c.String(403, "未登录") c.Abort() return } c.Set(LgUserKey, lguser) c.Next() } func GetMidLgUser(c *gin.Context) *models.SysUser { usr, ok := c.Get(LgUserKey) if !ok { return nil } lguser, ok := usr.(*models.SysUser) if !ok { return nil } return lguser } func MidNotFound404(c *gin.Context) { c.Next() if c.Writer.Status() == http.StatusNotFound && c.Writer.Size() <= 0 { data := ruisUtil.Map{} data["msg"] = "未找到页面!正在跳转。。。" msg, ok := c.Get("404msg") if ok { data["msg"] = fmt.Sprintf("%v", msg) } c.HTML(http.StatusNotFound, "goto.html", data) } }