iot.js 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555
  1. import request from '@/axios'
  2. let axios = {
  3. post: (postUrl, data) => {
  4. return request({
  5. method: 'post',
  6. url: '/ringzle' + postUrl,
  7. data: data,
  8. })
  9. },
  10. get: (getUrl, params) => {
  11. let param = params || '';
  12. return request({
  13. method: 'get',
  14. url: '/ringzle' + getUrl + param
  15. })
  16. },
  17. put: (putUrl, data) => {
  18. return request({
  19. method: 'put',
  20. url: '/ringzle' + putUrl,
  21. data: data,
  22. })
  23. },
  24. del: (deleteUrl, params) => {
  25. let param = params || '';
  26. return request({
  27. method: 'delete',
  28. url: '/ringzle' + deleteUrl + param
  29. })
  30. },
  31. delData: (deleteUrl, data) => {
  32. return request({
  33. method: 'delete',
  34. url: '/ringzle' + deleteUrl,
  35. data: data,
  36. })
  37. },
  38. }
  39. import {
  40. param
  41. } from '@/uitls'
  42. /*
  43. * 获取协议配置列表
  44. * @param {Object}
  45. * data = {limit|每页显示记录数,page|当前页码,order|排序方式 可选值(asc、desc),orderField|排序字段}
  46. */
  47. export function getProtocolPage(data) {
  48. return axios.get('/iot/protocol/config/getProtocolPage?' + param(data));
  49. }
  50. /*
  51. * 获取解码器列表
  52. */
  53. export function getProtocolCodec(data) {
  54. return axios.get('/iot/protocol/config/codec');
  55. }
  56. /*
  57. * 保存协议配置
  58. * @param {Object}
  59. * data = {name|协议名称,transportType|传输协议类型,adaptorClassName|适配器,codecClassName|解码器,attribute|{Object}配置相关属性}
  60. * attribute = {host|协议地址,port|协议端口,username|用户名,password|密码,messageTopic|发布主题,commandTopic|订阅主题}
  61. */
  62. export function insertProtocol(data) {
  63. return axios.post('/iot/protocol/config', data);
  64. }
  65. /*
  66. * 修改协议配置
  67. * @param {Object}
  68. * data = {name|协议名称,transportType|传输协议类型,adaptorClassName|适配器,codecClassName|解码器,attribute|{Object}配置相关属性}
  69. * attribute = {host|协议地址,port|协议端口,username|用户名,password|密码,messageTopic|发布主题,commandTopic|订阅主题}
  70. */
  71. export function putProtocol(data) {
  72. return axios.put('/iot/protocol/config', data);
  73. }
  74. /*
  75. * 删除协议配置
  76. * @param {Object}
  77. * data = {ids|删除的id列表}
  78. */
  79. export function deleteProtocol(data) {
  80. return axios.delData('/iot/protocol/config', data);
  81. }
  82. /*
  83. * 获取项目分页列表
  84. * @param {Object}
  85. * data = {limit|每页显示记录数,page|当前页码,order|排序方式 可选值(asc、desc),orderField|排序字段,projectName|项目名称}
  86. */
  87. export function getProjectPage(data) {
  88. return axios.get('/iot/project/page?' + param(data));
  89. }
  90. /*
  91. * 获取项目列表
  92. * @param {Object}
  93. * data = {limit|每页显示记录数,page|当前页码,order|排序方式 可选值(asc、desc),orderField|排序字段,projectName|项目名称}
  94. */
  95. export function getProject() {
  96. return axios.get('/iot/project/list');
  97. }
  98. /*
  99. * 保存项目
  100. * @param {Object}
  101. * data = {name|协议名称,description|描述}
  102. */
  103. export function insertProject(data) {
  104. return axios.post('/iot/project', data);
  105. }
  106. /*
  107. * 修改项目
  108. * @param {Object}
  109. * data = {projectName|项目名称,description|描述}
  110. */
  111. export function putProject(data) {
  112. return axios.put('/iot/project', data);
  113. }
  114. /*
  115. * 删除项目
  116. * @param {Object}
  117. * data = {ids|删除的id列表}
  118. */
  119. export function deleteProject(data) {
  120. return axios.delData('/iot/project', data);
  121. }
  122. /*
  123. * 获取产品品类分页列表
  124. * @param {Object}
  125. * data = {limit|每页显示记录数,page|当前页码,order|排序方式 可选值(asc、desc),orderField|排序字段,name|品类名称或者所属场景,pid|领域id}
  126. */
  127. export function getProductCategoryPage(data) {
  128. return axios.get('/iot/productcategory/page?' + param(data));
  129. }
  130. /*
  131. * 获取产品品类列表
  132. */
  133. export function getProductCategoryList(data) {
  134. return axios.get('/iot/productcategory/list');
  135. }
  136. /*
  137. * 保存产品品类
  138. * @param {Object}
  139. * data = {categoryName|协议名称,categoryKey|描述,level|等级,pid|上级ID,scenarios|所属场景,sort|排序,territory|所属领域}
  140. */
  141. export function insertProductCategory(data) {
  142. return axios.post('/iot/productcategory', data);
  143. }
  144. /*
  145. * 修改产品品类
  146. * @param {Object}
  147. * data = {categoryName|协议名称,categoryKey|描述,level|等级,pid|上级ID,scenarios|所属场景,sort|排序,territory|所属领域}
  148. */
  149. export function putProductCategory(data) {
  150. return axios.put('/iot/productcategory', data);
  151. }
  152. /*
  153. * 删除产品品类
  154. * @param {Object}
  155. * data = {ids|删除的id列表}
  156. */
  157. export function deleteProductCategory(data) {
  158. return axios.delData('/iot/productcategory', data);
  159. }
  160. /*
  161. * 获取产品分页列表
  162. * @param {Object}
  163. * data = {limit|每页显示记录数,page|当前页码,productName|产品名称,projectId|项目id}
  164. */
  165. export function getProductPage(data) {
  166. return axios.get('/iot/product/page?' + param(data));
  167. }
  168. /*
  169. * 保存产品
  170. * @param {Object}
  171. * data = {categoryId|品类id,description|描述,deviceType|节点类型,productName|产品名称,projectId|项目id,protocolConfigId|链接协议id}
  172. */
  173. export function insertProduct(data) {
  174. return axios.post('/iot/product', data);
  175. }
  176. /*
  177. * 修改产品
  178. * @param {Object}
  179. * data = {categoryId|品类id,description|描述,deviceType|节点类型,productName|产品名称,projectId|项目id,protocolConfigId|链接协议id}
  180. */
  181. export function putProduct(data) {
  182. return axios.put('/iot/product', data);
  183. }
  184. /*
  185. * 删除产品
  186. * @param {Object}
  187. * data = {ids|删除的id列表}
  188. */
  189. export function deleteProduct(data) {
  190. return axios.delData('/iot/product', data);
  191. }
  192. /*
  193. * 获取产品详情
  194. * @param {Object}
  195. * data = {id|产品id}
  196. */
  197. export function getProductId(id) {
  198. return axios.get('/iot/product/' + id);
  199. }
  200. /*
  201. * 获取产品列表
  202. * @param {Object}
  203. */
  204. export function getProduct(id) {
  205. return axios.get('/iot/product/getProductSearchBox');
  206. }
  207. /*
  208. * 物模型修改
  209. * @param {Object}
  210. * data = {id|产品id,tslJsonStr|tsljson数据}
  211. */
  212. export function updateTsl(data) {
  213. return axios.put('/iot/product/updateTsl', data);
  214. }
  215. /*
  216. * 获取设备分页列表
  217. * @param {Object}
  218. * data = {limit|每页显示记录数,page|当前页码,deviceName|设备名称,gatewayDeviceId|网关设备id,productId|产品id}
  219. */
  220. export function getDevicePage(data) {
  221. return axios.get('/iot/device/page?' + param(data));
  222. }
  223. /*
  224. * 保存设备
  225. * @param {Object}
  226. * data = {deviceName|设备名称,deviceId|设备序列号,productId|所属产品id,slaveAddress|设备从站地址(所选产品连接协议为mdb时必填)}
  227. */
  228. export function insertDevice(data) {
  229. return axios.post('/iot/device', data);
  230. }
  231. /*
  232. * 删除设备
  233. * @param {Object}
  234. * data = {ids|删除的id列表}
  235. */
  236. export function deleteDevice(data) {
  237. return axios.delData('/iot/device', data);
  238. }
  239. /*
  240. * 设备启用、禁用
  241. * @param {Object}
  242. * data = {ids|设备id列表,status|状态: 1启用 2禁用}
  243. */
  244. export function changeDeviceStatus(data) {
  245. return axios.post('/iot/device/changeStatus', data);
  246. }
  247. /*
  248. * 获取设备详情
  249. * @param {Object}
  250. * data = {id|设备id}
  251. */
  252. export function getDeviceId(id) {
  253. return axios.get('/iot/device/' + id);
  254. }
  255. /*
  256. * 获取设备列表
  257. * @param {Object}
  258. * data = {deviceName|设备名称,productId|产品id}
  259. */
  260. export function getDevice(data) {
  261. return axios.get('/iot/device/getDeviceSearchBox?' + param(data));
  262. }
  263. /*
  264. * 保存子设备
  265. * @param {Object}
  266. * data = {id|当前网关设备主键id,childIdList|子设备序列号集合}
  267. */
  268. export function insertChildDevice(data) {
  269. return axios.post('/iot/device/addChildDevice', data);
  270. }
  271. /*
  272. * 删除子设备
  273. * @param {Object}
  274. * data = {id|当前网关设备主键id,childIdList|子设备序列号集合}
  275. */
  276. export function deleteChildDevice(data) {
  277. return axios.post('/iot/device/delChildDevice', data);
  278. }
  279. /*
  280. * 获取产品原型分页列表
  281. * @param {Object}
  282. * data = {limit|每页显示记录数,page|当前页码,categoryId|所属品类id,order|排序方式 可选值(asc、desc),orderField|排序字段}
  283. */
  284. export function getPrototypePage(data) {
  285. return axios.get('/iot/prototype/page?' + param(data));
  286. }
  287. /*
  288. * 获取产品原型列表
  289. * @param {Object}
  290. * data = {deviceId|设备主键id}
  291. */
  292. export function getPropertySearchBox(data) {
  293. return axios.get('/iot/prototype/getPropertySearchBox?' + param(data));
  294. }
  295. /*
  296. * 保存产品原型
  297. * @param {Object}
  298. * data = {abilityType|功能类型: properties属性 services服务 events事件,callType|同步异步:SYNC同步,异步ASYNC ,categoryId"|所属品类id,
  299. * dataSpecs|数据参数,dataType|数据类型,description|描述,identifier|标识符,isStd|是否标准功能 1是0否(0即为自定义功能),name|功能名称,required|是否必填 1是0否,
  300. * rwFlag|读写标识: 1只读 2读写, type|属性类型 0 表示实时状态, 1表示累计状态}
  301. * dataSpecs={dataLength|数据长度,dataType|数据类型,identifier|标识符,max|最大值,min|最小值,name|参数名称,precise|精度,step|步长,unit|单位,
  302. * unitName|单位名称,value|数值,transmitParams|拓展描述}
  303. * transmitParams={bigLittleFormat|大小端格式 1大端,2小端,identifier645|645数据标识,registerAddress|寄存器地址,registerByteNum|寄存器字节个数,
  304. * rfunctionCode|运行函数代码,wfunctionCode|等待函数代买}
  305. */
  306. export function insertPrototype(data) {
  307. return axios.post('/iot/prototype', data);
  308. }
  309. /*
  310. * 保存产品原型
  311. * @param {Object}
  312. * data = {abilityType|功能类型: properties属性 services服务 events事件,callType|同步异步:SYNC同步,异步ASYNC ,categoryId"|所属品类id,
  313. * dataSpecs|数据参数,dataType|数据类型,description|描述,identifier|标识符,isStd|是否标准功能 1是0否(0即为自定义功能),name|功能名称,required|是否必填 1是0否,
  314. * rwFlag|读写标识: 1只读 2读写, type|属性类型 0 表示实时状态, 1表示累计状态}
  315. * dataSpecs={dataLength|数据长度,dataType|数据类型,identifier|标识符,max|最大值,min|最小值,name|参数名称,precise|精度,step|步长,unit|单位,
  316. * unitName|单位名称,value|数值,transmitParams|拓展描述}
  317. * transmitParams={bigLittleFormat|大小端格式 1大端,2小端,identifier645|645数据标识,registerAddress|寄存器地址,registerByteNum|寄存器字节个数,
  318. * rfunctionCode|运行函数代码,wfunctionCode|等待函数代买}
  319. */
  320. export function putPrototype(data) {
  321. return axios.put('/iot/prototype', data);
  322. }
  323. /*
  324. * 删除产品原型
  325. * @param {Object}
  326. * data = {ids|删除的id列表}
  327. */
  328. export function deletePrototype(data) {
  329. return axios.delData('/iot/prototype', data);
  330. }
  331. /*
  332. * 获取产品原型
  333. * @param {Object}
  334. * data = {queryId|查询id,categoryId|所属品类id}
  335. */
  336. export function getPrototype(data) {
  337. return axios.delData('/iot/prototype', data);
  338. }
  339. /*
  340. * 获取设备告警配置分页列表
  341. * @param {Object}
  342. * data = {limit|每页显示记录数,page|当前页码,deviceId|设备标识id,order|排序方式 可选值(asc、desc),orderField|排序字段}
  343. */
  344. export function getDeviceAlertConfigPage(data) {
  345. return axios.get('/iot/deviceAlertConfig/page?' + param(data));
  346. }
  347. /*
  348. * 保存设备告警配置
  349. * @param {Object}
  350. * data = {}
  351. */
  352. export function insertDeviceAlertConfig(data) {
  353. return axios.post('/iot/deviceAlertConfig', data);
  354. }
  355. /*
  356. * 编辑设备告警配置
  357. * @param {Object}
  358. * data = {}
  359. */
  360. export function putDeviceAlertConfig(data) {
  361. return axios.put('/iot/deviceAlertConfig', data);
  362. }
  363. /*
  364. * 删除设备告警配置
  365. * @param {Object}
  366. * data = {deviceId|设备id,enable|状态 0:停用 1:启用,ids|删除的id列表}
  367. */
  368. export function deleteDeviceAlertConfig(data) {
  369. return axios.delData('/iot/deviceAlertConfig', data);
  370. }
  371. /*
  372. * 设备告警配置启用、禁用
  373. * @param {Object}
  374. * data = {ids|设备id列表,status|状态: 1启用 2禁用}
  375. */
  376. export function changeDeviceAlertConfigStatus(data) {
  377. return axios.post('/iot/deviceAlertConfig/changeStatus', data);
  378. }
  379. /*
  380. * 获取设备数据传输配置
  381. * @param {Object}
  382. * data = {id|设备id}
  383. */
  384. export function getChildConfigInfo(id) {
  385. return axios.get('/iot/transmit/getChildConfigInfo/' + id);
  386. }
  387. /*
  388. * 保存设备数据传输配置
  389. * @param {Object}
  390. * data = {id|设备id}
  391. */
  392. export function insertChildConfigInfo(data) {
  393. return axios.post('/iot/transmit/setTransmitConfig', data);
  394. }
  395. /*
  396. * 获取规则分页数据
  397. * @param {Object}
  398. * data = {}
  399. */
  400. export function getRulePage(data) {
  401. return axios.get('/iot/rule/page?', param(data));
  402. }
  403. /*
  404. * 保存规则
  405. * @param {Object}
  406. * data = {}
  407. */
  408. export function insertRule(data) {
  409. return axios.post('/iot/rule', data);
  410. }
  411. /*
  412. * 编辑规则
  413. * @param {Object}
  414. * data = {}
  415. */
  416. export function putRule(data) {
  417. return axios.put('/iot/rule', data);
  418. }
  419. /*
  420. * 编辑规则
  421. * @param {Object}
  422. * data = {}
  423. */
  424. export function deleteRule(id) {
  425. return axios.delData('/iot/rule/' + id, {});
  426. }
  427. /*
  428. * 启用禁用规则
  429. * @param {Object}
  430. * data = {}
  431. */
  432. export function setRuleEnable(data) {
  433. return axios.post('/iot/rule/setRuleEnable', data);
  434. }
  435. /*
  436. * 获取报警统计
  437. * @param {Object}
  438. * data = {}
  439. */
  440. export function getAlertReport() {
  441. return axios.post('/iot/devicealert/alertReport', {});
  442. }
  443. /*
  444. * 获取报警日志分页列表
  445. * @param {Object}
  446. * data = {}
  447. */
  448. export function getAlertReportPage(data) {
  449. return axios.get('/iot/devicealert/page?' + param(data));
  450. }
  451. /*
  452. * 获取使用设备列表
  453. * @param {String} params = {data}
  454. *
  455. */
  456. export function getIotentityList(data) {
  457. return axios.post('/ringzle/iotentity/query', data);
  458. }
  459. /*
  460. * 新增使用设备
  461. * @data {Object}
  462. *
  463. */
  464. export function insertIotentity(data) {
  465. return axios.post('/ringzle/iotentity', data);
  466. }
  467. /*
  468. * 编辑使用设备
  469. * @data {Object}
  470. *
  471. */
  472. export function editIotentity(data) {
  473. return axios.put('/ringzle/iotentity', data);
  474. }
  475. /*
  476. * 删除使用设备
  477. * @data {Object}
  478. *
  479. */
  480. export function deleteIotentity(id) {
  481. return axios.del('/ringzle/iotentity/' + id);
  482. }
  483. /*
  484. * 绑定模型
  485. * @data {Object}
  486. *
  487. */
  488. export function bindBim(data) {
  489. return axios.post('/iot/bindbim', data);
  490. }
  491. /*
  492. * 获取绑定模型数据
  493. * @data {Object}
  494. *
  495. */
  496. export function getBindBim(data) {
  497. return axios.post('/iot/bindbim/query', data);
  498. }
  499. /*
  500. * 修改绑定模型
  501. * @data {Object}
  502. *
  503. */
  504. export function updateBindBim(data) {
  505. return axios.put('/iot/bindbim', data);
  506. }
  507. /*
  508. * 设备模型规则
  509. * @data {Object}
  510. *
  511. */
  512. export function setBimRule(data) {
  513. return axios.post('/iot/bindrule', data);
  514. }
  515. /*
  516. * 获取设备模型规则
  517. * @data {Object}
  518. *
  519. */
  520. export function getBimRule(data) {
  521. return axios.post('/iot/bindrule/query', data);
  522. }
  523. /*
  524. * 修改设备模型规则
  525. * @data {Object}
  526. *
  527. */
  528. export function updateBimRule(data) {
  529. return axios.put('/iot/bindrule', data);
  530. }
  531. /*
  532. * 删除设备模型规则
  533. * @data {Object}
  534. *
  535. */
  536. export function deleteBimRule(id) {
  537. return axios.del('/iot/bindrule/' + id);
  538. }
  539. /*
  540. * 获取设备属性
  541. * @data {Object}
  542. *
  543. */
  544. export function getIotentityData(id) {
  545. return axios.get('/ringzle/iotentity/data/' + id);
  546. }
  547. /*
  548. * 获取摄像头AccessToken
  549. * @data {Object}
  550. *
  551. */
  552. export function getCameraAccessToken() {
  553. return axios.get('/iot/camera/accessToken');
  554. }