label.api 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. import "../base.api"
  2. import "./label_relationship.api"
  3. type (
  4. // The response data of label list | Label列表数据
  5. LabelSelectListResp {
  6. BaseDataInfo
  7. // Label list data | Label列表数据
  8. Data []LabelSelectListInfo `json:"data"`
  9. }
  10. // The response data of label list | Label群发列表数据
  11. LabelBatchSelectListResp {
  12. BaseDataInfo
  13. // Label list data | Label列表数据
  14. Data LabelBatchSelectListData `json:"data"`
  15. }
  16. // The response data of label list | Label群发列表数据
  17. LabelBatchSelectListData {
  18. Contact []LabelSelectListInfo `json:"contact"`
  19. Group []LabelSelectListInfo `json:"group"`
  20. }
  21. // The response data of label list | Label列表数据
  22. LabelListResp {
  23. BaseDataInfo
  24. // Label list data | Label列表数据
  25. Data LabelListInfo `json:"data"`
  26. }
  27. // Label list data | Label列表数据
  28. LabelListInfo {
  29. BaseListInfo
  30. // The API list data | Label列表数据
  31. Data []LabelInfo `json:"data"`
  32. }
  33. // Get label list request params | Label列表请求参数
  34. LabelListReq {
  35. PageInfo
  36. // Label ID list | Label ID列表
  37. LabelIDs []uint64 `json:"labelIDs,optional"`
  38. // 标签类型:1好友,2群组,3公众号,4企业微信联系人
  39. Type *int `json:"type,optional"`
  40. // 标签名称
  41. Name *string `json:"name,optional"`
  42. // 标签来源:1后台创建 2个微同步
  43. From *int `json:"from,optional"`
  44. // 标签模式:1动态 2静态
  45. Mode *int `json:"mode,optional"`
  46. }
  47. // Label information response | Label信息返回体
  48. LabelInfoResp {
  49. BaseDataInfo
  50. // Label information | Label数据
  51. Data LabelInfo `json:"data"`
  52. }
  53. LabelSelectListInfo {
  54. // label
  55. Label *string `json:"label,optional"`
  56. // value
  57. Value *uint64 `json:"value,optional"`
  58. }
  59. labelImportReq {
  60. Type *int `json:"type,optional" validate:"required,gt=0"`
  61. // Label information | Label数据
  62. Content string `json:"content,optional" validate:"required"`
  63. }
  64. LabelImportResp struct {
  65. BaseDataInfo
  66. Data LabelImportInfo `json:"data"`
  67. }
  68. LabelImportInfo struct {
  69. Inserted []string `json:"inserted"` // 插入成功的标签
  70. Existed []string `json:"existed"` // 已存在的标签
  71. Failed []string `json:"failed"` // 插入失败的标签(预留)
  72. }
  73. )
  74. @server(
  75. jwt: Auth
  76. group: label
  77. middleware: Authority
  78. )
  79. service Wechat {
  80. // Create label information | 创建Label
  81. @handler createLabel
  82. post /label/create (LabelInfo) returns (BaseMsgResp)
  83. // Update label information | 更新Label
  84. @handler updateLabel
  85. post /label/update (LabelInfo) returns (BaseMsgResp)
  86. // Delete label information | 删除Label信息
  87. @handler deleteLabel
  88. post /label/delete (IDsReq) returns (BaseMsgResp)
  89. // Get label list | 获取Label列表
  90. @handler getLabelList
  91. post /label/list (LabelListReq) returns (LabelListResp)
  92. // Get label select list | 获取Label列表
  93. @handler getLabelSelectList
  94. post /label/select_list (LabelListReq) returns (LabelSelectListResp)
  95. // Get label select list | 获取Label群发列表
  96. @handler getLabelBatchSelectList
  97. post /label/batch_select_list (LabelListReq) returns (LabelBatchSelectListResp)
  98. // Get label contacts | 获取Label联系人
  99. @handler getLabelContacts
  100. post /label/contacts (LabelListReq) returns (LabelListResp)
  101. // Get label by ID | 通过ID获取Label
  102. @handler getLabelById
  103. post /label (IDReq) returns (LabelInfoResp)
  104. //label import | 导出Label
  105. @handler labelImport
  106. post /label/import (labelImportReq) returns (LabelImportResp)
  107. }