Commit 5e8a7ce21e35b2c4d7faeede04e60b3537db2f3c
1 parent
69734af3
添加utf-8解析设备信息
Showing
11 changed files
with
244 additions
and
16 deletions
sql/mysql.sql
| ... | ... | @@ -23,7 +23,8 @@ create table device |
| 23 | 23 | updateTime varchar(50) not null, |
| 24 | 24 | port int not null, |
| 25 | 25 | expires int not null, |
| 26 | - hostAddress varchar(50) not null | |
| 26 | + hostAddress varchar(50) not null, | |
| 27 | + charset varchar(50) not null | |
| 27 | 28 | ); |
| 28 | 29 | |
| 29 | 30 | create table device_channel | ... | ... |
src/main/java/com/genersoft/iot/vmp/gb28181/auth/RegisterLogicHandler.java
| 1 | 1 | package com.genersoft.iot.vmp.gb28181.auth; |
| 2 | 2 | |
| 3 | +import org.slf4j.Logger; | |
| 4 | +import org.slf4j.LoggerFactory; | |
| 3 | 5 | import org.springframework.beans.factory.annotation.Autowired; |
| 4 | 6 | import org.springframework.stereotype.Component; |
| 5 | 7 | |
| ... | ... | @@ -14,13 +16,17 @@ import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander; |
| 14 | 16 | @Component |
| 15 | 17 | public class RegisterLogicHandler { |
| 16 | 18 | |
| 19 | + private Logger logger = LoggerFactory.getLogger(RegisterLogicHandler.class); | |
| 20 | + | |
| 17 | 21 | @Autowired |
| 18 | 22 | private SIPCommander cmder; |
| 19 | 23 | |
| 20 | 24 | public void onRegister(Device device) { |
| 21 | - // TODO 后续处理,只有第一次注册时调用查询设备信息,如需更新调用更新API接口 | |
| 22 | - cmder.deviceInfoQuery(device); | |
| 23 | - | |
| 24 | - cmder.catalogQuery(device, null); | |
| 25 | + // 只有第一次注册时调用查询设备信息,如需更新调用更新API接口 | |
| 26 | + if (device.isFirsRegister()) { | |
| 27 | + logger.info("[{}] 首次注册,查询设备信息以及通道信息", device.getDeviceId()); | |
| 28 | + cmder.deviceInfoQuery(device); | |
| 29 | + cmder.catalogQuery(device, null); | |
| 30 | + } | |
| 25 | 31 | } |
| 26 | 32 | } | ... | ... |
src/main/java/com/genersoft/iot/vmp/gb28181/bean/Device.java
| ... | ... | @@ -99,6 +99,18 @@ public class Device { |
| 99 | 99 | */ |
| 100 | 100 | private String mediaServerId; |
| 101 | 101 | |
| 102 | + /** | |
| 103 | + * 首次注册 | |
| 104 | + */ | |
| 105 | + private boolean firsRegister; | |
| 106 | + | |
| 107 | + /** | |
| 108 | + * 字符集, 支持 utf-8 与 gb2312 | |
| 109 | + */ | |
| 110 | + private String charset ; | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 102 | 114 | public String getDeviceId() { |
| 103 | 115 | return deviceId; |
| 104 | 116 | } |
| ... | ... | @@ -242,4 +254,20 @@ public class Device { |
| 242 | 254 | public void setMediaServerId(String mediaServerId) { |
| 243 | 255 | this.mediaServerId = mediaServerId; |
| 244 | 256 | } |
| 257 | + | |
| 258 | + public boolean isFirsRegister() { | |
| 259 | + return firsRegister; | |
| 260 | + } | |
| 261 | + | |
| 262 | + public void setFirsRegister(boolean firsRegister) { | |
| 263 | + this.firsRegister = firsRegister; | |
| 264 | + } | |
| 265 | + | |
| 266 | + public String getCharset() { | |
| 267 | + return charset; | |
| 268 | + } | |
| 269 | + | |
| 270 | + public void setCharset(String charset) { | |
| 271 | + this.charset = charset; | |
| 272 | + } | |
| 245 | 273 | } | ... | ... |
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java
| ... | ... | @@ -172,6 +172,7 @@ public class MessageRequestProcessor extends SIPRequestAbstractProcessor { |
| 172 | 172 | String deviceId = deviceIdElement.getTextTrim().toString(); |
| 173 | 173 | Device device = storager.queryVideoDevice(deviceId); |
| 174 | 174 | if (device != null) { |
| 175 | + rootElement = getRootElement(evt, device.getCharset()); | |
| 175 | 176 | if (!StringUtils.isEmpty(device.getName())) { |
| 176 | 177 | mobilePosition.setDeviceName(device.getName()); |
| 177 | 178 | } |
| ... | ... | @@ -449,8 +450,11 @@ public class MessageRequestProcessor extends SIPRequestAbstractProcessor { |
| 449 | 450 | Element rootElement = getRootElement(evt); |
| 450 | 451 | String requestName = rootElement.getName(); |
| 451 | 452 | Element deviceIdElement = rootElement.element("DeviceID"); |
| 452 | - String deviceId = deviceIdElement.getTextTrim().toString(); | |
| 453 | + String deviceId = deviceIdElement.getTextTrim(); | |
| 453 | 454 | Device device = storager.queryVideoDevice(deviceId); |
| 455 | + if (device != null ) { | |
| 456 | + rootElement = getRootElement(evt, device.getCharset()); | |
| 457 | + } | |
| 454 | 458 | if (requestName.equals("Query")) { |
| 455 | 459 | logger.info("接收到DeviceInfo查询消息"); |
| 456 | 460 | FromHeader fromHeader = (FromHeader) evt.getRequest().getHeader(FromHeader.NAME); |
| ... | ... | @@ -470,7 +474,9 @@ public class MessageRequestProcessor extends SIPRequestAbstractProcessor { |
| 470 | 474 | if (device == null) { |
| 471 | 475 | return; |
| 472 | 476 | } |
| 477 | + | |
| 473 | 478 | device.setName(XmlUtil.getText(rootElement, "DeviceName")); |
| 479 | + | |
| 474 | 480 | device.setManufacturer(XmlUtil.getText(rootElement, "Manufacturer")); |
| 475 | 481 | device.setModel(XmlUtil.getText(rootElement, "Model")); |
| 476 | 482 | device.setFirmware(XmlUtil.getText(rootElement, "Firmware")); |
| ... | ... | @@ -569,12 +575,14 @@ public class MessageRequestProcessor extends SIPRequestAbstractProcessor { |
| 569 | 575 | |
| 570 | 576 | |
| 571 | 577 | } else { |
| 578 | + Device device = storager.queryVideoDevice(deviceId); | |
| 579 | + if (device == null) { | |
| 580 | + return; | |
| 581 | + } | |
| 582 | + deviceListElement = getRootElement(evt, device.getCharset()).element("DeviceList"); | |
| 572 | 583 | Iterator<Element> deviceListIterator = deviceListElement.elementIterator(); |
| 573 | 584 | if (deviceListIterator != null) { |
| 574 | - Device device = storager.queryVideoDevice(deviceId); | |
| 575 | - if (device == null) { | |
| 576 | - return; | |
| 577 | - } | |
| 585 | + | |
| 578 | 586 | // 遍历DeviceList |
| 579 | 587 | while (deviceListIterator.hasNext()) { |
| 580 | 588 | Element itemDevice = deviceListIterator.next(); |
| ... | ... | @@ -693,6 +701,9 @@ public class MessageRequestProcessor extends SIPRequestAbstractProcessor { |
| 693 | 701 | if (device == null) { |
| 694 | 702 | return; |
| 695 | 703 | } |
| 704 | + if (device.getCharset() != null) { | |
| 705 | + rootElement = getRootElement(evt, device.getCharset()); | |
| 706 | + } | |
| 696 | 707 | |
| 697 | 708 | if (rootElement.getName().equals("Notify")) { // 处理报警通知 |
| 698 | 709 | DeviceAlarm deviceAlarm = new DeviceAlarm(); |
| ... | ... | @@ -816,6 +827,10 @@ public class MessageRequestProcessor extends SIPRequestAbstractProcessor { |
| 816 | 827 | Element rootElement = getRootElement(evt); |
| 817 | 828 | Element deviceIdElement = rootElement.element("DeviceID"); |
| 818 | 829 | String deviceId = deviceIdElement.getText().toString(); |
| 830 | + Device device = storager.queryVideoDevice(deviceId); | |
| 831 | + if (device != null ) { | |
| 832 | + rootElement = getRootElement(evt, device.getCharset()); | |
| 833 | + } | |
| 819 | 834 | recordInfo.setDeviceId(deviceId); |
| 820 | 835 | recordInfo.setName(XmlUtil.getText(rootElement, "Name")); |
| 821 | 836 | if (XmlUtil.getText(rootElement, "SumNum")== null || XmlUtil.getText(rootElement, "SumNum") =="") { |
| ... | ... | @@ -1009,9 +1024,15 @@ public class MessageRequestProcessor extends SIPRequestAbstractProcessor { |
| 1009 | 1024 | } |
| 1010 | 1025 | |
| 1011 | 1026 | private Element getRootElement(RequestEvent evt) throws DocumentException { |
| 1027 | + | |
| 1028 | + return getRootElement(evt, "gb2312"); | |
| 1029 | + } | |
| 1030 | + | |
| 1031 | + private Element getRootElement(RequestEvent evt, String charset) throws DocumentException { | |
| 1032 | + if (charset == null) charset = "gb2312"; | |
| 1012 | 1033 | Request request = evt.getRequest(); |
| 1013 | 1034 | SAXReader reader = new SAXReader(); |
| 1014 | - reader.setEncoding("gbk"); | |
| 1035 | + reader.setEncoding(charset); | |
| 1015 | 1036 | Document xml = reader.read(new ByteArrayInputStream(request.getRawContent())); |
| 1016 | 1037 | return xml.getRootElement(); |
| 1017 | 1038 | } | ... | ... |
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/NotifyRequestProcessor.java
| ... | ... | @@ -156,6 +156,7 @@ public class NotifyRequestProcessor extends SIPRequestAbstractProcessor { |
| 156 | 156 | if (device == null) { |
| 157 | 157 | return; |
| 158 | 158 | } |
| 159 | + rootElement = getRootElement(evt, device.getCharset()); | |
| 159 | 160 | DeviceAlarm deviceAlarm = new DeviceAlarm(); |
| 160 | 161 | deviceAlarm.setDeviceId(deviceId); |
| 161 | 162 | deviceAlarm.setAlarmPriority(XmlUtil.getText(rootElement, "AlarmPriority")); |
| ... | ... | @@ -218,6 +219,9 @@ public class NotifyRequestProcessor extends SIPRequestAbstractProcessor { |
| 218 | 219 | Element deviceIdElement = rootElement.element("DeviceID"); |
| 219 | 220 | String deviceId = deviceIdElement.getText(); |
| 220 | 221 | Device device = storager.queryVideoDevice(deviceId); |
| 222 | + if (device != null ) { | |
| 223 | + rootElement = getRootElement(evt, device.getCharset()); | |
| 224 | + } | |
| 221 | 225 | Element deviceListElement = rootElement.element("DeviceList"); |
| 222 | 226 | if (deviceListElement == null) { |
| 223 | 227 | return; |
| ... | ... | @@ -347,11 +351,14 @@ public class NotifyRequestProcessor extends SIPRequestAbstractProcessor { |
| 347 | 351 | serverTransaction.sendResponse(response); |
| 348 | 352 | if (serverTransaction.getDialog() != null) serverTransaction.getDialog().delete(); |
| 349 | 353 | } |
| 350 | - | |
| 351 | 354 | private Element getRootElement(RequestEvent evt) throws DocumentException { |
| 355 | + return getRootElement(evt, "gb2312"); | |
| 356 | + } | |
| 357 | + private Element getRootElement(RequestEvent evt, String charset) throws DocumentException { | |
| 358 | + if (charset == null) charset = "gb2312"; | |
| 352 | 359 | Request request = evt.getRequest(); |
| 353 | 360 | SAXReader reader = new SAXReader(); |
| 354 | - reader.setEncoding("gbk"); | |
| 361 | + reader.setEncoding(charset); | |
| 355 | 362 | Document xml = reader.read(new ByteArrayInputStream(request.getRawContent())); |
| 356 | 363 | return xml.getRootElement(); |
| 357 | 364 | } | ... | ... |
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/RegisterRequestProcessor.java
| ... | ... | @@ -134,7 +134,9 @@ public class RegisterRequestProcessor extends SIPRequestAbstractProcessor { |
| 134 | 134 | if (device == null) { |
| 135 | 135 | device = new Device(); |
| 136 | 136 | device.setStreamMode("UDP"); |
| 137 | + device.setCharset("gb2312"); | |
| 137 | 138 | device.setDeviceId(deviceId); |
| 139 | + device.setFirsRegister(true); | |
| 138 | 140 | } |
| 139 | 141 | device.setIp(received); |
| 140 | 142 | device.setPort(rPort); | ... | ... |
src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMapper.java
| ... | ... | @@ -32,6 +32,7 @@ public interface DeviceMapper { |
| 32 | 32 | "keepaliveTime," + |
| 33 | 33 | "createTime," + |
| 34 | 34 | "updateTime," + |
| 35 | + "charset," + | |
| 35 | 36 | "online" + |
| 36 | 37 | ") VALUES (" + |
| 37 | 38 | "#{deviceId}," + |
| ... | ... | @@ -49,6 +50,7 @@ public interface DeviceMapper { |
| 49 | 50 | "#{keepaliveTime}," + |
| 50 | 51 | "#{createTime}," + |
| 51 | 52 | "#{updateTime}," + |
| 53 | + "#{charset}," + | |
| 52 | 54 | "#{online}" + |
| 53 | 55 | ")") |
| 54 | 56 | int add(Device device); |
| ... | ... | @@ -69,6 +71,7 @@ public interface DeviceMapper { |
| 69 | 71 | "<if test=\"registerTime != null\">, registerTime='${registerTime}'</if>" + |
| 70 | 72 | "<if test=\"keepaliveTime != null\">, keepaliveTime='${keepaliveTime}'</if>" + |
| 71 | 73 | "<if test=\"expires != null\">, expires=${expires}</if>" + |
| 74 | + "<if test=\"charset != null\">, charset='${charset}'</if>" + | |
| 72 | 75 | "WHERE deviceId='${deviceId}'"+ |
| 73 | 76 | " </script>"}) |
| 74 | 77 | int update(Device device); | ... | ... |
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java
| ... | ... | @@ -3,6 +3,7 @@ package com.genersoft.iot.vmp.vmanager.gb28181.device; |
| 3 | 3 | import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel; |
| 4 | 4 | import com.genersoft.iot.vmp.gb28181.transmit.callback.RequestMessage; |
| 5 | 5 | import com.genersoft.iot.vmp.storager.IRedisCatchStorage; |
| 6 | +import com.genersoft.iot.vmp.vmanager.bean.WVPResult; | |
| 6 | 7 | import com.github.pagehelper.PageInfo; |
| 7 | 8 | import io.swagger.annotations.*; |
| 8 | 9 | import org.slf4j.Logger; |
| ... | ... | @@ -22,6 +23,7 @@ import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander; |
| 22 | 23 | import com.genersoft.iot.vmp.storager.IVideoManagerStorager; |
| 23 | 24 | |
| 24 | 25 | import javax.sip.message.Response; |
| 26 | +import java.io.UnsupportedEncodingException; | |
| 25 | 27 | |
| 26 | 28 | @Api(tags = "国标设备查询", value = "国标设备查询") |
| 27 | 29 | @SuppressWarnings("rawtypes") |
| ... | ... | @@ -274,6 +276,32 @@ public class DeviceQuery { |
| 274 | 276 | } |
| 275 | 277 | |
| 276 | 278 | /** |
| 279 | + * 更新设备信息 | |
| 280 | + * @param device 设备信息 | |
| 281 | + * @return | |
| 282 | + */ | |
| 283 | + @ApiOperation("更新设备信息") | |
| 284 | + @ApiImplicitParams({ | |
| 285 | + @ApiImplicitParam(name = "device", value = "设备信息", required = true, dataTypeClass = Device.class) | |
| 286 | + }) | |
| 287 | + @PostMapping("/device/update/") | |
| 288 | + public ResponseEntity<WVPResult<String>> updateDevice(Device device){ | |
| 289 | + | |
| 290 | + if (device != null && device.getDeviceId() != null) { | |
| 291 | + Device deviceInStore = storager.queryVideoDevice(device.getDeviceId()); | |
| 292 | + if (!StringUtils.isEmpty(device.getName())) deviceInStore.setName(device.getName()); | |
| 293 | + if (!StringUtils.isEmpty(device.getCharset())) deviceInStore.setCharset(device.getCharset()); | |
| 294 | + if (!StringUtils.isEmpty(device.getMediaServerId())) deviceInStore.setMediaServerId(device.getMediaServerId()); | |
| 295 | + storager.updateDevice(deviceInStore); | |
| 296 | + cmder.deviceInfoQuery(deviceInStore); | |
| 297 | + } | |
| 298 | + WVPResult<String> result = new WVPResult<>(); | |
| 299 | + result.setCode(0); | |
| 300 | + result.setMsg("success"); | |
| 301 | + return new ResponseEntity<>(result,HttpStatus.OK); | |
| 302 | + } | |
| 303 | + | |
| 304 | + /** | |
| 277 | 305 | * 设备状态查询请求API接口 |
| 278 | 306 | * |
| 279 | 307 | * @param deviceId 设备id | ... | ... |
src/main/resources/wvp.sqlite
No preview for this file type
web_src/src/components/DeviceList.vue
| ... | ... | @@ -60,7 +60,7 @@ |
| 60 | 60 | <el-button-group> |
| 61 | 61 | <el-button size="mini" icon="el-icon-video-camera-solid" v-bind:disabled="scope.row.online==0" type="primary" @click="showChannelList(scope.row)">通道</el-button> |
| 62 | 62 | <el-button size="mini" icon="el-icon-location" v-bind:disabled="scope.row.online==0" type="primary" @click="showDevicePosition(scope.row)">定位</el-button> |
| 63 | - <el-button size="mini" icon="el-icon-s-tools" v-bind:disabled="scope.row.online==0" type="primary">控制</el-button> | |
| 63 | + <el-button size="mini" icon="el-icon-delete" type="primary" @click="edit(scope.row)">编辑</el-button> | |
| 64 | 64 | <el-button size="mini" icon="el-icon-delete" type="danger" v-if="scope.row.online==0" @click="deleteDevice(scope.row)">删除</el-button> |
| 65 | 65 | </el-button-group> |
| 66 | 66 | </template> |
| ... | ... | @@ -76,7 +76,7 @@ |
| 76 | 76 | layout="total, sizes, prev, pager, next" |
| 77 | 77 | :total="total"> |
| 78 | 78 | </el-pagination> |
| 79 | - | |
| 79 | + <deviceEdit ref="deviceEdit" ></deviceEdit> | |
| 80 | 80 | </el-main> |
| 81 | 81 | </el-container> |
| 82 | 82 | </div> |
| ... | ... | @@ -84,10 +84,12 @@ |
| 84 | 84 | |
| 85 | 85 | <script> |
| 86 | 86 | import uiHeader from './UiHeader.vue' |
| 87 | + import deviceEdit from './dialog/deviceEdit.vue' | |
| 87 | 88 | export default { |
| 88 | 89 | name: 'app', |
| 89 | 90 | components: { |
| 90 | - uiHeader | |
| 91 | + uiHeader, | |
| 92 | + deviceEdit | |
| 91 | 93 | }, |
| 92 | 94 | data() { |
| 93 | 95 | return { |
| ... | ... | @@ -239,6 +241,19 @@ |
| 239 | 241 | |
| 240 | 242 | }).catch(function(e) { |
| 241 | 243 | }); |
| 244 | + }, | |
| 245 | + edit: function (row) { | |
| 246 | + console.log(row); | |
| 247 | + this.$refs.deviceEdit.openDialog(row, ()=>{ | |
| 248 | + this.$refs.deviceEdit.close(); | |
| 249 | + this.$message({ | |
| 250 | + showClose: true, | |
| 251 | + message: "设备修改成功,通道字符集将在下次更新生效", | |
| 252 | + type: "success", | |
| 253 | + }); | |
| 254 | + setTimeout(this.getDeviceList, 200) | |
| 255 | + | |
| 256 | + }) | |
| 242 | 257 | } |
| 243 | 258 | |
| 244 | 259 | } | ... | ... |
web_src/src/components/dialog/deviceEdit.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <div id="deviceEdit" v-loading="isLoging"> | |
| 3 | + <el-dialog | |
| 4 | + title="设备编辑" | |
| 5 | + width="40%" | |
| 6 | + top="2rem" | |
| 7 | + :close-on-click-modal="false" | |
| 8 | + :visible.sync="showDialog" | |
| 9 | + :destroy-on-close="true" | |
| 10 | + @close="close()" | |
| 11 | + > | |
| 12 | + <div id="shared" style="margin-top: 1rem;margin-right: 100px;"> | |
| 13 | + <el-form ref="form" :rules="rules" :model="form" label-width="140px" > | |
| 14 | + <el-form-item label="设备编号" > | |
| 15 | + <el-input v-model="form.deviceId" disabled></el-input> | |
| 16 | + </el-form-item> | |
| 17 | + | |
| 18 | + <el-form-item label="设备名称" prop="name"> | |
| 19 | + <el-input v-model="form.name" clearable></el-input> | |
| 20 | + </el-form-item> | |
| 21 | +<!-- <el-form-item label="流媒体ID" prop="mediaServerId">--> | |
| 22 | +<!-- <el-select v-model="form.mediaServerId" style="float: left; width: 100%" >--> | |
| 23 | +<!-- <el-option key="auto" label="自动负载最小" value="null"></el-option>--> | |
| 24 | +<!-- <el-option--> | |
| 25 | +<!-- v-for="item in mediaServerList"--> | |
| 26 | +<!-- :key="item.id"--> | |
| 27 | +<!-- :label="item.id"--> | |
| 28 | +<!-- :value="item.id">--> | |
| 29 | +<!-- </el-option>--> | |
| 30 | +<!-- </el-select>--> | |
| 31 | +<!-- </el-form-item>--> | |
| 32 | + | |
| 33 | + <el-form-item label="字符集" prop="charset" > | |
| 34 | + <el-select v-model="form.charset" style="float: left; width: 100%" > | |
| 35 | + <el-option key="GB2312" label="GB2312" value="gb2312"></el-option> | |
| 36 | + <el-option key="UTF-8" label="UTF-8" value="utf-8"></el-option> | |
| 37 | + </el-select> | |
| 38 | + </el-form-item> | |
| 39 | + <el-form-item> | |
| 40 | + <div style="float: right;"> | |
| 41 | + <el-button type="primary" @click="onSubmit" >确认</el-button> | |
| 42 | + <el-button @click="close">取消</el-button> | |
| 43 | + </div> | |
| 44 | + | |
| 45 | + </el-form-item> | |
| 46 | + </el-form> | |
| 47 | + </div> | |
| 48 | + </el-dialog> | |
| 49 | + </div> | |
| 50 | +</template> | |
| 51 | + | |
| 52 | +<script> | |
| 53 | +import MediaServer from '../service/MediaServer' | |
| 54 | +export default { | |
| 55 | + name: "deviceEdit", | |
| 56 | + props: {}, | |
| 57 | + computed: {}, | |
| 58 | + created() {}, | |
| 59 | + data() { | |
| 60 | + return { | |
| 61 | + listChangeCallback: null, | |
| 62 | + showDialog: false, | |
| 63 | + isLoging: false, | |
| 64 | + hostNames:[], | |
| 65 | + mediaServerList: [], // 滅体节点列表 | |
| 66 | + mediaServerObj : new MediaServer(), | |
| 67 | + form: {}, | |
| 68 | + rules: { | |
| 69 | + name: [{ required: true, message: "请输入名称", trigger: "blur" }] | |
| 70 | + }, | |
| 71 | + }; | |
| 72 | + }, | |
| 73 | + methods: { | |
| 74 | + openDialog: function (row, callback) { | |
| 75 | + console.log(row) | |
| 76 | + this.showDialog = true; | |
| 77 | + this.listChangeCallback = callback; | |
| 78 | + if (row != null) { | |
| 79 | + this.form = row; | |
| 80 | + } | |
| 81 | + this.getMediaServerList(); | |
| 82 | + }, | |
| 83 | + getMediaServerList: function (){ | |
| 84 | + let that = this; | |
| 85 | + that.mediaServerObj.getMediaServerList((data)=>{ | |
| 86 | + that.mediaServerList = data.data; | |
| 87 | + }) | |
| 88 | + }, | |
| 89 | + onSubmit: function () { | |
| 90 | + console.log("onSubmit"); | |
| 91 | + console.log(this.form); | |
| 92 | + this.$axios({ | |
| 93 | + method: 'post', | |
| 94 | + url:`/api/device/query/device/update/`, | |
| 95 | + params: this.form | |
| 96 | + }).then((res) => { | |
| 97 | + console.log(res.data) | |
| 98 | + if (res.data.code == 0) { | |
| 99 | + this.listChangeCallback() | |
| 100 | + }else { | |
| 101 | + this.$message({ | |
| 102 | + showClose: true, | |
| 103 | + message: res.data.msg, | |
| 104 | + type: "error", | |
| 105 | + }); | |
| 106 | + } | |
| 107 | + }).catch(function (error) { | |
| 108 | + console.log(error); | |
| 109 | + }); | |
| 110 | + }, | |
| 111 | + close: function () { | |
| 112 | + this.showDialog = false; | |
| 113 | + this.$refs.form.resetFields(); | |
| 114 | + }, | |
| 115 | + }, | |
| 116 | +}; | |
| 117 | +</script> | ... | ... |