device.ts 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. import request from '@/service/request'
  2. /**
  3. * 此函数根据给定的查询参数检索设备列表。
  4. * @param params - “params”参数是一个“IOT.API.DEVICE.QueryPamars”类型的对象,其中包含 API 请求的查询参数。这些参数用于过滤和分页 API
  5. * 返回的结果。
  6. * @returns `getDevice` 函数返回一个解析为 `IOT.API.DEVICE.Device` 对象数组的 Promise。 Promise
  7. * 由“request”函数返回,该函数使用指定的查询参数(“params”)向“/model/page”端点发出 GET 请求。
  8. */
  9. export const getDevicePage = (params: IOT.API.DEVICE.QueryPamars) => {
  10. return request<IOT.API.DEVICE.Device[]>({
  11. url: '/device/page',
  12. method: 'GET',
  13. params
  14. })
  15. }
  16. export const getDeviceList = (params: {modelId: string, deviceLabel: string, limit: number, lastId: string }) => {
  17. return request<IOT.API.DEVICE.Device[]>({
  18. url: '/device/list',
  19. method: 'GET',
  20. params
  21. })
  22. }
  23. export const getDeviceById = (id: string) => {
  24. return request<IOT.API.DEVICE.Device>({
  25. url: `/device/${id}`,
  26. method: 'GET'
  27. })
  28. }
  29. export const addDevice = (data: IOT.API.DEVICE.BodyParams) => {
  30. return request<string>({
  31. url: '/device',
  32. method: 'POST',
  33. data
  34. })
  35. }
  36. export const delDevice = (id: string) => {
  37. return request<string>({
  38. url: `/device/${id}`,
  39. method: 'DELETE'
  40. })
  41. }
  42. export const delDeviceMul = (data: string[]) => {
  43. return request<string>({
  44. url: '/device',
  45. method: 'DELETE',
  46. data
  47. })
  48. }
  49. export const updateDeviceLabel = (data: {id: string, deviceLabel: string}) => {
  50. return request<string>({
  51. url: '/device/deviceLabel',
  52. method: 'PUT',
  53. data
  54. })
  55. }
  56. export const getSubDeviceList = (id: string, params: IOT.API.DEVICE.QueryPamars) => {
  57. return request<string>({
  58. url: `/device/subDevice/${id}`,
  59. method: 'GET',
  60. params
  61. })
  62. }
  63. export const addSubDevice = (data: IOT.API.DEVICE.SubBodyParams) => {
  64. return request<string>({
  65. url: '/device/subDevice',
  66. method: 'POST',
  67. data
  68. })
  69. }
  70. export const addDeviceTag = (data: IOT.API.DEVICE.DeviceTag[]) => {
  71. return request<string>({
  72. url: '/deviceTag',
  73. method: 'POST',
  74. data
  75. })
  76. }
  77. export const getDeviceTag = (params: {deviceId: number | string}) => {
  78. return request<string>({
  79. url: '/deviceTag',
  80. method: 'GET',
  81. params
  82. })
  83. }
  84. export const delDeviceTag = (id: string) => {
  85. return request<string>({
  86. url: `/deviceTag/${id}`,
  87. method: 'DELETE'
  88. })
  89. }
  90. export const getDeviceCount = (params: {modelId: string}) => {
  91. return request<IOT.API.DEVICE.Count>({
  92. url: '/device/count',
  93. method: 'GET',
  94. params
  95. })
  96. }
  97. /**
  98. * 此函数检索特定设备的消息。
  99. * @param params - `params` 对象是传递给 `getDeviceMsgPage` 函数的参数。它有一个属性“deviceId”,它是一个表示设备 ID
  100. * 的字符串。此参数用于向“/toTransport/msg”端点发出 GET 请求以检索与以下内容相关的消息
  101. * @returns `getDeviceMsgPage` 函数返回一个解析为 `IOT.API.DEVICE.Msg` 类型对象的
  102. * Promise。根据传入的“deviceId”参数,此对象可能包含有关发送到特定设备的消息的信息。
  103. */
  104. export const getDeviceMsgList = (params: {deviceId: string}) => {
  105. return request<IOT.API.DEVICE.Msg[]>({
  106. url: '/toTransport/msg',
  107. method: 'GET',
  108. params
  109. })
  110. }
  111. // "deviceId": “”设备id 必需
  112. // "msgPayload":"" 消息类容 必需
  113. // "msgLabel":“”消息名称 必需
  114. // “topic":"" 主题 非必需
  115. /**
  116. * 该函数向 IoT 系统中的设备添加消息。
  117. * @param data - `data` 参数是一个包含以下属性的对象:
  118. * @returns `addDeviceMsg` 函数返回一个解析为 `IOT.API.DEVICE.Msg` 类型对象的 Promise。
  119. */
  120. export const addDeviceMsg = (data: {deviceId: string, msgPayload: string, msgLabel: string, topic: string}) => {
  121. return request<IOT.API.DEVICE.Msg>({
  122. url: '/toTransport/msg',
  123. method: 'POST',
  124. data
  125. })
  126. }
  127. /**
  128. * 此函数检索特定设备的命令列表。
  129. * @param params - `params` 参数是一个包含单个属性 `deviceId` 的对象,该属性是表示设备 ID 的字符串。此参数用于向“/toTransport/cmd”端点发出
  130. * GET 请求以检索消息列表(类型为“IOT.API.DEVICE.Msg”
  131. * @returns 函数 getDeviceCmdList 返回一个解析为 IOT.API.DEVICE.Msg 对象数组的 Promise。
  132. */
  133. export const getDeviceCmdList = (params: {deviceId: string}) => {
  134. return request<IOT.API.DEVICE.Msg[]>({
  135. url: '/toTransport/cmd',
  136. method: 'GET',
  137. params
  138. })
  139. }
  140. /**
  141. * 函数“addDeviceCmd”向“/toTransport/cmd”发送一个 POST 请求,其中包含设备 ID、命令标签和命令参数作为数据。
  142. * @param data - 包含以下属性的对象:
  143. * @returns `addDeviceCmd` 函数返回一个解析为字符串的 Promise。 Promise
  144. * 由“request”函数返回,该函数使用提供的“data”对象作为请求主体向“/toTransport/cmd”端点发送 POST 请求。
  145. */
  146. export const addDeviceCmd = (data: { deviceId: string, cmdLabel: string, cmdParameters: any}) => {
  147. return request<string>({
  148. url: '/toTransport/cmd',
  149. method: 'POST',
  150. data
  151. })
  152. }
  153. /**
  154. * 此函数发送一个 POST 请求以创建一个具有指定标签和上层组 ID 的新设备组。
  155. * @param data - `data` 参数是一个包含两个属性的对象:
  156. * @returns `addDeviceGroup` 函数返回一个解析为字符串的 Promise。该字符串是在使用提供的“数据”对象向“/deviceGroup”端点发出 POST 请求后服务器的响应。
  157. */
  158. export const addDeviceGroup = (data: { groupLabel: string, upperGroupId: string }) => {
  159. return request<string>({
  160. url: '/deviceGroup',
  161. method: 'POST',
  162. data
  163. })
  164. }
  165. /**
  166. * 此函数发送 GET 请求以根据上层组 ID 参数检索设备组列表。
  167. * @param params - `params` 参数是一个包含 `upperGroupId` 属性的对象。此属性是一个字符串,表示用户要为其检索子组列表的上层设备组的 ID。
  168. * @returns `listDeviceGroup` 函数返回一个解析为字符串的 Promise。该字符串是使用提供的 params 对象作为查询参数向 `/deviceGroup` 端点发出 GET
  169. * 请求的响应。
  170. */
  171. export const listDeviceGroup = (params: { upperGroupId: string }) => {
  172. return request<string>({
  173. url: '/deviceGroup',
  174. method: 'GET',
  175. params
  176. })
  177. }
  178. /**
  179. * 此函数发送 POST 请求以将设备绑定到设备组。
  180. * @param data - `data` 参数是一个包含两个属性的对象:
  181. * @returns 函数 postGroupBindDevice 返回一个解析为字符串的 Promise。该字符串是在使用提供的“数据”对象发出 POST 请求后来自 API
  182. * 端点“/deviceGroup/device”的响应。
  183. */
  184. export const postGroupBindDevice = (data: { deviceGroupId: string, deviceId: string }[]) => {
  185. return request<string>({
  186. url: '/deviceGroup/device',
  187. method: 'POST',
  188. data
  189. })
  190. }
  191. /**
  192. * 此函数发送 DELETE 请求以从设备组中删除设备。
  193. * @param data - `data` 参数是一个包含两个属性的对象:
  194. * @returns 解析为字符串的 Promise。
  195. */
  196. export const delGroupBindDevice = (data: { deviceGroupId: string, deviceId: string }[]) => {
  197. return request<string>({
  198. url: '/deviceGroup/device',
  199. method: 'DELETE',
  200. data
  201. })
  202. }
  203. export const getDeviceByGroup = (params: IOT.API.DEVICE.GroupQueryParams) => {
  204. return request<IOT.API.DEVICE.Device[]>({
  205. url: '/device/group',
  206. method: 'GET',
  207. params
  208. })
  209. }