main.go 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package main
  2. import (
  3. "context"
  4. "dashoo.cn/micro/app/handler"
  5. "dashoo.cn/opms_libary/micro_srv"
  6. "dashoo.cn/opms_libary/myerrors"
  7. "github.com/gogf/gf/frame/g"
  8. "github.com/smallnest/rpcx/protocol"
  9. )
  10. func main() {
  11. srvAddr := g.Config().GetString("setting.bind-addr")
  12. basePath := g.Config().GetString("setting.srv-name")
  13. // 创建总服务包
  14. s := micro_srv.CreateAndInitService(basePath)
  15. // 注册服务对象
  16. s.RegisterName("Dict", new(handler.DictHandler), "")
  17. s.RegisterName("Auth", new(handler.AuthHandler), "")
  18. s.RegisterName("User", new(handler.UserHandler), "")
  19. s.RegisterName("Menu", new(handler.MenuHandler), "")
  20. s.RegisterName("Dept", new(handler.DeptHandler), "")
  21. s.RegisterName("Role", new(handler.RoleHandler), "")
  22. s.RegisterName("Post", new(handler.PostHandler), "")
  23. s.RegisterName("Group", new(handler.GroupHandler), "")
  24. s.RegisterName("LoginLog", new(handler.LoginLogHandler), "")
  25. s.RegisterName("Config", new(handler.ConfigHandler), "")
  26. s.RegisterName("BaseProductAuth", new(handler.BaseProductAuthHandler), "")
  27. s.RegisterName("BaseRegionAuth", new(handler.BaseRegionAuthHandler), "")
  28. // 注册文件处理Service对象
  29. //dynamic.BeanFactory.BeanRegister(service.NewRoleService())
  30. // 注册auth处理
  31. s.AuthFunc = handleAuth
  32. // 错误拦截
  33. s.Plugins.Add(&myerrors.HandleErrorPlugin{})
  34. // 运行服务
  35. if err := s.Serve("tcp", srvAddr); err != nil {
  36. g.Log().Fatal(err)
  37. }
  38. }
  39. // AuthExcludePaths 设定不需要认证的路径
  40. var AuthExcludePaths = []string{
  41. "/Auth/Login",
  42. "/Auth/ValidToken",
  43. "/Role/GetRoleList",
  44. "/Common/GetCaptchaImg",
  45. "/Model/*",
  46. "/Organize/GetOrgTreeList",
  47. "/User/SendResetPasswordEmail",
  48. "/User/ResetPasswordFromEmail",
  49. }
  50. // 处理Auth
  51. func handleAuth(ctx context.Context, req *protocol.Message, token string) error {
  52. ctx = context.WithValue(ctx, "NotAuthSrv", true)
  53. // token拦截器
  54. err := micro_srv.HandleAuth(ctx, req, token, AuthExcludePaths)
  55. return err
  56. }