package main import ( "context" "dashoo.cn/micro/app/handler" "dashoo.cn/opms_libary/micro_srv" "dashoo.cn/opms_libary/myerrors" "github.com/gogf/gf/frame/g" "github.com/smallnest/rpcx/protocol" ) func main() { srvAddr := g.Config().GetString("setting.bind-addr") basePath := g.Config().GetString("setting.srv-name") // 创建总服务包 s := micro_srv.CreateAndInitService(basePath) // 注册服务对象 s.RegisterName("Dict", new(handler.DictHandler), "") s.RegisterName("Auth", new(handler.AuthHandler), "") s.RegisterName("User", new(handler.UserHandler), "") s.RegisterName("Menu", new(handler.MenuHandler), "") s.RegisterName("Dept", new(handler.DeptHandler), "") s.RegisterName("Role", new(handler.RoleHandler), "") s.RegisterName("Post", new(handler.PostHandler), "") s.RegisterName("Group", new(handler.GroupHandler), "") s.RegisterName("LoginLog", new(handler.LoginLogHandler), "") // 注册文件处理Service对象 //dynamic.BeanFactory.BeanRegister(service.NewRoleService()) // 注册auth处理 s.AuthFunc = handleAuth // 错误拦截 s.Plugins.Add(&myerrors.HandleErrorPlugin{}) // 运行服务 if err := s.Serve("tcp", srvAddr); err != nil { g.Log().Fatal(err) } } // AuthExcludePaths 设定不需要认证的路径 var AuthExcludePaths = []string{ "/Auth/Login", "/Auth/ValidToken", "/Role/GetRoleList", "/Common/GetCaptchaImg", "/Model/*", "/Organize/GetOrgTreeList", "/User/SendResetPasswordEmail", "/User/ResetPasswordFromEmail", } // 处理Auth func handleAuth(ctx context.Context, req *protocol.Message, token string) error { ctx = context.WithValue(ctx, "NotAuthSrv", true) // token拦截器 err := micro_srv.HandleAuth(ctx, req, token, AuthExcludePaths) return err }