boot.go 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package boot
  2. import (
  3. "fmt"
  4. "gfast/library/service"
  5. "github.com/goflyfox/gtoken/gtoken"
  6. "github.com/gogf/gf/frame/g"
  7. "github.com/gogf/gf/os/glog"
  8. )
  9. var AdminGfToken *gtoken.GfToken
  10. func init() {
  11. showLogo()
  12. g.Log().SetFlags(glog.F_ASYNC | glog.F_TIME_DATE | glog.F_TIME_TIME | glog.F_FILE_LONG)
  13. //g.Server().SetPort(8200)
  14. g.Server().AddStaticPath("/public", g.Cfg().GetString("server.ServerRoot"))
  15. //后台初始化配置
  16. initAdmin()
  17. //前台初始化
  18. initFront()
  19. }
  20. func initAdmin() {
  21. //无需验证权限的用户id
  22. service.NotCheckAuthAdminIds = g.Cfg().GetInts("adminInfo.notCheckAuthAdminIds")
  23. //后端分页长度配置
  24. service.AdminPageNum = g.Cfg().GetInt("adminInfo.pageNum")
  25. // 设置并启动后台gtoken处理
  26. initAdminGfToken()
  27. }
  28. func initFront() {
  29. gtoken := &gtoken.GfToken{
  30. LoginPath: "/front/login",
  31. LoginBeforeFunc: service.FrontLogin,
  32. LogoutPath: "/front/logout",
  33. AuthPaths: g.SliceStr{"/front/*"},
  34. AuthAfterFunc: service.AuthAfterFunc,
  35. }
  36. gtoken.Start()
  37. }
  38. func initAdminGfToken() {
  39. //多端登陆配置
  40. service.AdminMultiLogin = g.Cfg().GetBool("gToken.MultiLogin")
  41. AdminGfToken = &gtoken.GfToken{
  42. CacheMode: g.Cfg().GetInt8("gToken.CacheMode"),
  43. CacheKey: g.Cfg().GetString("gToken.CacheKey"),
  44. Timeout: g.Cfg().GetInt("gToken.Timeout"),
  45. MaxRefresh: g.Cfg().GetInt("gToken.MaxRefresh"),
  46. TokenDelimiter: g.Cfg().GetString("gToken.TokenDelimiter"),
  47. EncryptKey: g.Cfg().GetBytes("gToken.EncryptKey"),
  48. AuthFailMsg: g.Cfg().GetString("gToken.AuthFailMsg"),
  49. MultiLogin: service.AdminMultiLogin,
  50. LoginPath: "/sysLogin/login",
  51. LoginBeforeFunc: service.AdminLogin,
  52. LoginAfterFunc: service.AdminLoginAfter,
  53. LogoutPath: "/sysLogin/logout",
  54. AuthPaths: g.SliceStr{"/system/*"},
  55. AuthAfterFunc: service.AuthAfterFunc,
  56. LogoutBeforeFunc: service.AdminLoginOut,
  57. }
  58. AdminGfToken.Start()
  59. }
  60. func showLogo() {
  61. fmt.Println(" .----------------. .----------------. .----------------. .----------------. .----------------. \n| .--------------. || .--------------. || .--------------. || .--------------. || .--------------. |\n| | ______ | || | _________ | || | __ | || | _______ | || | _________ | |\n| | .' ___ | | || | |_ ___ | | || | / \\ | || | / ___ | | || | | _ _ | | |\n| | / .' \\_| | || | | |_ \\_| | || | / /\\ \\ | || | | (__ \\_| | || | |_/ | | \\_| | |\n| | | | ____ | || | | _| | || | / ____ \\ | || | '.___`-. | || | | | | |\n| | \\ `.___] _| | || | _| |_ | || | _/ / \\ \\_ | || | |`\\____) | | || | _| |_ | |\n| | `._____.' | || | |_____| | || ||____| |____|| || | |_______.' | || | |_____| | |\n| | | || | | || | | || | | || | | |\n| '--------------' || '--------------' || '--------------' || '--------------' || '--------------' |\n '----------------' '----------------' '----------------' '----------------' '----------------' ")
  62. fmt.Println("当前版本:", service.Version)
  63. }