interface.ts 11 KB

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