baseRouter.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package base
  2. import (
  3. "github.com/goflyfox/gtoken/gtoken"
  4. "github.com/gogf/gf/encoding/gjson"
  5. "github.com/gogf/gf/net/ghttp"
  6. "github.com/gogf/gf/os/glog"
  7. "gmanager/library/bean"
  8. "gmanager/library/resp"
  9. )
  10. var Token *gtoken.GfToken
  11. // baseRouter implemented global settings for all other routers.
  12. type BaseRouter struct {
  13. }
  14. func GetUser(r *ghttp.Request) bean.SessionUser {
  15. resp := Token.GetTokenData(r)
  16. if !resp.Success() {
  17. return bean.SessionUser{}
  18. }
  19. var sessionUser bean.SessionUser
  20. err := gjson.DecodeTo(resp.GetString("data"), &sessionUser)
  21. if err != nil {
  22. glog.Error("get session user error", err)
  23. }
  24. return sessionUser
  25. }
  26. func Succ(r *ghttp.Request, data interface{}) {
  27. r.Response.WriteJson(resp.Succ(data))
  28. r.Exit()
  29. }
  30. func Fail(r *ghttp.Request, msg string) {
  31. r.Response.WriteJson(resp.Fail(msg))
  32. r.Exit()
  33. }
  34. func Error(r *ghttp.Request, msg string) {
  35. r.Response.WriteJson(resp.Error(msg))
  36. r.Exit()
  37. }
  38. func Resp(r *ghttp.Request, code int, msg string, data interface{}) {
  39. r.Response.WriteJson(resp.Resp{
  40. Code: code,
  41. Msg: msg,
  42. Data: data,
  43. })
  44. r.Exit()
  45. }