report.go 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. package model
  2. import (
  3. "time"
  4. )
  5. // var const text
  6. var (
  7. ReportReason = map[int8]string{
  8. 1: "内容涉及违禁相关",
  9. 2: "内容涉及非法网站信息",
  10. 3: "内容涉及赌博诈骗信息",
  11. 4: "内容涉及人身攻击",
  12. 5: "内容涉及侵犯他人隐私",
  13. 6: "内容涉及垃圾广告",
  14. 7: "内容涉及引战",
  15. 8: "内容涉及视频剧透",
  16. 9: "恶意刷屏",
  17. 10: "视频不相关",
  18. 11: "其他",
  19. 12: "青少年不良信息",
  20. }
  21. RptMsgTitle = "举报处理结果通知"
  22. RptMsgTemplate = `您好,您在视频#{%s}{"http://www.bilibili.com/av%d"}中举报的弹幕『%s』已被删除,原因是『%s』,感谢您对bilibili社区秩序的维护,哔哩哔哩 (゜-゜)つロ 干杯~`
  23. )
  24. // const var
  25. const (
  26. // up主操作
  27. StatUpperInit = int8(0) // up主未处理
  28. StatUpperIgnore = int8(1) // up主已忽略
  29. StatUpperDelete = int8(2) // up主已删除
  30. // 管理员操作
  31. StatFirstInit = int8(0) // 待一审
  32. StatFirstDelete = int8(1) // 一审删除
  33. StatSecondInit = int8(2) // 待二审
  34. StatSecondIgnore = int8(3) // 二审忽略
  35. StatSecondDelete = int8(4) // 二审删除
  36. StatFirstIgnore = int8(5) // 一审忽略
  37. StatSecondAutoDelete = int8(6) // 二审脚本删除
  38. // 处理结果通知
  39. NoticeUnsend = int8(0) // 未通知用户
  40. NoticeSend = int8(1) // 已通知用户
  41. // 举报原因
  42. ReportReasonProhibited = int8(1) // 违禁
  43. ReportReasonPorn = int8(2) // 色情
  44. ReportReasonFraud = int8(3) // 赌博诈骗
  45. ReportReasonAttack = int8(4) // 人身攻击
  46. ReportReasonPrivate = int8(5) // 隐私
  47. ReportReasonAd = int8(6) // 广告
  48. ReportReasonWar = int8(7) // 引战
  49. ReportReasonSpoiler = int8(8) // 剧透
  50. ReportReasonMeaningless = int8(9) // 刷屏
  51. ReportReasonUnrelated = int8(10) // 视频不相关
  52. ReportReasonOther = int8(11) // 其他
  53. ReportReasonTeenagers = int8(12) // 青少年不良信息
  54. )
  55. // Report dm report info
  56. type Report struct {
  57. ID int64 `json:"id"` // 主键id
  58. Cid int64 `json:"cid"` // 视频id
  59. Did int64 `json:"dmid"` // 弹幕id
  60. UID int64 `json:"uid"` // 举报用户的id
  61. Reason int8 `json:"reason"` // 举报原因类型
  62. Content string `json:"content"` // 举报内容:reason为其它时有值
  63. Count int64 `json:"count"` // 被举报次数
  64. State int8 `json:"state"` // 举报状态
  65. UpOP int8 `json:"up_op"` // up主操作
  66. Score int32 `json:"score"` // 举报分
  67. RpTime time.Time `json:"rp_time"` // 举报时间
  68. Ctime time.Time `json:"ctime"` // 插入时间
  69. Mtime time.Time `json:"mtime"` // 更新时间
  70. }
  71. // User report user info
  72. type User struct {
  73. ID int64 `json:"id"`
  74. Did int64 `json:"dmid"`
  75. UID int64 `json:"uid"`
  76. Reason int8 `json:"reason"`
  77. State int8 `json:"state"`
  78. Content string `json:"content"`
  79. Ctime time.Time `json:"ctime"`
  80. Mtime time.Time `json:"mtime"`
  81. }
  82. // RptLog dm admin log
  83. type RptLog struct {
  84. ID int64 `json:"id"`
  85. Did int64 `json:"dmid"`
  86. AdminID int64 `json:"admin_id"`
  87. Reason int8 `json:"reason"`
  88. Result int8 `json:"result"`
  89. Remark string `json:"remark"`
  90. Elapsed int64 `json:"elapsed"`
  91. Ctime time.Time `json:"ctime"`
  92. Mtime time.Time `json:"mtime"`
  93. }
  94. // RptSearch report info from search
  95. type RptSearch struct {
  96. ID int64 `json:"id"`
  97. Cid int64 `json:"cid"` // 视频的id
  98. Did int64 `json:"dmid"` // 弹幕id
  99. Aid int64 `json:"arc_aid"` // 稿件的id
  100. Tid int64 `json:"arc_typeid"` // 稿件的分区id
  101. Owner int64 `json:"dm_owner_uid"` // 弹幕发送者的uid
  102. Msg string `json:"dm_msg"` // 弹幕内容
  103. Count int64 `json:"count"` // 被举报次数
  104. Content string `json:"content"` // 举报内容:只有类别其他才有值
  105. UpOP int8 `json:"up_op"` // up主操作状态
  106. State int8 `json:"state"` // 举报状态
  107. UID int64 `json:"uid"` // 举报用户id
  108. RpTime string `json:"rp_time"` // 举报时间
  109. Reason int64 `json:"reason"` // 举报原因类型
  110. Ctime string `json:"ctime"` // 插入时间
  111. Mtime string `json:"mtime"` // 更新时间
  112. Title string `json:"arc_title"` // 稿件标题
  113. Deleted int64 `json:"dm_deleted"` // 弹幕状态
  114. UPUid int64 `json:"arc_mid"` // up主id
  115. Cover string `json:"arc_cover"` // 稿件的封面图
  116. }
  117. // RptSearchs report list
  118. type RptSearchs struct {
  119. Page int64 `json:"page"`
  120. PageSize int64 `json:"pagesize"`
  121. PageCount int64 `json:"pagecount"`
  122. Total int64 `json:"total"`
  123. Result []*RptSearch `json:"result"`
  124. }
  125. // UptSearchReport update search report
  126. type UptSearchReport struct {
  127. DMid int64 `json:"dmid"`
  128. Upop int8 `json:"up_op"`
  129. Ctime string `json:"ctime"`
  130. Mtime string `json:"mtime"`
  131. }
  132. // Page search page
  133. type Page struct {
  134. Num int64 `json:"num"`
  135. Size int64 `json:"size"`
  136. Total int64 `json:"total"`
  137. }
  138. // SearchReportResult dm repost list from search
  139. type SearchReportResult struct {
  140. Page *Page `json:"page"`
  141. Result []*RptSearch `json:"result"`
  142. }
  143. // SearchReportAidResult dm repost archive list from search
  144. type SearchReportAidResult struct {
  145. Page *Page `json:"page"`
  146. Result map[string][]struct {
  147. Key string `json:"key"`
  148. } `json:"result"`
  149. }
  150. // RptMsg dm report message
  151. type RptMsg struct {
  152. Aid int64
  153. UID int64
  154. Did int64
  155. Title string
  156. Msg string
  157. State int8
  158. Reason int8
  159. }
  160. // Archives report archive list
  161. type Archives struct {
  162. Result []*struct {
  163. Aid int64 `json:"aid"`
  164. Title string `json:"title"`
  165. } `json:"result"`
  166. }
  167. // ReportAction send dm info and hidetime
  168. type ReportAction struct {
  169. Cid int64 `json:"cid"` // 视频id
  170. Did int64 `json:"dmid"` // 弹幕id
  171. HideTime int64 `json:"hide_time"` // 弹幕隐藏截止时间
  172. }