package middleware import ( "github.com/gin-gonic/gin" "github.com/taoshihan1991/imaptool/tools" "time" ) func JwtPageMiddleware(c *gin.Context){ //暂时不处理 //token := c.Query("token") //userinfo := tools.ParseToken(token) //if userinfo == nil { // c.Redirect(302,"/login") // c.Abort() //} } func JwtApiMiddleware(c *gin.Context){ token := c.GetHeader("token") userinfo := tools.ParseToken(token) if userinfo == nil||userinfo["name"]==nil||userinfo["create_time"]==nil { c.JSON(200, gin.H{ "code": 400, "msg": "验证失败", }) c.Abort() return } createTime:=int64(userinfo["create_time"].(float64)) var expire int64=2*60*60 nowTime:=time.Now().Unix(); if (nowTime-createTime) >=expire{ c.JSON(200, gin.H{ "code": 401, "msg": "token失效", }) c.Abort() } c.Set("user",userinfo["name"]) if userinfo["type"]=="kefu"{ c.Set("kefu_id",userinfo["kefu_id"]) c.Set("kefu_name",userinfo["name"]) c.Set("role_id",userinfo["role_id"]) } }