interface.ts 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374
  1. // 这里放项目里面的类型
  2. export enum PayStatusEnum {
  3. error = 'error',
  4. WAIT_BUYER_PAY = 'WAIT_BUYER_PAY',
  5. TRADE_SUCCESS = 'TRADE_SUCCESS',
  6. }
  7. export interface IServerInfo {
  8. project_name: string;
  9. project_env: string;
  10. updated_at: string;
  11. server: {
  12. uname: string;
  13. redisVersion: string;
  14. mysqlVersion: string;
  15. nginxVersion: string;
  16. dockerVersion: string;
  17. pm2Version: string;
  18. nodeVersion: string;
  19. npmVersion: string;
  20. pnpmVersion: string;
  21. };
  22. billd: {
  23. pkgName: string;
  24. pkgVersion: string;
  25. pkgRepository: string;
  26. commitSubject: string;
  27. commitBranch: string;
  28. committerDate: string;
  29. commitHash: string;
  30. committerName: string;
  31. committerEmail: string;
  32. lastBuildDate: string;
  33. nodeVersion: string;
  34. };
  35. }
  36. export enum RankTypeEnum {
  37. liveRoom = 'liveRoom',
  38. user = 'user',
  39. sponsors = 'sponsors',
  40. wallet = 'wallet',
  41. blog = 'blog',
  42. }
  43. export interface IWallet {
  44. id?: number;
  45. user_id?: number;
  46. balance?: string;
  47. created_at?: string;
  48. updated_at?: string;
  49. deleted_at?: string;
  50. }
  51. export type IList<T> = {
  52. nowPage?: string;
  53. pageSize?: string;
  54. orderBy?: string;
  55. orderName?: string;
  56. keyWord?: string;
  57. rangTimeType?: 'created_at' | 'updated_at' | 'deleted_at';
  58. rangTimeStart?: string;
  59. rangTimeEnd?: string;
  60. } & T;
  61. export interface IPaging<T> {
  62. nowPage: number;
  63. pageSize: number;
  64. hasMore: boolean;
  65. total: number;
  66. rows: T[];
  67. }
  68. export interface IOrder {
  69. id?: number;
  70. /** 用户信息 */
  71. user?: IUser;
  72. /** 商品信息 */
  73. goods?: IGoods;
  74. billd_live_user_id?: number;
  75. billd_live_goods_id?: number;
  76. billd_live_live_room_id?: number;
  77. /** 判断幂等 */
  78. billd_live_order_version?: number;
  79. billd_live_order_subject?: string;
  80. product_code?: string;
  81. qr_code?: string;
  82. /** 买家支付宝账号 */
  83. buyer_logon_id?: string;
  84. /** 买家实付金额,单位为元,两位小数。 */
  85. buyer_pay_amount?: string;
  86. /** 买家在支付宝的用户id */
  87. buyer_user_id?: string;
  88. /** 交易的订单金额,单位为元,两位小数。该参数的值为支付时传入的total_amount */
  89. total_amount?: string;
  90. /** 交易中用户支付的可开具发票的金额,单位为元,两位小数。 */
  91. invoice_amount?: string;
  92. /** 积分支付的金额,单位为元,两位小数。 */
  93. point_amount?: string;
  94. /** 实收金额,单位为元,两位小数。该金额为本笔交易,商户账户能够实际收到的金额 */
  95. receipt_amount?: string;
  96. /** 支付宝交易号 */
  97. trade_no?: string;
  98. /** 商家订单号 */
  99. out_trade_no?: string;
  100. /** 交易状态:WAIT_BUYER_PAY(交易创建,等待买家付款)、TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款)、TRADE_SUCCESS(交易支付成功)、TRADE_FINISHED(交易结束,不可退款) */
  101. trade_status?: string;
  102. /** 本次交易打款给卖家的时间 */
  103. send_pay_date?: string;
  104. created_at?: string;
  105. updated_at?: string;
  106. deleted_at?: string;
  107. }
  108. export enum GoodsTypeEnum {
  109. support = 'support',
  110. sponsors = 'sponsors',
  111. gift = 'gift',
  112. recharge = 'recharge',
  113. }
  114. export interface IGoods {
  115. id?: number;
  116. type?: GoodsTypeEnum;
  117. name?: string;
  118. desc?: string;
  119. short_desc?: string;
  120. cover?: string;
  121. price?: string;
  122. original_price?: string;
  123. nums?: number;
  124. badge?: string;
  125. badge_bg?: string;
  126. remark?: string;
  127. created_at?: string;
  128. updated_at?: string;
  129. deleted_at?: string;
  130. }
  131. export interface ILiveRoom {
  132. id?: number;
  133. /** 用户信息 */
  134. user?: IUser;
  135. /** 用户信息 */
  136. users?: IUser[];
  137. /** 分区信息 */
  138. area?: IArea;
  139. /** 直播信息 */
  140. live?: ILive;
  141. user_live_room?: IUserLiveRoom & { user: IUser };
  142. name?: string;
  143. /** 1:使用cdn;2:不使用cdn */
  144. cdn?: number;
  145. /** 权重 */
  146. weight?: number;
  147. key?: string;
  148. type?: LiveRoomTypeEnum;
  149. cover_img?: string;
  150. rtmp_url?: string;
  151. flv_url?: string;
  152. hls_url?: string;
  153. created_at?: string;
  154. updated_at?: string;
  155. deleted_at?: string;
  156. }
  157. export interface IUserLiveRoom {
  158. id?: number;
  159. user_id?: number;
  160. live_room_id?: number;
  161. /** 用户信息 */
  162. user?: IUser;
  163. /** 直播间信息 */
  164. live_room?: ILiveRoom;
  165. created_at?: string;
  166. updated_at?: string;
  167. deleted_at?: string;
  168. }
  169. export enum liveTypeEnum {
  170. webrtcPull = 'webrtcPull',
  171. srsWebrtcPull = 'srsWebrtcPull',
  172. srsFlvPull = 'srsFlvPull',
  173. srsHlsPull = 'srsHlsPull',
  174. srsPush = 'srsPush',
  175. webrtcPush = 'webrtcPush',
  176. canvasPush = 'canvasPush',
  177. }
  178. /** 直播间类型 */
  179. export enum LiveRoomTypeEnum {
  180. system, // 系统直播
  181. user_wertc, // 主播使用webrtc直播(用户只能看webrtc直播)
  182. user_srs, // 主播使用srs直播(用户可以看webrtc或flv直播)
  183. user_obs, // 主播使用obs/ffmpeg直播(用户只能看flv直播)
  184. }
  185. export interface BilldHtmlWebpackPluginLog {
  186. pkgName: string;
  187. pkgVersion: string;
  188. pkgRepository: string;
  189. commitSubject: string;
  190. commitBranch: string;
  191. committerDate: string;
  192. commitHash: string;
  193. committerName: string;
  194. committerEmail: string;
  195. lastBuildDate: string;
  196. }
  197. export enum PlatformEnum {
  198. qqLogin = 'qq_login',
  199. }
  200. export interface IAuth {
  201. id?: number;
  202. auth_name?: string;
  203. auth_value?: string;
  204. type?: number;
  205. priority?: number | string;
  206. p_id?: number | null;
  207. created_at?: string;
  208. updated_at?: string;
  209. deleted_at?: null;
  210. c_auths?: number[];
  211. }
  212. export interface IRole {
  213. id?: number;
  214. role_name?: string;
  215. role_value?: string;
  216. type?: number;
  217. priority?: number | string;
  218. p_id?: number | null;
  219. created_at?: string;
  220. updated_at?: string;
  221. deleted_at?: null;
  222. role_auths?: number[];
  223. c_roles?: number[];
  224. }
  225. export interface IUser {
  226. id?: number;
  227. username?: string;
  228. password?: string;
  229. email?: string;
  230. status?: number;
  231. avatar?: string;
  232. desc?: string;
  233. token?: string;
  234. user_roles?: number[];
  235. created_at?: string;
  236. updated_at?: string;
  237. deleted_at?: string;
  238. qq_users?: IQqUser[];
  239. live_rooms?: ILiveRoom[];
  240. wallet?: IWallet;
  241. }
  242. export interface IQqUser {
  243. id?: number;
  244. client_id?: number;
  245. openid?: string;
  246. unionid?: string;
  247. username?: string;
  248. figureurl?: string;
  249. figureurl_1?: string;
  250. figureurl_2?: string;
  251. figureurl_qq_1?: string;
  252. figureurl_qq_2?: string;
  253. constellation?: string;
  254. gender?: string;
  255. city?: string;
  256. province?: string;
  257. year?: string;
  258. created_at?: string;
  259. updated_at?: string;
  260. deleted_at?: any;
  261. }
  262. export interface IArea {
  263. id?: number;
  264. name?: string;
  265. remark?: string;
  266. /** 权重 */
  267. weight?: number;
  268. area_live_rooms?: IAreaLiveRoom[];
  269. created_at?: string;
  270. updated_at?: string;
  271. deleted_at?: string;
  272. }
  273. export interface IAreaLiveRoom {
  274. id?: number;
  275. area_id?: number;
  276. live_room_id?: number;
  277. /** 分区信息 */
  278. area?: IUser;
  279. /** 直播间信息 */
  280. live_room?: ILiveRoom;
  281. created_at?: string;
  282. updated_at?: string;
  283. deleted_at?: string;
  284. }
  285. export interface ILive {
  286. id?: number;
  287. /** 用户信息 */
  288. user?: IUser;
  289. /** 直播间信息 */
  290. live_room?: ILiveRoom;
  291. socket_id?: string;
  292. user_id?: number;
  293. live_room_id?: number;
  294. /** 1开启;2关闭 */
  295. track_video?: number;
  296. /** 1开启;2关闭 */
  297. track_audio?: number;
  298. created_at?: string;
  299. updated_at?: string;
  300. deleted_at?: string;
  301. }
  302. export enum MediaTypeEnum {
  303. camera,
  304. screen,
  305. microphone,
  306. txt,
  307. img,
  308. media,
  309. time,
  310. stopwatch,
  311. webAudio,
  312. }
  313. export enum DanmuMsgTypeEnum {
  314. danmu,
  315. otherJoin,
  316. userLeaved,
  317. }
  318. export interface IUpdateJoinInfo {
  319. socket_id: string;
  320. is_anchor: boolean;
  321. user_info?: IUser;
  322. data: {
  323. live_room_id: number;
  324. track?: { audio: number; video: number };
  325. rtmp_url?: string;
  326. };
  327. }
  328. export interface ILiveUser {
  329. id: string;
  330. rooms?: string[];
  331. userInfo?: IUser;
  332. }
  333. export interface IDanmu {
  334. msgType: DanmuMsgTypeEnum;
  335. msg: string;
  336. socket_id: string;
  337. userInfo?: IUser;
  338. }
  339. export interface IMessage {
  340. socket_id: string;
  341. is_anchor: boolean;
  342. user_info?: IUser;
  343. data: {
  344. msgType: DanmuMsgTypeEnum;
  345. msg: string;
  346. live_room_id: number;
  347. };
  348. }