dashboard.api 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. import "../base.api"
  2. type (
  3. DashboardInfo {
  4. BaseIDInfo
  5. }
  6. ChartsReq {
  7. StartDate *string `json:"start_date"`
  8. EndDate *string `json:"end_date"`
  9. // 租户id
  10. OrganizationId *uint64 `json:"organizationId,optional"`
  11. Wxid *string `json:"wxid,optional"`
  12. }
  13. ChartsResp {
  14. BaseDataInfo
  15. Data *ChartsData `json:"data"`
  16. }
  17. ChartsData {
  18. AiResponse *ChartsUint `json:"ai_response"`
  19. SopRun *ChartsUint `json:"sop_run"`
  20. TotalFriend *ChartsUint `json:"total_friend"`
  21. TotalGroup *ChartsUint `json:"total_group"`
  22. AccountBalance *ChartsInt `json:"account_balance"`
  23. ConsumeToken *ChartsUint `json:"consume_token"`
  24. ActiveUser *ChartsUint `json:"active_user"`
  25. NewUser *ChartsInt `json:"new_user"`
  26. LabelDist []LabelsData `json:"label_dist"`
  27. ConsumeCoin *ChartsStr `json:"consume_coin"`
  28. }
  29. ChartsUint {
  30. Count uint64 `json:"count"`
  31. Rate *float32 `json:"rate"`
  32. Label []string `json:"label"`
  33. Val []uint64 `json:"val"`
  34. LabelText string `json:"labelText"`
  35. Tip *string `json:"tip"`
  36. }
  37. ChartsFloat {
  38. Count float64 `json:"count"`
  39. Rate *float32 `json:"rate"`
  40. Label []string `json:"label"`
  41. Val []float64 `json:"val"`
  42. LabelText string `json:"labelText"`
  43. Tip *string `json:"tip"`
  44. }
  45. ChartsMix {
  46. Count int64 `json:"count"`
  47. Rate *float32 `json:"rate"`
  48. Label []string `json:"label"`
  49. Val []float64 `json:"val"`
  50. LabelText string `json:"labelText"`
  51. Tip *string `json:"tip"`
  52. }
  53. ChartsStr {
  54. Count string `json:"count"`
  55. Rate *float32 `json:"rate"`
  56. Label []string `json:"label"`
  57. Val []string `json:"val"`
  58. LabelText string `json:"labelText"`
  59. Tip *string `json:"tip"`
  60. }
  61. ChartsInt {
  62. Count int64 `json:"count"`
  63. Rate *float32 `json:"rate"`
  64. Label []string `json:"label"`
  65. Val []int64 `json:"val"`
  66. LabelText string `json:"labelText"`
  67. Tip *string `json:"tip"`
  68. }
  69. LabelsData {
  70. Value uint64 `json:"value"`
  71. Name string `json:"name"`
  72. }
  73. WxReq {
  74. PageInfo
  75. EndDate *string `json:"end_date"`
  76. // 租户id
  77. OrganizationId *uint64 `json:"organizationId,optional"`
  78. Wxid *string `json:"wxid,optional"`
  79. }
  80. WxResp {
  81. BaseDataInfo
  82. Data WxList `json:"data"`
  83. }
  84. WxList {
  85. BaseListInfo
  86. Data []WxData `json:"data"`
  87. }
  88. WxData {
  89. Nickname string `json:"nickname"`
  90. TotalFriend uint64 `json:"total_friend"`
  91. TotalGroup uint64 `json:"total_group"`
  92. InteractionRate float32 `json:"interaction_rate"`
  93. }
  94. )
  95. @server(
  96. jwt: Auth
  97. group: dashboard
  98. middleware: Authority
  99. )
  100. service Wechat {
  101. // get charts | 获取图表数据
  102. @handler getCharts
  103. post /dashboard/charts (ChartsReq) returns (ChartsResp)
  104. // get wxs | 获取图表数据
  105. @handler getWxs
  106. post /dashboard/wx (WxReq) returns (WxResp)
  107. }