| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- package main
- import (
- "context"
- "net/http"
- "dashoo.cn/micro/app/handler/dingtalk"
- "dashoo.cn/micro/app/handler/home"
- "dashoo.cn/micro/app/handler/sysreport"
- "dashoo.cn/micro/app/handler/workflow"
- "dashoo.cn/opms_libary/dynamic"
- "dashoo.cn/opms_libary/myerrors"
- "dashoo.cn/opms_libary/micro_srv"
- "github.com/gogf/gf/frame/g"
- "github.com/gogf/gf/os/glog"
- "github.com/smallnest/rpcx/protocol"
- "dashoo.cn/micro/app/handler/base"
- "dashoo.cn/micro/app/handler/contract"
- "dashoo.cn/micro/app/handler/cust"
- "dashoo.cn/micro/app/handler/plat"
- projHandler "dashoo.cn/micro/app/handler/proj"
- "dashoo.cn/micro/app/handler/work"
- )
- func main() {
- go swaggerui()
- srvAddr := g.Config().GetString("setting.bind-addr")
- basePath := g.Config().GetString("setting.srv-name")
- // 创建总服务包
- s := micro_srv.CreateAndInitService(basePath)
- s.RegisterName("Product", new(base.ProductHandler), "")
- s.RegisterName("Distributor", new(base.DistributorHandler), "")
- s.RegisterName("District", new(base.DistrictHandler), "")
- s.RegisterName("Region", new(base.RegionHandler), "")
- s.RegisterName("Customer", new(cust.CustomerHeader), "")
- s.RegisterName("Contact", new(cust.CustomerContantHeader), "")
- s.RegisterName("Belong", new(cust.CustBelongHeader), "")
- s.RegisterName("FollowUp", new(plat.FollowUpHandler), "")
- s.RegisterName("FollowUpComment", new(plat.FollowUpCommentHandler), "")
- s.RegisterName("FollowUpFile", new(plat.FollowUpFileHandler), "")
- s.RegisterName("Task", new(plat.TaskHandler), "")
- s.RegisterName("TaskComment", new(plat.TaskCommentHandler), "")
- s.RegisterName("TaskLog", new(plat.TaskLogHandler), "")
- s.RegisterName("TaskProgress", new(plat.TaskProgressHandler), "")
- s.RegisterName("PunchRecords", new(plat.PunchRecordsHandler), "")
- s.RegisterName("Business", new(projHandler.BusinessHandler), "")
- s.RegisterName("BusinessContact", new(projHandler.BusinessContactHandler), "")
- s.RegisterName("BusinessFile", new(projHandler.BusinessFileHandler), "")
- s.RegisterName("BusinessTeam", new(projHandler.BusinessTeamHandler), "")
- s.RegisterName("CtrContract", new(contract.CtrContract), "")
- s.RegisterName("CtrContractCollectionPlan", new(contract.CtrContractCollectionPlan), "")
- s.RegisterName("CtrContractCollection", new(contract.CtrContractCollection), "")
- s.RegisterName("CtrContractAppend", new(contract.CtrContractAppend), "")
- s.RegisterName("CtrContractInvoice", new(contract.CtrContractInvoice), "")
- s.RegisterName("WorkOrder", new(work.WorkOrderHandler), "")
- s.RegisterName("Schedule", new(plat.ScheduleHeader), "")
- s.RegisterName("PlatWorkflow", new(workflow.PlatWorkflowHandler), "")
- s.RegisterName("DingUpload", new(dingtalk.DingUploadHandler), "")
- s.RegisterName("Report", new(sysreport.SysReportHandler), "")
- s.RegisterName("RoleReport", new(sysreport.SysRoleReportHandler), "")
- s.RegisterName("CustCustomerBidRecord", new(cust.CustCustomerBidRecordHandler), "")
- // 首页
- s.RegisterName("Home", new(home.HomeHandler), "")
- // 钉钉回调接口
- s.RegisterName("DingEvent", new(dingtalk.DingHandler), "")
- dynamic.Invoker.Register(new(contract.CtrContractHandler))
- // 注册服务对象
- //s.RegisterName("Auth", new(handler.Auth), "")
- // 注册文件处理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",
- "/Role/GetRoleList",
- "/Common/GetCaptchaImg",
- "/Model/*",
- "/Organize/GetOrgTreeList",
- "/User/SendResetPasswordEmail",
- "/User/ResetPasswordFromEmail",
- "/DingEvent/CallBack",
- }
- // 处理Auth
- func handleAuth(ctx context.Context, req *protocol.Message, token string) error {
- if g.Config().GetBool("setting.fake-auth-for-swagger") {
- req.Metadata["userInfo"] = `{"createTime":796,"data":{"id":1,"uuid":"","userName":"admin","nickName":"系统管理员","deptId":1,"roles":""},"refreshTime":43200796,"tenant":"default","userKey":"admin","uuid":"9b7ac56a5b2b4d12e52277e9601dbaf1"}`
- req.Metadata["authExclude"] = "false"
- return nil
- }
- return micro_srv.HandleAuth(ctx, req, token, AuthExcludePaths)
- }
- func swaggerui() {
- defer func() {
- if r := recover(); r != nil {
- glog.Error(r)
- }
- }()
- if !g.Config().GetBool("setting.swagger") {
- return
- }
- glog.Info("start swagger at :18080")
- glog.Error(http.ListenAndServe(":18080",
- http.FileServer(http.Dir("./swaggerui/"))))
- }
|