Channel.ts 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. import type { IStudio } from "../auth/Studio"
  2. import type { TRole } from "./Auth"
  3. export type TChannelType =
  4. | "translation"
  5. | "nissaya"
  6. | "original"
  7. | "wbw"
  8. | "commentary"
  9. | "similar";
  10. export interface IChannelApiData {
  11. id: string;
  12. name: string;
  13. type?: TChannelType;
  14. }
  15. export interface ChannelInfoProps {
  16. channel: IChannelApiData;
  17. studio: IStudio;
  18. count?: number;
  19. }
  20. /**
  21. * 句子完成情况
  22. * [句子字符数,是否完成]
  23. *
  24. */
  25. export type IFinal = [number, boolean];
  26. export interface IApiResponseChannelData {
  27. uid: string;
  28. name: string;
  29. summary: string;
  30. type: TChannelType;
  31. studio: IStudio;
  32. lang: string;
  33. status: number;
  34. is_system: boolean;
  35. progress?: number;
  36. created_at: string;
  37. updated_at: string;
  38. role?: TRole;
  39. final?: IFinal[];
  40. content_created_at: string;
  41. content_updated_at: string;
  42. }
  43. export interface IApiResponseChannel {
  44. ok: boolean;
  45. message: string;
  46. data: IApiResponseChannelData;
  47. }
  48. export interface IApiResponseChannelList {
  49. ok: boolean;
  50. message: string;
  51. data: {
  52. rows: IApiResponseChannelData[];
  53. count: number;
  54. };
  55. }
  56. export interface ISentInChapterListResponse {
  57. ok: boolean;
  58. data: ISentInChapterListData;
  59. message: string;
  60. }
  61. export interface ISentInChapterListData {
  62. rows: ISentInChapterListDataRow[];
  63. count: number;
  64. }
  65. export interface ISentInChapterListDataRow {
  66. book: number;
  67. paragraph: number;
  68. word_begin: number;
  69. word_end: number;
  70. }