Commit e1f3d0303fa0b6cfa7c2c6303a79733572be6e8a

Authored by liujun001
1 parent 1319f362

添加配置 用于调度系统

src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
... ... @@ -33,6 +33,8 @@ import com.genersoft.iot.vmp.vmanager.bean.ErrorCode;
33 33 import com.genersoft.iot.vmp.vmanager.bean.OtherPsSendInfo;
34 34 import com.genersoft.iot.vmp.vmanager.bean.OtherRtpSendInfo;
35 35 import com.genersoft.iot.vmp.vmanager.bean.StreamContent;
  36 +import com.genersoft.iot.vmp.vmanager.jt1078.platform.Jt1078OfCarController;
  37 +import org.apache.commons.lang3.StringUtils;
36 38 import org.slf4j.Logger;
37 39 import org.slf4j.LoggerFactory;
38 40 import org.springframework.beans.factory.annotation.Autowired;
... ... @@ -130,6 +132,10 @@ public class ZLMHttpHookListener {
130 132 @Autowired
131 133 private RedisTemplate<Object, Object> redisTemplate;
132 134  
  135 + @Autowired
  136 + private Jt1078OfCarController jt1078OfCarController;
  137 +
  138 +
133 139 /**
134 140 * 服务器定时上报时间,上报间隔可配置,默认10s上报一次
135 141 */
... ... @@ -558,6 +564,22 @@ public class ZLMHttpHookListener {
558 564 // 国标类型的流
559 565 if ("rtp".equals(param.getApp())) {
560 566 ret.put("close", userSetting.getStreamOnDemand());
  567 + String stream = param.getStream();
  568 + Object port = redisTemplate.opsForValue().get("tag:history:port:" + stream);
  569 + Object httpPort = redisTemplate.opsForValue().get("tag:history:httpPort:" + stream);
  570 + if (ObjectUtils.isEmpty(port)) {
  571 + port = -1;
  572 + }
  573 +
  574 + if (ObjectUtils.isEmpty(httpPort)) {
  575 + httpPort = -1;
  576 + }
  577 +
  578 + Map<String, Object> resl = jt1078OfCarController.sendIORequestStop(StringUtils.substringBefore(stream, "-"), StringUtils.substringAfter(stream, "-"), stream, (Integer) port, (Integer) httpPort);
  579 + if (!StringUtils.equals(String.valueOf(resl.get("code")), "1")) {
  580 + logger.info("停流失败,稍后再试:{},{},{}", stream, port, httpPort);
  581 + return ret;
  582 + }
561 583 // 国标流, 点播/录像回放/录像下载
562 584 InviteInfo inviteInfo = inviteStreamService.getInviteInfoByStream(null, param.getStream());
563 585 // 点播
... ... @@ -838,7 +860,7 @@ public class ZLMHttpHookListener {
838 860 @ResponseBody
839 861 @PostMapping(value = "/on_rtp_server_timeout", produces = "application/json;charset=UTF-8")
840 862 public HookResult onRtpServerTimeout(@RequestBody OnRtpServerTimeoutHookParam
841   - param) {
  863 + param) {
842 864 logger.info("[ZLM HOOK] rtpServer收流超时:{}->{}({})", param.getMediaServerId(), param.getStream_id(), param.getSsrc());
843 865  
844 866 taskExecutor.execute(() -> {
... ...
src/main/java/com/genersoft/iot/vmp/vmanager/jt1078/platform/Jt1078OfCarController.java
... ... @@ -91,25 +91,18 @@ public class Jt1078OfCarController {
91 91 public Map<String, Object> requestTreeOfCompany() {
92 92 Map<String, Object> resultMap = new HashMap<>();
93 93 try {
94   - if (cookieTimeOut()) {
95   - requestToken();
96   - }
  94 + resultMap.put("code", "1");
  95 +
  96 + List<HashMap<String, Object>> compList = new ArrayList<>();
  97 + compList.add(tuohuaConfigBean.combationTree("100", "company1", "100", false, "新城市公交", "100", false, "span><img src='/metronic_v4.5.4/layui/icon/company1.png' class ='imageIcon' /></span><span>新城市公交</span>",
  98 + "<span><img src='/metronic_v4.5.4/layui/icon/company1.png' class ='imageIcon' /></span><span>浦东公交</span>", 2));
97 99  
98   - HttpClientPostEntity clientPostEntity = httpClientUtil.doGet(tuohuaConfigBean.getCompanyURL(), jsessionid);
99   - if (Objects.isNull(clientPostEntity)) {
100   - resultMap.put("code", "-1");
101   - resultMap.put("message", "请求错误,请联系管理员");
102   - return resultMap;
103   - }
104 100 resultMap.put("code", "1");
105   - log.info(jsessionid + ";" + clientPostEntity.getResultStr());
106   - HashMap<String, Object> hashMap = JSON.parseObject(clientPostEntity.getResultStr(), HashMap.class);
107   - resultMap.put("result", hashMap.get("data"));
108   - } catch (URISyntaxException | IOException | JSONException e) {
109   - log.error("请求token异常", e);
  101 + resultMap.put("result", compList);
  102 + } catch (JSONException e) {
110 103 resultMap.put("code", "-100");
111 104 resultMap.put("message", "请求错误,请联系管理员");
112   - jsessionid = null;
  105 +
113 106 }
114 107  
115 108 return resultMap;
... ... @@ -119,28 +112,12 @@ public class Jt1078OfCarController {
119 112 public Map<String, Object> requestTreeOfCarByCompanyId(@PathVariable String companyId) {
120 113 Map<String, Object> resultMap = new HashMap<>();
121 114 try {
122   - if (cookieTimeOut()) {
123   - requestToken();
124   - }
125   -
126   - String url = MessageFormat.format(tuohuaConfigBean.getCompanyOfCarURL(), companyId);
127   -
128   - HttpClientPostEntity clientPostEntity = httpClientUtil.doGet(url, jsessionid);
129   - if (Objects.isNull(clientPostEntity)) {
130   - resultMap.put("code", "-1");
131   - resultMap.put("message", "请求错误,请联系管理员");
132   - return resultMap;
133   - }
134   -
135   - // HashMap<String,Object> hashMap = JSON.parseObject(clientPostEntity.getResultStr(),HashMap.class);
  115 + List<HashMap<String, Object>> linesCars = tuohuaConfigBean.requestOfLineAndCarAndCombationTree(httpClientUtil, companyId);
  116 + resultMap.put("result", linesCars);
136 117 resultMap.put("code", "1");
137   - //resultMap.put("result", hashMap.get("data"));
138   - resultMap.put("result", JSON.parseArray(clientPostEntity.getResultStr(), HashMap.class));
139   - } catch (URISyntaxException | IOException | JSONException e) {
140   - log.error("请求token异常", e);
  118 + } catch (Exception e) {
141 119 resultMap.put("code", "-100");
142 120 resultMap.put("message", "请求错误,请联系管理员");
143   - jsessionid = null;
144 121 }
145 122  
146 123 return resultMap;
... ... @@ -212,9 +189,16 @@ public class Jt1078OfCarController {
212 189 resultMap.put("httpPort", entity.getHttpPort());
213 190 resultMap.put("stream", stream);
214 191  
  192 + redisTemplate.opsForValue().set("tag:history:port:"+stream, entity.getPort(), 2, TimeUnit.DAYS);
  193 + redisTemplate.opsForValue().set("tag:history:httpPort:"+stream, entity.getHttpPort(), 2, TimeUnit.DAYS);
  194 +
215 195 msg = jt1078ConfigBean.formatMessageId(sim, channel, rtspConfigBean, entity.getPort() + 30000);
216 196  
217 197 entity = httpClientUtil.doPost(url, msg, null);
  198 + Map<String, Object> resultMap1 = chooseEntity(entity);
  199 + if (Objects.nonNull(resultMap1)) {
  200 + return resultMap1;
  201 + }
218 202 log.info(entity.getResultStr());
219 203  
220 204 streamContent = getStreamContent(stream);
... ... @@ -332,6 +316,7 @@ public class Jt1078OfCarController {
332 316 String msg = jt1078ConfigBean.formatMessageHistoryListRTSP(sim, channel, startTime, endTime);
333 317  
334 318 try {
  319 +
335 320 HttpClientPostEntity entity = httpClientUtil.doPost(url, msg, null);
336 321  
337 322 if (Objects.isNull(entity)) {
... ... @@ -340,6 +325,11 @@ public class Jt1078OfCarController {
340 325 return resultMap;
341 326 }
342 327  
  328 + Map<String, Object> resultMap1 = chooseEntity(entity);
  329 + if (Objects.nonNull(resultMap1)) {
  330 + return resultMap1;
  331 + }
  332 +
343 333 HashMap<String, Object> hashMap = JSON.parseObject(entity.getResultStr(), HashMap.class);
344 334 resultMap.put("code", "1");
345 335 resultMap.put("obj", hashMap);
... ... @@ -411,10 +401,19 @@ public class Jt1078OfCarController {
411 401 resultMap.put("message", "新建链接错误,请稍后再试");
412 402 return resultMap;
413 403 }
  404 +
  405 + Map<String, Object> resultMap1 = chooseEntity(entity);
  406 + if (Objects.nonNull(resultMap1)) {
  407 + return resultMap1;
  408 + }
  409 +
414 410 resultMap.put("stream", channelMapping);
415 411 resultMap.put("port", entity.getPort());
416 412 resultMap.put("httpPort", entity.getHttpPort());
417 413  
  414 + redisTemplate.opsForValue().set("tag:history:port:"+channelMapping, entity.getPort(), 2, TimeUnit.DAYS);
  415 + redisTemplate.opsForValue().set("tag:history:httpPort:"+channelMapping, entity.getHttpPort(), 2, TimeUnit.DAYS);
  416 +
418 417 msg = jt1078ConfigBean.formatMessageHistoryPlayRTSP(sim, channel, startTime, endTime, rtspConfigBean, entity.getPort() + 30000);
419 418 boolean flag = false;
420 419  
... ... @@ -491,7 +490,7 @@ public class Jt1078OfCarController {
491 490 break;
492 491 }
493 492 Thread.sleep(100);
494   - } while (index < 1000);
  493 + } while (index < 600);
495 494  
496 495 log.info("StreamContent:[{}]", streamContent);
497 496 return streamContent;
... ... @@ -501,7 +500,7 @@ public class Jt1078OfCarController {
501 500 try {
502 501 return streamPushController.getPlayUrl("schedule", stream, mediaConfig.getId());
503 502 } catch (com.genersoft.iot.vmp.conf.exception.ControllerException e) {
504   - log.info("获取播放地址失败:[{}],[{}]", stream, mediaConfig.getId());
  503 + log.debug("获取播放地址失败:[{}],[{}]", stream, mediaConfig.getId());
505 504 }
506 505 return null;
507 506 }
... ... @@ -635,4 +634,24 @@ public class Jt1078OfCarController {
635 634  
636 635 return httpClientPostEntity;
637 636 }
  637 +
  638 + private Map<String, Object> chooseEntity(HttpClientPostEntity entity) {
  639 + Map<String, Object> result = new HashMap<>();
  640 + if (Objects.isNull(entity)) {
  641 + result.put("code", "301");
  642 + result.put("msg", "下发指令异常");
  643 + return result;
  644 + }
  645 + Map<String,String> rsultMap = JSON.parseObject(entity.getResultStr(),HashMap.class);
  646 + if(Objects.equals(rsultMap.get("code"),"4000") || Objects.equals(rsultMap.get("code"),4000)){
  647 + result.put("code", "304");
  648 + result.put("msg", "离线的客户端(请检查设备是否注册或者鉴权");
  649 + return result;
  650 + }
  651 +
  652 + return null;
  653 +
  654 + }
  655 +
  656 +
638 657 }
... ...
src/main/java/com/genersoft/iot/vmp/vmanager/jt1078/platform/config/TuohuaConfigBean.java
1 1 package com.genersoft.iot.vmp.vmanager.jt1078.platform.config;
2 2  
  3 +import com.alibaba.fastjson2.JSON;
  4 +import com.genersoft.iot.vmp.vmanager.jt1078.platform.ben.HttpClientPostEntity;
  5 +import com.genersoft.iot.vmp.vmanager.jt1078.platform.handler.HttpClientUtil;
  6 +import org.apache.commons.collections4.CollectionUtils;
  7 +import org.apache.commons.lang3.RandomUtils;
3 8 import org.apache.commons.lang3.StringUtils;
4 9 import org.springframework.beans.factory.annotation.Value;
5 10 import org.springframework.stereotype.Component;
6 11  
7   -import java.util.Objects;
  12 +import java.security.MessageDigest;
  13 +import java.util.*;
  14 +import java.util.stream.Collectors;
8 15  
9 16 /**
10 17 * @author liujun
... ... @@ -32,6 +39,24 @@ public class TuohuaConfigBean {
32 39 @Value("${tuohua.bsth.tree.url.sim}")
33 40 private String simURL;
34 41  
  42 + @Value("${tuohua.bsth.login.rest.baseURL}")
  43 + public String baseURL;
  44 + @Value("${tuohua.bsth.login.rest.password}")
  45 + private String restPassword;
  46 +
  47 +
  48 + public String getBaseURL() {
  49 + return baseURL;
  50 + }
  51 +
  52 + public String getRestPassword() {
  53 + return restPassword;
  54 + }
  55 +
  56 + public String getSimURL() {
  57 + return simURL;
  58 + }
  59 +
35 60  
36 61 public String getUserName() {
37 62 return userName;
... ... @@ -57,8 +82,165 @@ public class TuohuaConfigBean {
57 82 return companyOfCarURL;
58 83 }
59 84  
60   - public String getSimURL() {
61   - return simURL;
  85 +
  86 + private final String LINE_URL = "/line/company/{companyId}?timestamp={timestamp}&nonce={nonce}&password={password}&sign={sign}";
  87 +//private final String LINE_URL = "/line/all?timestamp={timestamp}&nonce={nonce}&password={password}&sign={sign}";
  88 + private final String CAR_URL = "/car/company/{companyId}?timestamp={timestamp}&nonce={nonce}&password={password}&sign={sign}";
  89 +
  90 + public String requestLine(HttpClientUtil httpClientUtil, String companyId) throws Exception {
  91 + String nonce = random(5);
  92 + String timestamp = String.valueOf(new Date().getTime());
  93 + Map<String, String> map = new HashMap<>();
  94 + map.put("timestamp", timestamp);
  95 + map.put("nonce", nonce);
  96 + map.put("password", getRestPassword());
  97 + String sign = getSHA1(map);
  98 +
  99 + String url = StringUtils.join(getBaseURL(), formatURL(StringUtils.replace(LINE_URL, "{companyId}", companyId), map, sign));
  100 + HttpClientPostEntity postEntity = httpClientUtil.doGet(url, null);
  101 + return Objects.isNull(postEntity) ? null : postEntity.getResultStr();
  102 + }
  103 +
  104 + public String requestCars(HttpClientUtil httpClientUtil, String companyId) throws Exception {
  105 + String nonce = random(6);
  106 + String timestamp = String.valueOf(new Date().getTime());
  107 + Map<String, String> map = new HashMap<>();
  108 + map.put("timestamp", timestamp);
  109 + map.put("nonce", nonce);
  110 + map.put("password", getRestPassword());
  111 + String sign = getSHA1(map);
  112 + String url = StringUtils.join(getBaseURL(), formatURL(StringUtils.replace(CAR_URL, "{companyId}", companyId), map, sign));
  113 + HttpClientPostEntity postEntity = httpClientUtil.doGet(url, null);
  114 + return Objects.isNull(postEntity) ? null : postEntity.getResultStr();
  115 + }
  116 +
  117 + public List<HashMap<String, Object>> requestOfLineAndCarAndCombationTree(HttpClientUtil httpClientUtil, String companyId) throws Exception {
  118 + String lineJson = requestLine(httpClientUtil, companyId);
  119 + String carJson = requestCars(httpClientUtil, companyId);
  120 +
  121 +
  122 + List<HashMap> linesJsonList = null;
  123 + int linesSize = 0;
  124 + if (StringUtils.isNoneBlank(lineJson)) {
  125 + linesJsonList = JSON.parseArray(lineJson, HashMap.class);
  126 + linesSize = CollectionUtils.size(linesJsonList);
  127 + }
  128 +
  129 + List<HashMap> carJsonList = null;
  130 + int carsJsonSize = 0;
  131 + if (StringUtils.isNoneBlank(carJson)) {
  132 + carJsonList = JSON.parseArray(carJson, HashMap.class);
  133 + carsJsonSize = CollectionUtils.size(carJsonList);
  134 + }
  135 +
  136 + int carsSize = carsJsonSize;
  137 + List<HashMap> carJsonListFinal = carJsonList;
  138 +
  139 + List<HashMap<String, Object>> returnData = new ArrayList<>();
  140 + if (linesSize > 0) {
  141 + List<HashMap<String, Object>> lines = linesJsonList.stream().map(hashMap -> {
  142 + String code = convertStr(hashMap.get("lineCode"));
  143 + HashMap<String, Object> map = combationTree(code, convertStr(hashMap.get("line")), code, false, convertStr(hashMap.get("name")), code, false,
  144 + "<span><img src='/metronic_v4.5.4/layui/icon/line.png' class ='imageIcon' /></span><span>" + convertStr(hashMap.get("name")) + "</span>",
  145 + "<span><img src='/metronic_v4.5.4/layui/icon/line.png' class ='imageIcon' /></span><span>" + convertStr(hashMap.get("name")) + "</span>",201);
  146 + if (carsSize > 0) {
  147 + List<HashMap> carList = carJsonListFinal.stream().filter(c -> Objects.nonNull(c.get("lineCode")) && StringUtils.equals(convertStr(c.get("lineCode")), code)).map(ch -> {
  148 + ch.put("used", "1");
  149 + return combatioinCarTree(ch);
  150 + }).collect(Collectors.toList());
  151 +
  152 + map.put("children", carList);
  153 + }
  154 +
  155 + return map;
  156 + }).collect(Collectors.toList());
  157 + returnData.addAll(lines);
  158 + }
  159 +
  160 + if (carsSize > 0) {
  161 + List<HashMap<String, Object>> cars = carJsonList.stream().filter(c -> !Objects.equals(convertStr(c.get("used")), "1")).map(c -> combatioinCarTree(c)).collect(Collectors.toList());
  162 + returnData.addAll(cars);
  163 + }
  164 + return returnData;
  165 + }
  166 +
  167 + public static String getSHA1(Map<String, String> map) throws Exception {
  168 + try {
  169 + String[] array = new String[map.size()];
  170 + map.values().toArray(array);
  171 + StringBuffer sb = new StringBuffer();
  172 + // 字符串排序
  173 + Arrays.sort(array);
  174 + for (int i = 0; i < array.length; i++) {
  175 + sb.append(array[i]);
  176 + }
  177 + String str = sb.toString();
  178 + // SHA1签名生成
  179 + MessageDigest md = MessageDigest.getInstance("SHA-1");
  180 + md.update(str.getBytes());
  181 + byte[] digest = md.digest();
  182 + StringBuffer hexstr = new StringBuffer();
  183 + String shaHex = "";
  184 + for (int i = 0; i < digest.length; i++) {
  185 + shaHex = Integer.toHexString(digest[i] & 0xFF);
  186 + if (shaHex.length() < 2) {
  187 + hexstr.append(0);
  188 + }
  189 + hexstr.append(shaHex);
  190 + }
  191 + return hexstr.toString();
  192 + } catch (Exception e) {
  193 + throw e;
  194 + }
  195 +
  196 + }
  197 +
  198 + public HashMap<String, Object> combationTree(String code, String icon, String id, boolean initChild, String name, String sourceId,
  199 + boolean spread, String text, String title,Integer type) {
  200 + HashMap<String, Object> result = new HashMap<>();
  201 + result.put("code", code);
  202 + result.put("icon", icon);
  203 + result.put("id", id);
  204 + result.put("initChild", initChild);
  205 + result.put("name", name);
  206 + result.put("sourceId", sourceId);
  207 + result.put("spread", spread);
  208 + result.put("text", text);
  209 + result.put("title", title);
  210 + result.put("type",type);
  211 + return result;
  212 + }
  213 +
  214 + private HashMap<String, Object> combatioinCarTree(HashMap ch) {
  215 + String code = convertStr(ch.get("nbbm"));
  216 + HashMap<String, Object> hashMap = combationTree(code, "bus1", code, false, code, code, false, "<span><img src='/metronic_v4.5.4/layui/icon/bus1.png' class ='imageIcon' /></span><span>" + code + "</span>",
  217 + "<span><img src='/metronic_v4.5.4/layui/icon/bus1.png' class ='imageIcon' /></span><span>" + code + "</span>",301);
  218 + hashMap.put("sim",convertStr(ch.get("sim")));
  219 +// hashMap.put("sim","122223333444");
  220 + return hashMap;
  221 + }
  222 +
  223 + private String random(Integer count) {
  224 + StringBuilder builder = new StringBuilder();
  225 + for (int i = 0; i < count; i++) {
  226 + Random random = new Random();
  227 + char letter = (char) (random.nextInt(26) + 'a');
  228 + builder.append(letter);
  229 + }
  230 + return builder.toString();
  231 + }
  232 +
  233 + private String formatURL(String url, Map<String, String> map, String sign) {
  234 + for (Map.Entry<String, String> entry : map.entrySet()) {
  235 + String val = entry.getValue();
  236 + url = StringUtils.replace(url, "{" + entry.getKey() + "}", val);
  237 + }
  238 + return StringUtils.replace(url, "{sign}", sign);
  239 +
  240 + }
  241 +
  242 + private String convertStr(Object object) {
  243 + return Objects.isNull(object) ? "" : object.toString();
62 244 }
63 245  
64 246  
... ...
src/main/resources/application-local.yml
... ... @@ -135,6 +135,9 @@ tuohua:
135 135 url: http://192.169.1.92:9088/user/login
136 136 userName: yuanxiaohu
137 137 password: Yxiaohu1.0
  138 + rest:
  139 + baseURL: http://10.10.2.20:9089/webservice/rest
  140 + password: bafb2b44a07a02e5e9912f42cd197423884116a8
138 141 tree:
139 142 url:
140 143 company: http://192.169.1.92:9088/video/tree
... ... @@ -148,7 +151,7 @@ tuohua:
148 151 historyUdpPort: 9999
149 152 ip : 61.169.120.202
150 153 jt1078:
151   - ports: 9000,9500
  154 + ports: 9100,9600
152 155 pushURL: http://192.169.1.92:3333/new/server/{pushKey}/{port}/{httpPort}
153 156 stopPushURL: http://192.169.1.92:3333/stop/channel/{pushKey}/{port}/{httpPort}
154 157 url: http://192.168.168.241:8100/device/{0}
... ...
src/main/resources/application-localDev.yml
... ... @@ -133,7 +133,9 @@ tuohua:
133 133 url: http://192.169.1.92:9088/user/login
134 134 userName: yuanxiaohu
135 135 password: Yxiaohu1.0
136   -
  136 + rest:
  137 + baseURL: http://10.10.2.20:9089/webservice/rest
  138 + password: bafb2b44a07a02e5e9912f42cd197423884116a8
137 139 tree:
138 140 url:
139 141 company: http://192.169.1.92:9088/video/tree
... ...
web_src/config/index.js
... ... @@ -11,14 +11,14 @@ module.exports = {
11 11 assetsPublicPath: "/",
12 12 proxyTable: {
13 13 "/debug": {
14   - target: "http://192.169.1.92:28080",
  14 + target: "http://10.10.2.22:18089",
15 15 changeOrigin: true,
16 16 pathRewrite: {
17 17 "^/debug": "/",
18 18 },
19 19 },
20 20 "/static/snap": {
21   - target: "http://192.168.169.100:28080",
  21 + target: "http://10.10.2.22:18089",
22 22 changeOrigin: true,
23 23 // pathRewrite: {
24 24 // '^/static/snap': '/static/snap'
... ...
web_src/index.html
... ... @@ -3,7 +3,7 @@
3 3 <head>
4 4 <meta charset="utf-8">
5 5 <meta name="viewport" content="width=device-width,initial-scale=1.0">
6   - <title>国标28181</title>
  6 + <title>车载视频监控平台</title>
7 7 <link rel="shortcut icon" href="static/favicon.ico" type="image/x-icon">
8 8 <link rel="stylesheet" type="text/css" href="./static/css/iconfont.css">
9 9 <link rel="stylesheet" type="text/css" href="./static/css/login.css">
... ...
web_src/src/components/Login.vue
... ... @@ -35,7 +35,7 @@
35 35 </div>
36 36 </div>
37 37 <div class="company-author">
38   - <span>@2024 上海巴士拓华科技发展有限公司 版权所有</span>
  38 + <span></span>
39 39 </div>
40 40 </div>
41 41 </div>
... ...
web_src/src/components/live.vue
... ... @@ -137,8 +137,14 @@ export default {
137 137 method: 'get',
138 138 url: '/api/play/start/' + deviceId + '/' + channelId
139 139 }).then(function (res) {
  140 + console.log("================================>");
  141 +
  142 + console.log(res);
  143 +
140 144 if (res.data.code === 0 && res.data.data) {
141 145 let videoUrl;
  146 +
  147 +
142 148 if (location.protocol === "https:") {
143 149 videoUrl = res.data.data.wss_flv;
144 150 } else {
... ...
web_src/src/layout/UiHeader.vue
... ... @@ -5,16 +5,9 @@
5 5 active-text-color="#1890ff" mode="horizontal">
6 6  
7 7 <el-menu-item index="/console">控制台</el-menu-item>
8   - <el-menu-item index="/live">分屏监控</el-menu-item>
9   - <el-menu-item index="/deviceList">国标设备</el-menu-item>
  8 +
10 9 <el-menu-item index="/deviceList1078">1078设备</el-menu-item>
11   - <el-menu-item index="/map">电子地图</el-menu-item>
12   - <el-menu-item index="/pushVideoList">推流列表</el-menu-item>
13   - <el-menu-item index="/streamProxyList">拉流代理</el-menu-item>
14   - <el-menu-item index="/cloudRecord">云端录像</el-menu-item>
15   - <el-menu-item index="/mediaServerManger">节点管理</el-menu-item>
16   - <el-menu-item index="/parentPlatformList/15/1">国标级联</el-menu-item>
17   - <el-menu-item index="/minhang/deviceList">闵行设备</el-menu-item>
  10 +
18 11 <el-menu-item v-if="editUser" index="/userManager">用户管理</el-menu-item>
19 12  
20 13 <!-- <el-submenu index="/setting">-->
... ...
web_src/static/js/config.js
1   -window.baseUrl = "http://192.168.169.100:28080";
  1 +window.baseUrl = "http://118.113.164.50:18989";
2 2  
3 3 // map组件全局参数, 注释此内容可以关闭地图功能
4 4 window.mapParam = {
... ...