interface.ts 9.4 KB

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