template.go 723 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package gen
  2. import (
  3. "github.com/tal-tech/go-zero/tools/goctl/util"
  4. "github.com/tal-tech/go-zero/tools/goctl/util/console"
  5. )
  6. const rpcTemplateText = `syntax = "proto3";
  7. package remote;
  8. message Request {
  9. string username = 1;
  10. string password = 2;
  11. }
  12. message Response {
  13. string name = 1;
  14. string gender = 2;
  15. }
  16. service User {
  17. rpc Login(Request) returns(Response);
  18. }
  19. `
  20. type rpcTemplate struct {
  21. out string
  22. console.Console
  23. }
  24. func NewRpcTemplate(out string, idea bool) *rpcTemplate {
  25. return &rpcTemplate{
  26. out: out,
  27. Console: console.NewConsole(idea),
  28. }
  29. }
  30. func (r *rpcTemplate) MustGenerate() {
  31. err := util.With("t").Parse(rpcTemplateText).SaveTo(nil, r.out, false)
  32. r.Must(err)
  33. r.Success("Done.")
  34. }