progress.ts 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. import type { IStudio } from "./Auth";
  2. import type { TChannelType } from "./channel";
  3. import type { TagNode } from "./tag";
  4. export interface IApiResponseChannelListData {
  5. channel_id: string;
  6. count: number;
  7. channel: {
  8. id: number;
  9. type: TChannelType;
  10. owner_uid: string;
  11. editor_id: number;
  12. name: string;
  13. summary: string;
  14. lang: string;
  15. status: number;
  16. setting: string;
  17. created_at: string;
  18. updated_at: string;
  19. uid: string;
  20. };
  21. studio: IStudio;
  22. }
  23. export interface IApiResponseChannelList {
  24. ok: boolean;
  25. message: string;
  26. data: { rows: IApiResponseChannelListData[]; count: number };
  27. }
  28. //=========
  29. export interface IChapterData {
  30. title: string;
  31. toc: string;
  32. book: number;
  33. para: number;
  34. path: string;
  35. tags: TagNode[];
  36. channel: { name: string; owner_uid: string };
  37. studio: IStudio;
  38. channel_id: string;
  39. summary: string;
  40. view: number;
  41. like: number;
  42. status?: number;
  43. progress: number;
  44. progress_line?: number[];
  45. created_at: string;
  46. updated_at: string;
  47. }
  48. export interface IChapterListResponse {
  49. ok: boolean;
  50. message: string;
  51. data: { rows: IChapterData[]; count: number };
  52. }
  53. //===========
  54. export interface ILangList {
  55. lang: string;
  56. count: number;
  57. }
  58. export interface IChapterLangListResponse {
  59. ok: boolean;
  60. message: string;
  61. data: { rows: ILangList[]; count: number };
  62. }
  63. /**
  64. * progress?view=chapter_channels&book=98&par=22
  65. */
  66. export interface IChapterChannelData {
  67. book: number;
  68. para: number;
  69. uid: string;
  70. channel_id: string;
  71. progress: number;
  72. progress_line?: number[];
  73. updated_at: string;
  74. views: number;
  75. likes: number[];
  76. channel: {
  77. type: TChannelType;
  78. owner_uid: string;
  79. editor_id: number;
  80. name: string;
  81. summary: string;
  82. lang: string;
  83. status: number;
  84. created_at: string;
  85. updated_at: string;
  86. uid: string;
  87. };
  88. studio: IStudio;
  89. }
  90. export interface IChapterChannelListResponse {
  91. ok: boolean;
  92. message: string;
  93. data: { rows: IChapterChannelData[]; count: number };
  94. }