CreatorCenterSpaceVO.cs 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344
  1. using JiaZhiQuan.Common.Attributes;
  2. using JiaZhiQuan.Common.Utils;
  3. using Newtonsoft.Json;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Reflection.Metadata.Ecma335;
  7. using static JiaZhiQuan.Common.CreatorSpace;
  8. namespace JiaZhiQuan.Common.Models.VO.CreatorCenter
  9. {
  10. /// <summary>
  11. /// 创作者中心,空间显示详情
  12. /// </summary>
  13. public class CreatorCenterSpaceVO
  14. {
  15. /// <summary>
  16. /// 空间详情
  17. /// </summary>
  18. public List<SpaceDetails> SpaceDetails { get; set; }
  19. /// <summary>
  20. /// 用户信息
  21. /// </summary>
  22. public UserInfo UserInfo { get; set; }
  23. }
  24. public class SpaceDetails
  25. {
  26. /// <summary>
  27. /// SpaceID
  28. /// </summary>
  29. public int ID { get; set; }
  30. /// <summary>
  31. /// 空间名称
  32. /// </summary>
  33. public string Title { get; set; }
  34. /// <summary>
  35. /// 空间类型
  36. /// </summary>
  37. public CreatorSpaceType ContentType { get; set; }
  38. /// <summary>
  39. /// 空间类型描述
  40. /// </summary>
  41. public string ContentTypeDesc { get { return AttributeUtils.GetEnumDescription<CreatorSpaceTypeDescAttribute>(this.ContentType)?.Name; } }
  42. /// <summary>
  43. /// 活动卡片详情,当空间类型为 活动卡片 时,该字段有效
  44. /// </summary>
  45. public ActivityCardDetails ActivityCardDetails { get; set; }
  46. /// <summary>
  47. /// 活动内容详情,当空间类型为 活动内容 时,该字段有效
  48. /// </summary>
  49. public ActivityRegionDetails ActivityRegionContentDetails { get; set; }
  50. /// <summary>
  51. /// Banner图详情,当空间类型为 Banner 时,该字段有效
  52. /// </summary>
  53. public List<BannerDetails> BannerDetails { get; set; }
  54. /// <summary>
  55. /// 用户文章列表,当空间类型为 我的作品 时,该字段有效
  56. /// </summary>
  57. public List<UserPostDetails> UserPostDetails { get; set; }
  58. /// <summary>
  59. /// 近7天数据统计,当空间类型为 近7日数据总览 时,该字段有效
  60. /// </summary>
  61. public List<object> DataDetails { get; set; }
  62. }
  63. /// <summary>
  64. /// 活动卡片详情
  65. /// </summary>
  66. public class ActivityCardDetails
  67. {
  68. public int ID { get; set; }
  69. /// <summary>
  70. /// Code
  71. /// </summary>
  72. public string Code { get; set; }
  73. /// <summary>
  74. /// 标题
  75. /// </summary>
  76. public string Title { get; set; }
  77. /// <summary>
  78. /// 文案
  79. /// </summary>
  80. public string Content { get; set; }
  81. /// <summary>
  82. /// 高亮关键词
  83. /// </summary>
  84. public string KeyWord { get; set; }
  85. /// <summary>
  86. /// 活动图片
  87. /// </summary>
  88. public string Banner { get; set; }
  89. /// <summary>
  90. /// 是否允许关闭
  91. /// </summary>
  92. public bool AllowClose { get; set; }
  93. /// <summary>
  94. /// 跳转路径
  95. /// </summary>
  96. public string LinkUrl { get; set; }
  97. /// <summary>
  98. /// 可见性
  99. /// 1:非创作者
  100. /// 2:创作者
  101. /// 3:所有人
  102. /// </summary>
  103. public int Visual { get; set; }
  104. }
  105. /// <summary>
  106. /// 活动专区详情
  107. /// </summary>
  108. public class ActivityRegionDetails
  109. {
  110. public int ID { get; set; }
  111. /// <summary>
  112. /// 标题
  113. /// </summary>
  114. public string Title { get; set; }
  115. /// <summary>
  116. /// 每页显示数量
  117. /// </summary>
  118. public int Size { get; set; }
  119. /// <summary>
  120. /// 活动内容显示样式
  121. /// </summary>
  122. public ActivityRegionStyleType Style { get; set; }
  123. /// <summary>
  124. /// 活动内容显示样式描述
  125. /// </summary>
  126. public string StyleDesc { get { return this.Style.ToString(); } }
  127. /// <summary>
  128. /// 是否有Tab
  129. /// </summary>
  130. public bool HasTab { get; set; }
  131. /// <summary>
  132. /// Tabs详情
  133. /// </summary>
  134. public List<ActivityRegionDetails> Tabs { get; set; }
  135. /// <summary>
  136. /// 活动内容列表
  137. /// </summary>
  138. public List<ActivityRegionContentDetails> Contents { get; set; }
  139. }
  140. /// <summary>
  141. /// 活动专题内容
  142. /// </summary>
  143. public class ActivityRegionContentDetails
  144. {
  145. public int ID { get; set; }
  146. /// <summary>
  147. /// 标题
  148. /// </summary>
  149. public string Title { get; set; }
  150. /// <summary>
  151. /// 副文案
  152. /// </summary>
  153. public string Content { get; set; }
  154. /// <summary>
  155. /// 活动图片
  156. /// </summary>
  157. public string Banner { get; set; }
  158. /// <summary>
  159. /// 活动热度
  160. /// </summary>
  161. public int Hot { get; set; }
  162. /// <summary>
  163. /// 活动标签
  164. /// </summary>
  165. public string Label { get; set; }
  166. /// <summary>
  167. /// 是否启用按钮
  168. /// </summary>
  169. public bool BtnEnabled { get; set; }
  170. /// <summary>
  171. /// 按钮名称
  172. /// </summary>
  173. public string BtnName { get; set; }
  174. /// <summary>
  175. /// 按钮的跳转路径
  176. /// </summary>
  177. [JsonProperty("btnLink")]
  178. public string BtnLinkUrl { get; set; }
  179. /// <summary>
  180. /// 是否启用内容跳转
  181. /// </summary>
  182. public bool ContentEnabled { get; set; }
  183. /// <summary>
  184. /// 内容的跳转路径
  185. /// </summary>
  186. [JsonProperty("contentLink")]
  187. public string ContentLinkUrl { get; set; }
  188. }
  189. /// <summary>
  190. /// Banner图
  191. /// </summary>
  192. public class BannerDetails
  193. {
  194. public int ID { get; set; }
  195. /// <summary>
  196. /// 标题
  197. /// </summary>
  198. public string Title { get; set; }
  199. /// <summary>
  200. /// Banner地址
  201. /// </summary>
  202. public string ImageUrl { get; set; }
  203. /// <summary>
  204. /// 跳转
  205. /// </summary>
  206. public string ActionLink { get; set; }
  207. /// <summary>
  208. /// 跳转类型
  209. /// </summary>
  210. public int ActionType { get; set; }
  211. /// <summary>
  212. /// 跳转子类型
  213. /// </summary>
  214. public int ActionSubType { get; set; }
  215. /// <summary>
  216. /// 跳转参数
  217. /// </summary>
  218. public string ActionData { get; set; }
  219. }
  220. /// <summary>
  221. /// 用户文章详情
  222. /// </summary>
  223. public class UserPostDetails
  224. {
  225. public string ID { get; set; }
  226. /// <summary>
  227. /// 标题
  228. /// </summary>
  229. public string Title { get; set; }
  230. /// <summary>
  231. /// 摘要
  232. /// </summary>
  233. public string Summary { get; set; }
  234. /// <summary>
  235. /// 是否包含缩略图
  236. /// </summary>
  237. public bool HasThumbnails { get; set; }
  238. /// <summary>
  239. /// 缩略图
  240. /// </summary>
  241. public string Thumbnails { get; set; }
  242. /// <summary>
  243. /// 图文还是视频
  244. /// </summary>
  245. public int Type { get; set; }
  246. /// <summary>
  247. /// 状态
  248. /// </summary>
  249. public Post.PostState State { get; set; }
  250. /// <summary>
  251. /// 创建时间
  252. /// </summary>
  253. public DateTime CreateAt { get; set; }
  254. }
  255. /// <summary>
  256. /// 用户信息
  257. /// </summary>
  258. public class UserInfo
  259. {
  260. public string ID { get; set; }
  261. /// <summary>
  262. /// 名称
  263. /// </summary>
  264. public string Alias { get; set; }
  265. /// <summary>
  266. /// 头像
  267. /// </summary>
  268. public string HeadImage { get; set; }
  269. /// <summary>
  270. /// 粉丝数
  271. /// </summary>
  272. public int FansCount { get; set; }
  273. /// <summary>
  274. /// 已加入天数
  275. /// </summary>
  276. public int JoinDays { get; set; }
  277. /// <summary>
  278. /// 提示信息
  279. /// </summary>
  280. public string Tips { get; set; }
  281. }
  282. }