boot.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package boot
  2. import (
  3. "gfast/library/utils"
  4. "github.com/goflyfox/gtoken/gtoken"
  5. "github.com/gogf/gf/frame/g"
  6. "github.com/gogf/gf/os/glog"
  7. )
  8. var AdminGfToken *gtoken.GfToken
  9. func init() {
  10. g.Log().SetFlags(glog.F_ASYNC | glog.F_TIME_DATE | glog.F_TIME_TIME | glog.F_FILE_LONG)
  11. g.Server().SetPort(8200)
  12. g.Server().AddStaticPath("/public", g.Cfg().GetString("server.ServerRoot"))
  13. //后台初始化配置
  14. initAdmin()
  15. }
  16. func initAdmin() {
  17. //无需验证权限的用户id
  18. utils.NotCheckAuthAdminIds = g.Cfg().GetInts("adminInfo.notCheckAuthAdminIds")
  19. //后端分页长度配置
  20. utils.AdminPageNum = g.Cfg().GetInt("adminInfo.pageNum")
  21. // 设置并启动后台gtoken处理
  22. initAdminGfToken()
  23. }
  24. func initAdminGfToken() {
  25. //多端登陆配置
  26. utils.AdminMultiLogin = g.Cfg().GetBool("gToken.MultiLogin")
  27. AdminGfToken = &gtoken.GfToken{
  28. CacheMode: g.Cfg().GetInt8("gToken.CacheMode"),
  29. CacheKey: g.Cfg().GetString("gToken.CacheKey"),
  30. Timeout: g.Cfg().GetInt("gToken.Timeout"),
  31. MaxRefresh: g.Cfg().GetInt("gToken.MaxRefresh"),
  32. TokenDelimiter: g.Cfg().GetString("gToken.TokenDelimiter"),
  33. EncryptKey: g.Cfg().GetBytes("gToken.EncryptKey"),
  34. AuthFailMsg: g.Cfg().GetString("gToken.AuthFailMsg"),
  35. MultiLogin: utils.AdminMultiLogin,
  36. LoginPath: "/sysLogin/login",
  37. LoginBeforeFunc: utils.AdminLogin,
  38. LogoutPath: "/sysLogin/logout",
  39. AuthPaths: g.SliceStr{"/system/*"},
  40. AuthAfterFunc: utils.AuthAfterFunc,
  41. LogoutBeforeFunc: utils.AdminLoginOut,
  42. }
  43. AdminGfToken.Start()
  44. }