gensvc.go 702 B

123456789101112131415161718192021222324252627282930313233343536
  1. package gen
  2. import (
  3. "fmt"
  4. "path/filepath"
  5. "github.com/tal-tech/go-zero/tools/goctl/util"
  6. )
  7. const svcTemplate = `package svc
  8. import {{.imports}}
  9. type ServiceContext struct {
  10. c config.Config
  11. }
  12. func NewServiceContext(c config.Config) *ServiceContext {
  13. return &ServiceContext{
  14. c:c,
  15. }
  16. }
  17. `
  18. func (g *defaultRpcGenerator) genSvc() error {
  19. svcPath := g.dirM[dirSvc]
  20. fileName := filepath.Join(svcPath, fileServiceContext)
  21. text, err := util.LoadTemplate(category, svcTemplateFile, svcTemplate)
  22. if err != nil {
  23. return err
  24. }
  25. return util.With("svc").GoFmt(true).Parse(text).SaveTo(map[string]interface{}{
  26. "imports": fmt.Sprintf(`"%v"`, g.mustGetPackage(dirConfig)),
  27. }, fileName, false)
  28. }