api.proto 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. syntax = "proto3";
  2. package live.xcaptcha.v1;
  3. option go_package = "v1";
  4. import "github.com/gogo/protobuf/gogoproto/gogo.proto";
  5. // XCaptcha
  6. service XCaptcha {
  7. // 创建验证码
  8. rpc create (XCreateCaptchaReq) returns (XCreateCaptchaResp);
  9. // 二次校验checkToken `internal:"true"`
  10. rpc verify (XVerifyReq) returns (XVerifyResp);
  11. // 验证码校验 `internal:"true"`
  12. rpc check (CheckReq) returns (CheckResp);
  13. }
  14. message XCreateCaptchaReq {
  15. int64 type = 1 [(gogoproto.moretags) = 'form:"type"'];
  16. string client_type = 2 [(gogoproto.moretags) = 'form:"client_type"'];
  17. int64 height = 3 [(gogoproto.moretags) = 'form:"height"'];
  18. int64 width = 4 [(gogoproto.moretags) = 'form:"width"'];
  19. int64 uid = 5 [(gogoproto.moretags) = 'form:"uid"'];
  20. string client_ip = 6 [(gogoproto.moretags) = 'form:"client_ip"'];
  21. }
  22. message XCreateCaptchaResp{
  23. int64 type = 1 [(gogoproto.jsontag) = "type"];
  24. GeeTest geetest = 2 [(gogoproto.jsontag) = "geetest"];
  25. Image image = 3 [(gogoproto.jsontag) = "image"];
  26. }
  27. message GeeTest{
  28. string gt = 1 [(gogoproto.jsontag) = "gt"];
  29. string challenge = 2 [(gogoproto.jsontag) = "challenge"];
  30. }
  31. message Image{
  32. string tips = 1 [(gogoproto.jsontag) = "tips"];
  33. string token = 2 [(gogoproto.jsontag) = "token"];
  34. string content = 3 [(gogoproto.jsontag) = "content"];
  35. }
  36. message XVerifyReq {
  37. string _anti = 1 [(gogoproto.moretags) = 'form:"_anti" validate:"required"'];
  38. int64 uid = 2 [(gogoproto.moretags) = 'form:"uid" validate:"required"'];
  39. string client_ip = 3 [(gogoproto.moretags) = 'form:"client_ip"'];
  40. int64 room_id = 4 [(gogoproto.moretags) = 'form:"room_id"'];
  41. }
  42. message XVerifyResp{
  43. }
  44. message CheckReq{
  45. string anti = 1 [(gogoproto.moretags) = 'form:"anti" validate:"required"'];
  46. int64 uid = 2 [(gogoproto.moretags) = 'form:"uid" validate:"required"'];
  47. string client_ip = 3 [(gogoproto.moretags) = 'form:"client_ip"'];
  48. }
  49. message CheckResp{
  50. int64 type = 1 [(gogoproto.jsontag) = "type"];
  51. string token = 2 [(gogoproto.jsontag) = "token"];
  52. }