dahua.ts 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. import request from '@/utils/request';
  2. import { BaseResponse } from './type';
  3. import { DA_HUA_URL_PREFIX } from '@/constants/constants';
  4. export interface DAHUALoginParams {
  5. userName: string;
  6. signature: string;
  7. randomKey: string;
  8. encryptType: 'MD5';
  9. clientType: 'winpc';
  10. pid: 2548;
  11. }
  12. export interface DAHUADeviceParams {
  13. token: string;
  14. }
  15. export interface DAHUAKeepParams {
  16. token: string;
  17. }
  18. export interface DAHUAInfomationParams {
  19. token: string;
  20. [key: string]: any;
  21. }
  22. export interface DAHUADeviceParams {
  23. token: string;
  24. id: string;
  25. [key: string]: any;
  26. }
  27. export interface LoginResponse extends BaseResponse {
  28. token?: string;
  29. userId?: string | number;
  30. }
  31. export interface MeetingResponse extends BaseResponse {
  32. Id?: string;
  33. }
  34. export interface DAHUAMeetParams extends BaseResponse {
  35. token: string;
  36. name?: string; //会议名称
  37. masterId?: string; //主持人用户ID
  38. masterName?: string; //主持人名字
  39. masterNumber?: string; //主持人号码
  40. region: ''; //号码对应的PAAS域ID
  41. record: true; //是否录像录音true:录像录音 false:不录
  42. type?: string; //会议类型“audio”: 音频会议 “video”: 音视频会议
  43. mode: 'group'; //会议模式“p2p”:点对点“group”:群聊
  44. }
  45. export interface DAHUAMeetDeleteParams {
  46. token: string;
  47. meetId: string;
  48. }
  49. export interface DAHUAMemberParams {
  50. token: string;
  51. obj: {};
  52. }
  53. export interface KeepAliveResponse extends BaseResponse {}
  54. export interface KeepMeetResponse extends BaseResponse {
  55. id?: string;
  56. }
  57. export const DAHUALogin = (params: DAHUALoginParams) =>
  58. request<LoginResponse>('POST', {
  59. url: `${DA_HUA_URL_PREFIX}/videoService/accounts/authorize`,
  60. data: params,
  61. headers: {
  62. 'Content-Type': 'application/json',
  63. 'X-Subject-Token': '',
  64. },
  65. });
  66. export const DAHUAKeepAlive = (params: DAHUAKeepParams) =>
  67. request<KeepAliveResponse>('PUT', {
  68. url: `${DA_HUA_URL_PREFIX}/videoService/accounts/token/keepalive`,
  69. data: params,
  70. headers: {
  71. 'Content-Type': 'application/json',
  72. 'X-Subject-Token': params.token,
  73. },
  74. });
  75. export const DAHUAUserInfo = (params: DAHUAKeepParams) =>
  76. request<BaseResponse>('GET', {
  77. url: `${DA_HUA_URL_PREFIX}/ras/user/info`,
  78. params: params,
  79. headers: {
  80. 'Content-Type': 'application/json;charset=UTF-8',
  81. 'X-Subject-Token': params.token,
  82. },
  83. });
  84. export const DAHUAInfomation = (params: DAHUAInfomationParams) =>
  85. request<BaseResponse>('POST', {
  86. url: `${DA_HUA_URL_PREFIX}/ras/acd/user/list`,
  87. data: params,
  88. headers: {
  89. 'Content-Type': 'application/json;charset=UTF-8',
  90. 'X-Subject-Token': params.token,
  91. },
  92. });
  93. export const DAHUACreateMeet = (params: DAHUAMeetParams) =>
  94. request<KeepMeetResponse>('POST', {
  95. url: `${DA_HUA_URL_PREFIX}/mcu/meeting`,
  96. data: params,
  97. headers: {
  98. 'Content-Type': 'application/json',
  99. 'X-Subject-Token': params.token,
  100. },
  101. });
  102. export const DAHUADeleteMeet = (params: DAHUAMeetDeleteParams) =>
  103. request<KeepMeetResponse>('DELETE', {
  104. url: `${DA_HUA_URL_PREFIX}/mcu/meeting/` + params.meetId,
  105. headers: {
  106. 'Content-Type': 'application/json',
  107. 'X-Subject-Token': params.token,
  108. },
  109. });
  110. export const DAHUAMeetingUser = (params: DAHUAMeetDeleteParams) =>
  111. request<KeepMeetResponse>('GET', {
  112. url: `${DA_HUA_URL_PREFIX}/mcu/meeting/` + params.meetId,
  113. headers: {
  114. 'Content-Type': 'application/json',
  115. 'X-Subject-Token': params.token,
  116. },
  117. });
  118. export const DAHUADevice = (params: DAHUADeviceParams) =>
  119. request<BaseResponse>('GET', {
  120. url: `${DA_HUA_URL_PREFIX}/videoService/devicesManager/deviceTree`,
  121. params: params,
  122. headers: {
  123. 'Content-Type': 'application/json',
  124. 'X-Subject-Token': params.token,
  125. },
  126. });
  127. export const DAHUAMeetingMember = (params: DAHUAMemberParams) =>
  128. request<BaseResponse>('POST', {
  129. url: `${DA_HUA_URL_PREFIX}/mcu/meeting/member`,
  130. data: params.obj,
  131. headers: {
  132. 'Content-Type': 'application/json',
  133. 'X-Subject-Token': params.token,
  134. },
  135. });
  136. export const DAHUADeviceObj = (params: DAHUADeviceParams) =>
  137. request<BaseResponse>('GET', {
  138. url:
  139. `${DA_HUA_URL_PREFIX}/videoService/devicesManager/devices/` + params.id,
  140. headers: {
  141. 'Content-Type': 'application/json',
  142. 'X-Subject-Token': params.token,
  143. },
  144. });
  145. export const DAHUAUserObj = (params: DAHUADeviceParams) =>
  146. request<BaseResponse>('GET', {
  147. url: `${DA_HUA_URL_PREFIX}/ras/user/` + params.id,
  148. headers: {
  149. 'Content-Type': 'application/json',
  150. 'X-Subject-Token': params.token,
  151. },
  152. });