boot.go 3.1 KB

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