nezha/pkg/mygin/mygin.go

37 lines
789 B
Go
Raw Normal View History

2019-12-08 03:59:58 -05:00
package mygin
import (
"fmt"
"strings"
"github.com/gin-gonic/gin"
"github.com/p14yground/nezha/model"
"github.com/p14yground/nezha/service/dao"
)
// CommonEnvironment ..
func CommonEnvironment(c *gin.Context, data map[string]interface{}) gin.H {
data["MatchedPath"] = c.MustGet("MatchedPath")
// 站点标题
if t, has := data["Title"]; !has {
data["Title"] = dao.Conf.Site.Brand
} else {
data["Title"] = fmt.Sprintf("%s - %s", t, dao.Conf.Site.Brand)
}
isLogin, ok := c.Get(model.CtxKeyIsUserLogin)
if ok && isLogin.(bool) {
data["Admin"] = dao.Admin
}
return data
}
// RecordPath ..
func RecordPath(c *gin.Context) {
url := c.Request.URL.String()
for _, p := range c.Params {
url = strings.Replace(url, p.Value, ":"+p.Key, 1)
}
c.Set("MatchedPath", url)
}