interface.ts 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559
  1. import {
  2. ILiveRoom,
  3. LiveRoomIsShowEnum,
  4. LiveRoomStatusEnum,
  5. } from './types/ILiveRoom';
  6. import { IUser } from './types/IUser';
  7. export interface IFlvStatistics {
  8. url: string;
  9. hasRedirect: boolean;
  10. speed: number;
  11. loaderType: string;
  12. currentSegmentIndex: number;
  13. totalSegmentCount: number;
  14. playerType: string;
  15. decodedFrames: number;
  16. droppedFrames: number;
  17. }
  18. export interface IQiniuData {
  19. id?: number;
  20. user_id?: number;
  21. prefix?: string;
  22. bucket?: string;
  23. qiniu_key?: string;
  24. qiniu_hash?: string;
  25. qiniu_fsize?: number;
  26. qiniu_mimeType?: string;
  27. qiniu_putTime?: number;
  28. qiniu_type?: number;
  29. qiniu_status?: number;
  30. qiniu_md5?: string;
  31. }
  32. export enum WsMessageMsgIsFileEnum {
  33. yes,
  34. no,
  35. }
  36. export enum WsMessageMsgIsShowEnum {
  37. yes,
  38. no,
  39. }
  40. export enum WsMessageMsgIsVerifyEnum {
  41. yes,
  42. no,
  43. }
  44. export interface IWsMessage {
  45. id?: number;
  46. username?: string;
  47. origin_username?: string;
  48. content?: string;
  49. origin_content?: string;
  50. redbag_send_id?: number;
  51. live_room_id?: number;
  52. user_id?: number;
  53. ip?: string;
  54. msg_is_file?: WsMessageMsgIsFileEnum;
  55. msg_type?: DanmuMsgTypeEnum;
  56. user_agent?: string;
  57. send_msg_time?: number;
  58. is_show?: WsMessageMsgIsShowEnum;
  59. is_verify?: WsMessageMsgIsVerifyEnum;
  60. user?: IUser;
  61. redbag_send?: IRedbagSend;
  62. created_at?: string;
  63. updated_at?: string;
  64. deleted_at?: string;
  65. }
  66. export interface IRedbagSend {
  67. id?: number;
  68. user_id?: number;
  69. live_room_id?: number;
  70. total_amount?: string;
  71. remaining_amount?: string;
  72. total_nums?: number;
  73. remaining_nums?: number;
  74. remark?: string;
  75. /** 用户信息 */
  76. user?: IUser;
  77. /** 直播间信息 */
  78. live_room?: IGoods;
  79. created_at?: string;
  80. updated_at?: string;
  81. deleted_at?: string;
  82. }
  83. export enum RedbagIsGrantEnum {
  84. yes,
  85. no,
  86. }
  87. export interface IRedbagRecv {
  88. id?: number;
  89. user_id?: number;
  90. redbag_send_id?: number;
  91. amount?: string;
  92. remark?: string;
  93. /** 抢到红包了,是否已发放 */
  94. is_grant?: RedbagIsGrantEnum;
  95. /** 用户信息 */
  96. user?: IUser;
  97. created_at?: string;
  98. updated_at?: string;
  99. deleted_at?: string;
  100. }
  101. export enum GiftRecordIsRecvEnum {
  102. yew,
  103. no,
  104. }
  105. export enum GiftRecordStatusEnum {
  106. ok,
  107. balanceError,
  108. }
  109. export interface IGiftRecord {
  110. id?: number;
  111. is_recv?: GiftRecordIsRecvEnum;
  112. goods_id?: number;
  113. goods_nums?: number;
  114. goods_snapshot?: string;
  115. order_id?: number;
  116. live_room_id?: number;
  117. send_user_id?: number;
  118. recv_user_id?: number;
  119. status?: GiftRecordStatusEnum;
  120. remark?: string;
  121. goods?: IGoods;
  122. created_at?: string;
  123. updated_at?: string;
  124. deleted_at?: string;
  125. }
  126. export interface ISigninStatistics {
  127. id?: number;
  128. user_id?: number;
  129. live_room_id?: number;
  130. /** 当前连续签到次数 */
  131. nums?: number;
  132. /** 历史最高连续签到次数 */
  133. max_nums?: number;
  134. /** 累计签到次数 */
  135. sum_nums?: number;
  136. /** 上次签到日期 */
  137. recently_signin_time?: string;
  138. /** 用户信息 */
  139. username?: string;
  140. user?: IUser;
  141. /** 直播间信息 */
  142. live_room?: ILiveRoom;
  143. created_at?: string;
  144. updated_at?: string;
  145. deleted_at?: string;
  146. }
  147. export interface ISigninRecord {
  148. id?: number;
  149. user_id?: number;
  150. live_room_id?: number;
  151. /** 用户信息 */
  152. username?: string;
  153. user?: IUser;
  154. /** 直播间信息 */
  155. live_room?: ILiveRoom;
  156. created_at?: string;
  157. updated_at?: string;
  158. deleted_at?: string;
  159. }
  160. export enum LiveLineEnum {
  161. rtc = 'rtc',
  162. hls = 'hls',
  163. flv = 'flv',
  164. }
  165. export enum PayStatusEnum {
  166. wait = 'billd_status_wait',
  167. timeout = 'billd_status_timeout',
  168. /** (交易创建,等待买家付款) */
  169. WAIT_BUYER_PAY = 'WAIT_BUYER_PAY',
  170. /** (交易支付成功) */
  171. TRADE_SUCCESS = 'TRADE_SUCCESS',
  172. /** (未付款交易超时关闭,或支付完成后全额退款) */
  173. TRADE_CLOSED = 'TRADE_CLOSED',
  174. /** (交易结束,不可退款) */
  175. TRADE_FINISHED = 'TRADE_FINISHED',
  176. }
  177. export interface IServerInfo {
  178. project_name: string;
  179. project_env: string;
  180. updated_at: string;
  181. server: {
  182. uname: string;
  183. redisVersion: string;
  184. mysqlVersion: string;
  185. nginxVersion: string;
  186. dockerVersion: string;
  187. pm2Version: string;
  188. nodeVersion: string;
  189. npmVersion: string;
  190. pnpmVersion: string;
  191. };
  192. billd: {
  193. pkgName: string;
  194. pkgVersion: string;
  195. pkgRepository: string;
  196. commitSubject: string;
  197. commitBranch: string;
  198. committerDate: string;
  199. commitHash: string;
  200. committerName: string;
  201. committerEmail: string;
  202. lastBuildDate: string;
  203. nodeVersion: string;
  204. };
  205. }
  206. export enum RankTypeEnum {
  207. liveRoom = 'liveRoom',
  208. user = 'user',
  209. sponsors = 'sponsors',
  210. wallet = 'wallet',
  211. blog = 'blog',
  212. signin = 'signin',
  213. }
  214. export interface IWallet {
  215. id?: number;
  216. user_id?: number;
  217. balance?: number;
  218. user?: IUser;
  219. created_at?: string;
  220. updated_at?: string;
  221. deleted_at?: string;
  222. }
  223. export type IList<T> = {
  224. nowPage?: number;
  225. pageSize?: number;
  226. orderBy?: string;
  227. orderName?: string;
  228. keyWord?: string;
  229. rangTimeType?: 'created_at' | 'updated_at' | 'deleted_at';
  230. rangTimeStart?: string;
  231. rangTimeEnd?: string;
  232. } & T;
  233. export interface IPaging<T> {
  234. nowPage: number;
  235. pageSize: number;
  236. hasMore: boolean;
  237. total: number;
  238. rows: T[];
  239. }
  240. export enum FormTypeEnum {
  241. 'input' = 'input',
  242. 'password' = 'password',
  243. 'number' = 'number',
  244. 'select' = 'select',
  245. 'radio' = 'radio',
  246. 'checkbox' = 'checkbox',
  247. 'markdown' = 'markdown',
  248. 'switch' = 'switch',
  249. 'upload' = 'upload',
  250. 'treeSelect' = 'treeSelect',
  251. 'datePicker' = 'datePicker',
  252. }
  253. export interface ILiveConfig {
  254. id?: number;
  255. key?: string;
  256. value?: string;
  257. desc?: string;
  258. type?: FormTypeEnum;
  259. created_at?: string;
  260. updated_at?: string;
  261. deleted_at?: string;
  262. }
  263. export enum WalletRecordEnum {
  264. reward,
  265. recharge,
  266. signin,
  267. }
  268. export enum WalletRecordAmountStatusEnum {
  269. add,
  270. del,
  271. }
  272. export interface IWalletRecord {
  273. id?: number;
  274. user_id?: number;
  275. order_id?: number;
  276. type?: WalletRecordEnum;
  277. name?: string;
  278. amount?: number;
  279. amount_status?: WalletRecordAmountStatusEnum;
  280. remark?: string;
  281. created_at?: string;
  282. updated_at?: string;
  283. deleted_at?: string;
  284. }
  285. export interface IOrder {
  286. id?: number;
  287. /** 用户信息 */
  288. user?: IUser;
  289. /** 商品信息 */
  290. goods?: IGoods;
  291. /** 直播间信息 */
  292. live_room?: IGoods;
  293. billd_live_user_id?: number;
  294. billd_live_goods_id?: number;
  295. billd_live_live_room_id?: number;
  296. billd_live_order_subject?: string;
  297. /** 判断幂等 */
  298. billd_live_order_version?: number;
  299. client_ip?: string;
  300. product_code?: string;
  301. qr_code?: string;
  302. /** 买家支付宝账号 */
  303. buyer_logon_id?: string;
  304. /** 买家实付金额,单位为元,两位小数。 */
  305. buyer_pay_amount?: string;
  306. /** 买家在支付宝的用户id */
  307. buyer_user_id?: string;
  308. /** 交易的订单金额,单位为元,两位小数。该参数的值为支付时传入的total_amount */
  309. total_amount?: string;
  310. /** 交易中用户支付的可开具发票的金额,单位为元,两位小数。 */
  311. invoice_amount?: string;
  312. /** 积分支付的金额,单位为元,两位小数。 */
  313. point_amount?: string;
  314. /** 实收金额,单位为元,两位小数。该金额为本笔交易,商户账户能够实际收到的金额 */
  315. receipt_amount?: string;
  316. /** 支付宝交易号 */
  317. trade_no?: string;
  318. /** 商家订单号 */
  319. out_trade_no?: string;
  320. /** 交易状态:WAIT_BUYER_PAY(交易创建,等待买家付款)、TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款)、TRADE_SUCCESS(交易支付成功)、TRADE_FINISHED(交易结束,不可退款) */
  321. trade_status?: PayStatusEnum;
  322. /** 本次交易打款给卖家的时间 */
  323. send_pay_date?: string;
  324. created_at?: string;
  325. updated_at?: string;
  326. deleted_at?: string;
  327. }
  328. export enum GoodsTypeEnum {
  329. support = 'support',
  330. sponsors = 'sponsors',
  331. gift = 'gift',
  332. recharge = 'recharge',
  333. }
  334. export interface IGoods {
  335. id?: number;
  336. type?: GoodsTypeEnum;
  337. name?: string;
  338. desc?: string;
  339. short_desc?: string;
  340. cover?: string;
  341. price?: number;
  342. original_price?: number;
  343. nums?: number;
  344. badge?: string;
  345. badge_bg?: string;
  346. remark?: string;
  347. created_at?: string;
  348. updated_at?: string;
  349. deleted_at?: string;
  350. }
  351. export interface IUserLiveRoom {
  352. id?: number;
  353. user_id?: number;
  354. live_room_id?: number;
  355. /** 用户信息 */
  356. user?: IUser;
  357. /** 直播间信息 */
  358. live_room?: ILiveRoom;
  359. created_at?: string;
  360. updated_at?: string;
  361. deleted_at?: string;
  362. }
  363. export interface BilldHtmlWebpackPluginLog {
  364. pkgName: string;
  365. pkgVersion: string;
  366. pkgRepository: string;
  367. commitSubject: string;
  368. commitBranch: string;
  369. committerDate: string;
  370. commitHash: string;
  371. committerName: string;
  372. committerEmail: string;
  373. lastBuildDate: string;
  374. }
  375. export enum PlatformEnum {
  376. qqLogin = 'qq_login',
  377. wechatLogin = 'wechat_login',
  378. }
  379. export interface IAuth {
  380. id?: number;
  381. auth_name?: string;
  382. auth_value?: string;
  383. type?: number;
  384. priority?: number | string;
  385. p_id?: number | null;
  386. created_at?: string;
  387. updated_at?: string;
  388. deleted_at?: null;
  389. c_auths?: number[];
  390. }
  391. export interface IRole {
  392. id?: number;
  393. role_name?: string;
  394. role_value?: string;
  395. type?: number;
  396. priority?: number | string;
  397. p_id?: number | null;
  398. created_at?: string;
  399. updated_at?: string;
  400. deleted_at?: null;
  401. role_auths?: number[];
  402. c_roles?: number[];
  403. }
  404. export interface IArea {
  405. id?: number;
  406. name?: string;
  407. /** 备注 */
  408. remark?: string;
  409. /** 权重 */
  410. weight?: number;
  411. area_live_rooms?: IAreaLiveRoom[];
  412. live_room_is_show?: LiveRoomIsShowEnum;
  413. live_room_status?: LiveRoomStatusEnum;
  414. created_at?: string;
  415. updated_at?: string;
  416. deleted_at?: string;
  417. }
  418. export interface IAreaLiveRoom {
  419. id?: number;
  420. area_id?: number;
  421. live_room_id?: number;
  422. /** 分区信息 */
  423. area?: IUser;
  424. /** 直播间信息 */
  425. live_room?: ILiveRoom;
  426. created_at?: string;
  427. updated_at?: string;
  428. deleted_at?: string;
  429. }
  430. export interface ISrsPublishStream {
  431. /** 客户端在获取信息时,必须检查ServerID是否改变,改变时就是服务器重启,之前所有的数据都应该作废了。 */
  432. srs_server_id?: string;
  433. srs_service_id?: string;
  434. srs_action?: string;
  435. srs_client_id?: string;
  436. srs_ip?: string;
  437. srs_vhost?: string;
  438. srs_app?: string;
  439. srs_tcUrl?: string;
  440. srs_stream?: string;
  441. srs_param?: string;
  442. srs_stream_url?: string;
  443. srs_stream_id?: string;
  444. }
  445. export interface ILive extends ISrsPublishStream {
  446. id?: number;
  447. /** 用户信息 */
  448. user?: IUser;
  449. /** 直播间信息 */
  450. live_room?: ILiveRoom;
  451. socket_id?: string;
  452. user_id?: number;
  453. live_room_id?: number;
  454. live_room_is_show?: LiveRoomIsShowEnum;
  455. live_room_status?: LiveRoomStatusEnum;
  456. /** 1开启;2关闭 */
  457. track_video?: number;
  458. /** 1开启;2关闭 */
  459. track_audio?: number;
  460. created_at?: string;
  461. updated_at?: string;
  462. deleted_at?: string;
  463. }
  464. export enum MediaTypeEnum {
  465. camera,
  466. screen,
  467. microphone,
  468. txt,
  469. img,
  470. media,
  471. time,
  472. stopwatch,
  473. webAudio,
  474. pk,
  475. metting,
  476. }
  477. export enum DanmuMsgTypeEnum {
  478. danmu,
  479. otherJoin,
  480. userLeaved,
  481. system,
  482. redbag,
  483. reward,
  484. }
  485. export interface ILiveUser {
  486. // id: string;
  487. // rooms?: string[];
  488. // userInfo?: IUser;
  489. created_at: string;
  490. value: {
  491. socketId: string;
  492. joinRoomId: number;
  493. userInfo?: IUser;
  494. };
  495. }