648540858
2023-03-05 a7c3cf531640bb59aa90cb476b8c21db97f41ddb
优化跨域配置,支持同域的前后端分离部署
70个文件已修改
1 文件已重命名
364 ■■■■ 已修改文件
doc/_content/ability/gis.md 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/conf/ApiAccessFilter.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/conf/security/AnonymousAuthenticationEntryPoint.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/MobilePosition/MobilePositionController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/SseController/SseController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/alarm/AlarmController.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceConfig.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceControl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/gbStream/GbStreamController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/media/MediaController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/playback/PlaybackController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/ptz/PtzController.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/record/GBRecordController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/vmanager/log/LogController.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/vmanager/record/RecordController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/vmanager/streamProxy/StreamProxyController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/vmanager/streamPush/StreamPushController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/vmanager/user/RoleController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/vmanager/user/UserController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiControlController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiDeviceController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiStreamController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/web/gb28181/AuthController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/build/utils.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/config/index.js 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/index.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/CloudRecord.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/CloudRecordDetail.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/DeviceList.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/GBRecordDetail.vue 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/Login.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/ParentPlatformList.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/PushVideoList.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/StreamProxyList.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/UserManager.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/channelList.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/console.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/dialog/MediaServerEdit.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/dialog/StreamProxyEdit.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/dialog/SyncChannelProgress.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/dialog/addUser.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/dialog/catalogEdit.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/dialog/changePassword.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/dialog/changePasswordForAdmin.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/dialog/changePushKey.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/dialog/channelMapInfobox.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/dialog/chooseChannel.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/dialog/chooseChannelForCatalog.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/dialog/chooseChannelForGb.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/dialog/chooseChannelForStream.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/dialog/deviceEdit.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/dialog/devicePlayer.vue 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/dialog/getCatalog.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/dialog/importChannel.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/dialog/onvifEdit.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/dialog/platformEdit.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/dialog/pushStreamEdit.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/dialog/queryTrace.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/dialog/recordDownload.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/live.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/map.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/service/DeviceService.js 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/service/MediaServer.js 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/main.js 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/static/js/config.js 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
doc/_content/ability/gis.md
@@ -14,7 +14,7 @@
PS: 目前的底图仅用用作演示和学习,商用情况请自行购买授权使用。
### 更换底图以及底图配置
目前WVP支持使用了更换底图,配置文件在web_src/static/js/mapConfig.js,请修改后重新编译前端文件。
目前WVP支持使用了更换底图,配置文件在web_src/static/js/config.js,请修改后重新编译前端文件。
```javascript
window.mapParam = {
  // 开启/关闭地图功能
src/main/java/com/genersoft/iot/vmp/conf/ApiAccessFilter.java
@@ -48,6 +48,13 @@
        long start = System.currentTimeMillis(); // 请求进入时间
        String uriName = ApiSaveConstant.getVal(servletRequest.getRequestURI());
        String origin = servletRequest.getHeader("Origin");
        servletResponse.setContentType("application/json;charset=UTF-8");
        servletResponse.setHeader("Access-Control-Allow-Origin", origin != null ? origin : "*");
        servletResponse.setHeader("Access-Control-Allow-Credentials", "true");
        servletResponse.setHeader("Access-Control-Allow-Methods", "POST, GET, PATCH, DELETE, PUT");
        servletResponse.setHeader("Access-Control-Max-Age", "3600");
        servletResponse.setHeader("Access-Control-Allow-Headers", "token,Content-Type,Content-Length, Authorization, Accept,X-Requested-With,domain,zdy");
        filterChain.doFilter(servletRequest, servletResponse);
        if (uriName != null && userSetting != null && userSetting.getLogInDatebase() != null && userSetting.getLogInDatebase()) {
@@ -65,9 +72,7 @@
            logDto.setUri(servletRequest.getRequestURI());
            logDto.setCreateTime(DateUtil.getNow());
            logService.add(logDto);
//            logger.warn("[Api Access]  [{}] [{}] [{}] [{}] [{}] {}ms",
//                    uriName, servletRequest.getMethod(), servletRequest.getRequestURI(), servletRequest.getRemoteAddr(), HttpStatus.valueOf(servletResponse.getStatus()),
//                    System.currentTimeMillis() - start);
        }
    }
src/main/java/com/genersoft/iot/vmp/conf/security/AnonymousAuthenticationEntryPoint.java
@@ -2,7 +2,6 @@
import com.alibaba.fastjson2.JSONObject;
import com.genersoft.iot.vmp.vmanager.bean.ErrorCode;
import org.apache.poi.hssf.eventmodel.ERFListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.security.core.AuthenticationException;
@@ -25,7 +24,10 @@
    @Override
    public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException e) {
        // 允许跨域
        response.setHeader("Access-Control-Allow-Origin", "*");
        String origin = request.getHeader("Origin");
        response.setHeader("Access-Control-Allow-Credentials", "true");
        response.setHeader("Access-Control-Allow-Origin", origin != null ? origin : "*");
        response.setHeader("Access-Control-Allow-Methods", "PUT,POST,    GET,DELETE,OPTIONS");
        // 允许自定义请求头token(允许head跨域)
        response.setHeader("Access-Control-Allow-Headers", "token, Accept, Origin, X-Requested-With, Content-Type, Last-Modified");
        response.setHeader("Content-type", "application/json;charset=UTF-8");
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
@@ -112,6 +112,7 @@
     * 服务器定时上报时间,上报间隔可配置,默认10s上报一次
     */
    @ResponseBody
    @PostMapping(value = "/on_server_keepalive", produces = "application/json;charset=UTF-8")
    public HookResult onServerKeepalive(@RequestBody OnServerKeepaliveHookParam param) {
@@ -135,6 +136,7 @@
     * 播放器鉴权事件,rtsp/rtmp/http-flv/ws-flv/hls的播放都将触发此鉴权事件。
     */
    @ResponseBody
    @PostMapping(value = "/on_play", produces = "application/json;charset=UTF-8")
    public HookResult onPlay(@RequestBody OnPlayHookParam param) {
        if (logger.isDebugEnabled()) {
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/MobilePosition/MobilePositionController.java
@@ -30,7 +30,7 @@
 *  位置信息管理
 */
@Tag(name  = "位置信息管理")
@CrossOrigin
@RestController
@RequestMapping("/api/position")
public class MobilePositionController {
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/SseController/SseController.java
@@ -17,7 +17,7 @@
 * @data: 2021-01-20
 */
@Tag(name  = "SSE推送")
@CrossOrigin
@Controller
@RequestMapping("/api")
public class SseController {
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/alarm/AlarmController.java
@@ -6,24 +6,18 @@
import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommander;
import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform;
import com.genersoft.iot.vmp.media.zlm.ZLMHttpHookListener;
import com.genersoft.iot.vmp.service.IDeviceAlarmService;
import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
import com.genersoft.iot.vmp.utils.DateUtil;
import com.genersoft.iot.vmp.vmanager.bean.ErrorCode;
import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
import com.github.pagehelper.PageInfo;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import javax.sip.InvalidArgumentException;
@@ -34,7 +28,7 @@
import java.util.List;
@Tag(name = "报警信息管理")
@CrossOrigin
@RestController
@RequestMapping("/api/alarm")
public class AlarmController {
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceConfig.java
@@ -14,7 +14,6 @@
import com.genersoft.iot.vmp.gb28181.transmit.callback.RequestMessage;
import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander;
import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
import com.genersoft.iot.vmp.vmanager.bean.ErrorCode;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
@@ -22,9 +21,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.context.request.async.DeferredResult;
@@ -34,7 +31,7 @@
import java.util.UUID;
@Tag(name = "国标设备配置")
@CrossOrigin
@RestController
@RequestMapping("/api/device/config")
public class DeviceConfig {
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceControl.java
@@ -32,7 +32,7 @@
import java.util.UUID;
@Tag(name  = "国标设备控制")
@CrossOrigin
@RestController
@RequestMapping("/api/device/control")
public class DeviceControl {
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java
@@ -46,7 +46,7 @@
@Tag(name  = "国标设备查询", description = "国标设备查询")
@SuppressWarnings("rawtypes")
@CrossOrigin
@RestController
@RequestMapping("/api/device/query")
public class DeviceQuery {
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/gbStream/GbStreamController.java
@@ -17,7 +17,7 @@
import java.util.List;
@Tag(name  = "视频流关联到级联平台")
@CrossOrigin
@RestController
@RequestMapping("/api/gbStream")
public class GbStreamController {
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/media/MediaController.java
@@ -24,7 +24,7 @@
@Tag(name  = "媒体流相关")
@Controller
@CrossOrigin
@RequestMapping(value = "/api/media")
public class MediaController {
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java
@@ -37,7 +37,7 @@
 * 级联平台管理
 */
@Tag(name  = "级联平台管理")
@CrossOrigin
@RestController
@RequestMapping("/api/platform")
public class PlatformController {
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java
@@ -40,7 +40,7 @@
import java.util.UUID;
@Tag(name  = "国标设备点播")
@CrossOrigin
@RestController
@RequestMapping("/api/play")
public class PlayController {
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/playback/PlaybackController.java
@@ -40,7 +40,7 @@
 * @author lin
 */
@Tag(name = "视频回放")
@CrossOrigin
@RestController
@RequestMapping("/api/playback")
public class PlaybackController {
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/ptz/PtzController.java
@@ -1,7 +1,12 @@
package com.genersoft.iot.vmp.vmanager.gb28181.ptz;
import com.genersoft.iot.vmp.conf.exception.ControllerException;
import com.genersoft.iot.vmp.gb28181.bean.Device;
import com.genersoft.iot.vmp.gb28181.transmit.callback.DeferredResultHolder;
import com.genersoft.iot.vmp.gb28181.transmit.callback.RequestMessage;
import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander;
import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
import com.genersoft.iot.vmp.vmanager.bean.ErrorCode;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
@@ -10,15 +15,8 @@
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.context.request.async.DeferredResult;
import com.genersoft.iot.vmp.gb28181.bean.Device;
import com.genersoft.iot.vmp.gb28181.transmit.callback.DeferredResultHolder;
import com.genersoft.iot.vmp.gb28181.transmit.callback.RequestMessage;
import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander;
import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
import javax.sip.InvalidArgumentException;
import javax.sip.SipException;
@@ -26,7 +24,7 @@
import java.util.UUID;
@Tag(name  = "云台控制")
@CrossOrigin
@RestController
@RequestMapping("/api/ptz")
public class PtzController {
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/record/GBRecordController.java
@@ -36,7 +36,7 @@
import java.util.UUID;
@Tag(name  = "国标录像")
@CrossOrigin
@RestController
@RequestMapping("/api/gb_record")
public class GBRecordController {
src/main/java/com/genersoft/iot/vmp/vmanager/log/LogController.java
@@ -6,25 +6,18 @@
import com.genersoft.iot.vmp.storager.dao.dto.LogDto;
import com.genersoft.iot.vmp.utils.DateUtil;
import com.genersoft.iot.vmp.vmanager.bean.ErrorCode;
import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
import com.github.pagehelper.PageInfo;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import java.text.ParseException;
@Tag(name  = "日志管理")
@CrossOrigin
@RestController
@RequestMapping("/api/log")
public class LogController {
src/main/java/com/genersoft/iot/vmp/vmanager/record/RecordController.java
@@ -14,7 +14,7 @@
//import org.springframework.web.bind.annotation.*;
//
//@Tag(name  = "云端录像")
//@CrossOrigin
//
//@RestController
//@RequestMapping("/api/record")
//public class RecordController {
src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java
@@ -2,7 +2,6 @@
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.genersoft.iot.vmp.VManageBootstrap;
import com.genersoft.iot.vmp.common.SystemAllInfo;
import com.genersoft.iot.vmp.common.VersionPo;
import com.genersoft.iot.vmp.conf.SipConfig;
@@ -15,13 +14,10 @@
import com.genersoft.iot.vmp.service.*;
import com.genersoft.iot.vmp.service.bean.MediaServerLoad;
import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
import com.genersoft.iot.vmp.utils.SpringBeanFactory;
import com.genersoft.iot.vmp.vmanager.bean.ErrorCode;
import com.genersoft.iot.vmp.vmanager.bean.ResourceBaceInfo;
import com.genersoft.iot.vmp.vmanager.bean.ResourceInfo;
import com.genersoft.iot.vmp.vmanager.bean.SystemConfigInfo;
import gov.nist.javax.sip.SipStackImpl;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
@@ -31,14 +27,12 @@
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import javax.sip.ListeningPoint;
import javax.sip.ObjectInUseException;
import javax.sip.SipProvider;
import java.util.*;
import java.util.ArrayList;
import java.util.List;
@SuppressWarnings("rawtypes")
@Tag(name = "服务控制")
@CrossOrigin
@RestController
@RequestMapping("/api/server")
public class ServerController {
src/main/java/com/genersoft/iot/vmp/vmanager/streamProxy/StreamProxyController.java
@@ -25,7 +25,7 @@
 */
@Tag(name = "拉流代理", description = "")
@Controller
@CrossOrigin
@RequestMapping(value = "/api/proxy")
public class StreamProxyController {
src/main/java/com/genersoft/iot/vmp/vmanager/streamPush/StreamPushController.java
@@ -41,7 +41,7 @@
@Tag(name  = "推流信息管理")
@Controller
@CrossOrigin
@RequestMapping(value = "/api/push")
public class StreamPushController {
src/main/java/com/genersoft/iot/vmp/vmanager/user/RoleController.java
@@ -6,20 +6,16 @@
import com.genersoft.iot.vmp.storager.dao.dto.Role;
import com.genersoft.iot.vmp.utils.DateUtil;
import com.genersoft.iot.vmp.vmanager.bean.ErrorCode;
import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Tag(name  = "角色管理")
@CrossOrigin
@RestController
@RequestMapping("/api/role")
public class RoleController {
src/main/java/com/genersoft/iot/vmp/vmanager/user/UserController.java
@@ -24,7 +24,7 @@
import java.util.List;
@Tag(name  = "用户管理")
@CrossOrigin
@RestController
@RequestMapping("/api/user")
public class UserController {
src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiControlController.java
@@ -18,7 +18,7 @@
/**
 * API兼容:设备控制
 */
@CrossOrigin
@RestController
@RequestMapping(value = "/api/v1/control")
public class ApiControlController {
src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiController.java
@@ -6,7 +6,6 @@
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@@ -14,7 +13,7 @@
 * API兼容:系统接口
 */
@Controller
@CrossOrigin
@RequestMapping(value = "/api/v1")
public class ApiController {
src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiDeviceController.java
@@ -20,7 +20,7 @@
 * API兼容:设备信息
 */
@SuppressWarnings("unchecked")
@CrossOrigin
@RestController
@RequestMapping(value = "/api/v1/device")
public class ApiDeviceController {
src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiStreamController.java
@@ -26,7 +26,7 @@
 * API兼容:实时直播
 */
@SuppressWarnings(value = {"rawtypes", "unchecked"})
@CrossOrigin
@RestController
@RequestMapping(value = "/api/v1/stream")
public class ApiStreamController {
src/main/java/com/genersoft/iot/vmp/web/gb28181/AuthController.java
@@ -5,7 +5,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@CrossOrigin
@RestController
@RequestMapping(value = "/auth")
public class AuthController {
web_src/build/utils.js
@@ -47,8 +47,7 @@
    if (options.extract) {
      return ExtractTextPlugin.extract({
        use: loaders,
        fallback: 'vue-style-loader',
        publicPath: '../../'
        fallback: 'vue-style-loader'
      })
    } else {
      return ['vue-style-loader'].concat(loaders)
web_src/config/index.js
@@ -8,18 +8,18 @@
  dev: {
    // Paths
    assetsSubDirectory: './static',
    assetsPublicPath: './',
    assetsSubDirectory: 'static',
    assetsPublicPath: '/',
    proxyTable: {
      '/debug': {
        target: 'http://localhost:38080',
        target: 'http://localhost:18080',
        changeOrigin: true,
        pathRewrite: {
          '^/debug': '/'
        }
      },
      '/static/snap': {
        target: 'http://localhost:38080',
        target: 'http://localhost:18080',
        changeOrigin: true,
        // pathRewrite: {
        //   '^/static/snap': '/static/snap'
@@ -61,7 +61,7 @@
    // Paths
    assetsRoot: path.resolve(__dirname, '../../src/main/resources/static/'),
    assetsSubDirectory: './static',
    assetsPublicPath: './',
    assetsPublicPath: '/',
    /**
     * Source Maps
web_src/index.html
@@ -13,7 +13,7 @@
    <script type="text/javascript" src="./static/js/EasyWasmPlayer.js"></script>
    <script type="text/javascript" src="./static/js/liveplayer-lib.min.js"></script>
    <script type="text/javascript" src="./static/js/ZLMRTCClient.js"></script>
    <script type="text/javascript" src="./static/js/mapConfig.js"></script>
    <script type="text/javascript" src="./static/js/config.js"></script>
    <div id="app"></div>
  </body>
</html>
web_src/src/components/CloudRecord.vue
@@ -133,7 +133,7 @@
        let that = this;
        this.$axios({
          method: 'get',
          url:`./record_proxy/${that.mediaServerId}/api/record/list`,
          url:`/record_proxy/${that.mediaServerId}/api/record/list`,
          params: {
            page: that.currentPage,
            count: that.count
@@ -185,7 +185,7 @@
        let that = this;
        this.$axios({
          method: 'delete',
          url:`./record_proxy/api/record/delete`,
          url:`/record_proxy/api/record/delete`,
          params: {
            page: that.currentPage,
            count: that.count
web_src/src/components/CloudRecordDetail.vue
@@ -241,7 +241,7 @@
        let that = this;
        that.$axios({
          method: 'get',
          url:`./record_proxy/${that.mediaServerId}/api/record/file/list`,
          url:`/record_proxy/${that.mediaServerId}/api/record/file/list`,
          params: {
            app: that.recordFile.app,
            stream: that.recordFile.stream,
@@ -340,7 +340,7 @@
        let that = this;
        this.$axios({
          method: 'delete',
          url:`./record_proxy/${that.mediaServerId}/api/record/delete`,
          url:`/record_proxy/${that.mediaServerId}/api/record/delete`,
          params: {
            page: that.currentPage,
            count: that.count
@@ -359,7 +359,7 @@
        that.dateFilesObj = {};
        this.$axios({
          method: 'get',
          url:`./record_proxy/${that.mediaServerId}/api/record/date/list`,
          url:`/record_proxy/${that.mediaServerId}/api/record/date/list`,
          params: {
            app: that.recordFile.app,
            stream: that.recordFile.stream
@@ -408,7 +408,7 @@
        let that = this;
        this.$axios({
          method: 'get',
          url:`./record_proxy/${that.mediaServerId}/api/record/file/download/task/add`,
          url:`/record_proxy/${that.mediaServerId}/api/record/file/download/task/add`,
          params: {
            app: that.recordFile.app,
            stream: that.recordFile.stream,
@@ -433,7 +433,7 @@
        let that = this;
        this.$axios({
          method: 'get',
          url:`./record_proxy/${that.mediaServerId}/api/record/file/download/task/list`,
          url:`/record_proxy/${that.mediaServerId}/api/record/file/download/task/list`,
          params: {
            isEnd: isEnd,
          }
web_src/src/components/DeviceList.vue
@@ -152,7 +152,7 @@
      this.getDeviceListLoading = true;
      this.$axios({
        method: 'get',
        url: `./api/device/query/devices`,
        url: `/api/device/query/devices`,
        params: {
          page: this.currentPage,
          count: this.count
@@ -182,7 +182,7 @@
      }).then(() => {
        this.$axios({
          method: 'delete',
          url: `./api/device/query/devices/${row.deviceId}/delete`
          url: `/api/device/query/devices/${row.deviceId}/delete`
        }).then((res) => {
          this.getDeviceList();
        }).catch((error) => {
@@ -208,7 +208,7 @@
      let that = this;
      this.$axios({
        method: 'get',
        url: './api/device/query/devices/' + itemData.deviceId + '/sync'
        url: '/api/device/query/devices/' + itemData.deviceId + '/sync'
      }).then((res) => {
        console.log("刷新设备结果:" + JSON.stringify(res));
        if (res.data.code !== 0) {
@@ -242,7 +242,7 @@
      await this.$axios({
        method: 'get',
        async: false,
        url: `./api/device/query/${deviceId}/sync_status/`,
        url: `/api/device/query/${deviceId}/sync_status/`,
      }).then((res) => {
        if (res.data.code == 0) {
          if (res.data.data.errorMsg !== null) {
@@ -261,7 +261,7 @@
      let that = this;
      this.$axios({
        method: 'post',
        url: './api/device/query/transport/' + row.deviceId + '/' + row.streamMode
        url: '/api/device/query/transport/' + row.deviceId + '/' + row.streamMode
      }).then(function (res) {
      }).catch(function (e) {
web_src/src/components/GBRecordDetail.vue
@@ -197,7 +197,7 @@
        this.detailFiles = [];
        this.$axios({
          method: 'get',
          url: './api/gb_record/query/' + this.deviceId + '/' + this.channelId + '?startTime=' + this.startTime + '&endTime=' + this.endTime
          url: '/api/gb_record/query/' + this.deviceId + '/' + this.channelId + '?startTime=' + this.startTime + '&endTime=' + this.endTime
        }).then((res)=>{
          this.recordsLoading = false;
          if(res.data.code === 0) {
@@ -249,7 +249,7 @@
        } else {
          this.$axios({
            method: 'get',
            url: './api/playback/start/' + this.deviceId + '/' + this.channelId + '?startTime=' + this.startTime + '&endTime=' +
            url: '/api/playback/start/' + this.deviceId + '/' + this.channelId + '?startTime=' + this.startTime + '&endTime=' +
              this.endTime
          }).then((res)=> {
            if (res.data.code === 0) {
@@ -273,7 +273,7 @@
        console.log('前端控制:播放');
        this.$axios({
          method: 'get',
          url: './api/playback/resume/' + this.streamId
          url: '/api/playback/resume/' + this.streamId
        }).then((res)=> {
          this.$refs["recordVideoPlayer"].play(this.videoUrl)
        });
@@ -282,14 +282,14 @@
        console.log('前端控制:暂停');
        this.$axios({
          method: 'get',
          url: './api/playback/pause/' + this.streamId
          url: '/api/playback/pause/' + this.streamId
        }).then(function (res) {});
      },
      gbScale(command){
        console.log('前端控制:倍速 ' + command);
        this.$axios({
          method: 'get',
          url: `./api/playback/speed/${this.streamId }/${command}`
          url: `/api/playback/speed/${this.streamId }/${command}`
        }).then(function (res) {});
      },
      downloadRecord: function (row) {
@@ -311,7 +311,7 @@
        }else {
          this.$axios({
            method: 'get',
            url: './api/gb_record/download/start/' + this.deviceId + '/' + this.channelId + '?startTime=' + row.startTime + '&endTime=' +
            url: '/api/gb_record/download/start/' + this.deviceId + '/' + this.channelId + '?startTime=' + row.startTime + '&endTime=' +
              row.endTime + '&downloadSpeed=4'
          }).then( (res)=> {
            if (res.data.code === 0) {
@@ -332,7 +332,7 @@
        this.videoUrl = '';
        this.$axios({
          method: 'get',
          url: './api/gb_record/download/stop/' + this.deviceId + "/" + this.channelId+ "/" + this.streamId
          url: '/api/gb_record/download/stop/' + this.deviceId + "/" + this.channelId+ "/" + this.streamId
        }).then((res)=> {
          if (callback) callback(res)
        });
@@ -342,7 +342,7 @@
        this.videoUrl = '';
        this.$axios({
          method: 'get',
          url: './api/playback/stop/' + this.deviceId + "/" + this.channelId + "/" + this.streamId
          url: '/api/playback/stop/' + this.deviceId + "/" + this.channelId + "/" + this.streamId
        }).then(function (res) {
          if (callback) callback()
        });
web_src/src/components/Login.vue
@@ -81,7 +81,7 @@
      this.$axios({
          method: 'get',
        url:"./api/user/login",
        url:"/api/user/login",
        params: loginParam
      }).then(function (res) {
        window.clearTimeout(timeoutTask)
web_src/src/components/ParentPlatformList.vue
@@ -128,7 +128,7 @@
        var that = this;
        that.$axios({
          method: 'delete',
          url:`./api/platform/delete/${platform.serverGBId}`
          url:`/api/platform/delete/${platform.serverGBId}`
        }).then(function (res) {
            if (res.data.code === 0) {
                that.$message({
@@ -162,7 +162,7 @@
      this.$axios({
          method: 'get',
        url:`./api/platform/query/${that.count}/${that.currentPage}`
        url:`/api/platform/query/${that.count}/${that.currentPage}`
      }).then(function (res) {
        if (res.data.code === 0) {
          that.total = res.data.data.total;
web_src/src/components/PushVideoList.vue
@@ -171,7 +171,7 @@
      this.getDeviceListLoading = true;
      this.$axios({
        method: 'get',
        url: `./api/push/list`,
        url: `/api/push/list`,
        params: {
          page: that.currentPage,
          count: that.count,
@@ -197,7 +197,7 @@
      this.getListLoading = true;
      this.$axios({
        method: 'get',
        url: './api/push/getPlayUrl',
        url: '/api/push/getPlayUrl',
        params: {
          app: row.app,
          stream: row.stream,
@@ -223,7 +223,7 @@
      let that = this;
      that.$axios({
        method: "post",
        url: "./api/push/stop",
        url: "/api/push/stop",
        params: {
          app: row.app,
          streamId: row.stream
@@ -247,7 +247,7 @@
      let that = this;
      that.$axios({
        method: "delete",
        url: "./api/push/remove_form_gb",
        url: "/api/push/remove_form_gb",
        data: row
      }).then((res) => {
        if (res.data.code === 0) {
@@ -274,7 +274,7 @@
        let that = this;
        that.$axios({
          method: "delete",
          url: "./api/push/batchStop",
          url: "/api/push/batchStop",
          data: {
            gbStreams: this.multipleSelection
          }
web_src/src/components/StreamProxyList.vue
@@ -167,7 +167,7 @@
                let that = this;
                this.$axios({
                    method: 'get',
                    url:`./api/proxy/list`,
                    url:`/api/proxy/list`,
                    params: {
                        page: that.currentPage,
                        count: that.count
@@ -190,7 +190,7 @@
      addOnvif: function(){
        this.$axios({
          method: 'get',
          url:`./api/onvif/search?timeout=3000`,
          url:`/api/onvif/search?timeout=3000`,
        }).then((res) =>{
          if (res.data.code === 0 ){
            if (res.data.data.length > 0) {
@@ -218,7 +218,7 @@
                let that = this;
                this.$axios({
                    method: 'get',
                    url:`./api/push/getPlayUrl`,
                    url:`/api/push/getPlayUrl`,
                    params: {
                        app: row.app,
                        stream: row.stream,
@@ -247,7 +247,7 @@
                let that = this;
                that.$axios({
                    method:"delete",
                    url:"./api/proxy/del",
                    url:"/api/proxy/del",
                    params:{
                      app: row.app,
                      stream: row.stream
@@ -263,7 +263,7 @@
        this.$set(row, 'startBtnLoading', true)
                this.$axios({
                    method: 'get',
                    url:`./api/proxy/start`,
                    url:`/api/proxy/start`,
                    params: {
                        app: row.app,
                        stream: row.stream
@@ -295,7 +295,7 @@
                let that = this;
                this.$axios({
                    method: 'get',
                    url:`./api/proxy/stop`,
                    url:`/api/proxy/stop`,
                    params: {
                        app: row.app,
                        stream: row.stream
web_src/src/components/UserManager.vue
@@ -99,7 +99,7 @@
      this.getUserListLoading = true;
      this.$axios({
        method: 'get',
        url: `./api/user/users`,
        url: `/api/user/users`,
        params: {
          page: that.currentPage,
          count: that.count
@@ -141,7 +141,7 @@
      }).then(() => {
        this.$axios({
          method: 'delete',
          url: `./api/user/delete?id=${row.id}`
          url: `/api/user/delete?id=${row.id}`
        }).then((res) => {
          this.getUserList();
        }).catch((error) => {
web_src/src/components/channelList.vue
@@ -206,7 +206,7 @@
      if (typeof (this.$route.params.deviceId) == "undefined") return;
      this.$axios({
        method: 'get',
        url: `./api/device/query/devices/${this.$route.params.deviceId}/channels`,
        url: `/api/device/query/devices/${this.$route.params.deviceId}/channels`,
        params: {
          page: that.currentPage,
          count: that.count,
@@ -238,7 +238,7 @@
      let that = this;
      this.$axios({
        method: 'get',
        url: './api/play/start/' + deviceId + '/' + channelId
        url: '/api/play/start/' + deviceId + '/' + channelId
      }).then(function (res) {
        console.log(res)
        that.isLoging = false;
@@ -278,7 +278,7 @@
      var that = this;
      this.$axios({
        method: 'get',
        url: './api/play/stop/' + this.deviceId + "/" + itemData.channelId
        url: '/api/play/stop/' + this.deviceId + "/" + itemData.channelId
      }).then(function (res) {
        that.initData();
      }).catch(function (error) {
@@ -334,7 +334,7 @@
      if (!this.showTree) {
        this.$axios({
          method: 'get',
          url: `./api/device/query/sub_channels/${this.deviceId}/${this.parentChannelId}/channels`,
          url: `/api/device/query/sub_channels/${this.deviceId}/${this.parentChannelId}/channels`,
          params: {
            page: this.currentPage,
            count: this.count,
@@ -358,7 +358,7 @@
      }else {
        this.$axios({
          method: 'get',
          url: `./api/device/query/tree/channel/${this.deviceId}`,
          url: `/api/device/query/tree/channel/${this.deviceId}`,
          params: {
            parentId: this.parentChannelId,
            page: this.currentPage,
@@ -387,7 +387,7 @@
    updateChannel: function (row) {
      this.$axios({
        method: 'post',
        url: `./api/device/query/channel/update/${this.deviceId}`,
        url: `/api/device/query/channel/update/${this.deviceId}`,
        params: row
      }).then(function (res) {
        console.log(JSON.stringify(res));
web_src/src/components/console.vue
@@ -114,7 +114,7 @@
    getSystemInfo: function (){
      this.$axios({
        method: 'get',
        url: `./api/server/system/info`,
        url: `/api/server/system/info`,
      }).then( (res)=> {
        if (res.data.code === 0) {
          this.$refs.consoleCPU.setData(res.data.data.cpu)
@@ -128,7 +128,7 @@
    getLoad: function (){
      this.$axios({
        method: 'get',
        url: `./api/server/media_server/load`,
        url: `/api/server/media_server/load`,
      }).then( (res)=> {
        if (res.data.code === 0) {
          this.$refs.consoleNodeLoad.setData(res.data.data)
@@ -139,7 +139,7 @@
    getResourceInfo: function (){
      this.$axios({
        method: 'get',
        url: `./api/server/resource/info`,
        url: `/api/server/resource/info`,
      }).then( (res)=> {
        if (res.data.code === 0) {
          this.$refs.consoleResource.setData(res.data.data)
@@ -151,7 +151,7 @@
      this.$axios({
        method: 'get',
        url: `./api/server/system/configInfo`,
        url: `/api/server/system/configInfo`,
      }).then( (res)=> {
        console.log(res)
        if (res.data.code === 0) {
web_src/src/components/dialog/MediaServerEdit.vue
@@ -335,7 +335,7 @@
      var that = this;
      await that.$axios({
        method: 'get',
        url:`./api/platform/exit/${deviceGbId}`
        url:`/api/platform/exit/${deviceGbId}`
      }).then(function (res) {
        result = res.data;
      }).catch(function (error) {
web_src/src/components/dialog/StreamProxyEdit.vue
@@ -195,7 +195,7 @@
      let that = this;
      this.$axios({
        method: 'get',
        url:`./api/platform/query/10000/1`
        url:`/api/platform/query/10000/1`
      }).then(function (res) {
        that.platformList = res.data.data.list;
      }).catch(function (error) {
@@ -212,7 +212,7 @@
      if (that.proxyParam.mediaServerId !== "auto"){
        that.$axios({
          method: 'get',
          url:`./api/proxy/ffmpeg_cmd/list`,
          url:`/api/proxy/ffmpeg_cmd/list`,
          params: {
            mediaServerId: that.proxyParam.mediaServerId
          }
@@ -230,7 +230,7 @@
      this.noneReaderHandler();
      this.$axios({
        method: 'post',
        url:`./api/proxy/save`,
        url:`/api/proxy/save`,
        data: this.proxyParam
      }).then((res)=> {
        this.dialogLoading = false;
@@ -261,7 +261,7 @@
      var that = this;
      await that.$axios({
        method: 'get',
        url:`./api/platform/exit/${deviceGbId}`
        url:`/api/platform/exit/${deviceGbId}`
      }).then(function (res) {
        result = res.data;
      }).catch(function (error) {
web_src/src/components/dialog/SyncChannelProgress.vue
@@ -55,7 +55,7 @@
    getProgress(){
      this.$axios({
        method: 'get',
        url:`./api/device/query/${this.deviceId}/sync_status/`,
        url:`/api/device/query/${this.deviceId}/sync_status/`,
      }).then((res) => {
        if (res.data.code === 0) {
          if (!this.syncFlag) {
web_src/src/components/dialog/addUser.vue
@@ -100,7 +100,7 @@
    onSubmit: function () {
      this.$axios({
        method: 'post',
        url: "./api/user/add",
        url: "/api/user/add",
        params: {
          username: this.username,
          password: this.password,
@@ -139,7 +139,7 @@
      this.$axios({
        method: 'get',
        url: "./api/role/all"
        url: "/api/role/all"
      }).then((res) => {
        this.loading = true;
        if (res.data.code === 0) {
web_src/src/components/dialog/catalogEdit.vue
@@ -116,7 +116,7 @@
      console.log(this.form);
      this.$axios({
        method:"post",
        url:`./api/platform/catalog/${!this.isEdit? "add":"edit"}`,
        url:`/api/platform/catalog/${!this.isEdit? "add":"edit"}`,
        data: this.form
      }).then((res)=> {
          if (res.data.code === 0) {
web_src/src/components/dialog/changePassword.vue
@@ -90,7 +90,7 @@
    onSubmit: function () {
      this.$axios({
        method: 'post',
        url:"./api/user/changePassword",
        url:"/api/user/changePassword",
        params: {
          oldPassword: crypto.createHash('md5').update(this.oldPassword, "utf8").digest('hex'),
          password: this.newPassword
web_src/src/components/dialog/changePasswordForAdmin.vue
@@ -85,7 +85,7 @@
    onSubmit: function () {
      this.$axios({
        method: 'post',
        url:"./api/user/changePasswordForAdmin",
        url:"/api/user/changePasswordForAdmin",
        params: {
          password: this.newPassword,
          userId: this.form.id,
web_src/src/components/dialog/changePushKey.vue
@@ -65,7 +65,7 @@
    onSubmit: function () {
      this.$axios({
        method: 'post',
        url:"./api/user/changePushKey",
        url:"/api/user/changePushKey",
        params: {
          pushKey: this.newPushKey,
          userId: this.form.id,
web_src/src/components/dialog/channelMapInfobox.vue
@@ -44,7 +44,7 @@
      let that = this;
      this.$axios({
        method: 'get',
        url: './api/play/start/' + deviceId + '/' + channelId
        url: '/api/play/start/' + deviceId + '/' + channelId
      }).then(function (res) {
        that.isLoging = false;
        if (res.data.code === 0) {
web_src/src/components/dialog/chooseChannel.vue
@@ -98,7 +98,7 @@
            this.$axios({
                method:"post",
                url:"./api/platform/update_channel_for_gb",
                url:"/api/platform/update_channel_for_gb",
                data:{
                    platformId:  that.platformId,
                    channelReduces:  that.chooseData
web_src/src/components/dialog/chooseChannelForCatalog.vue
@@ -82,7 +82,7 @@
            let that = this;
            this.$axios({
                    method:"get",
                    url:`./api/platform/catalog`,
                    url:`/api/platform/catalog`,
                    params: {
                        platformId: that.platformId,
                        parentId: parentId
@@ -134,7 +134,7 @@
        removeCatalog: function (id, node){
          this.$axios({
            method:"delete",
            url:`./api/platform/catalog/del`,
            url:`/api/platform/catalog/del`,
            params: {
              id: id,
              platformId: this.platformId,
@@ -156,7 +156,7 @@
        setDefaultCatalog: function (id){
          this.$axios({
            method:"post",
            url:`./api/platform/catalog/default/update`,
            url:`/api/platform/catalog/default/update`,
            params: {
              platformId: this.platformId,
              catalogId: id,
@@ -201,7 +201,7 @@
                  onClick: () => {
                    this.$axios({
                      method:"delete",
                      url:"./api/platform/catalog/relation/del",
                      url:"/api/platform/catalog/relation/del",
                      data: data
                    }).then((res)=>{
                      console.log("移除成功")
web_src/src/components/dialog/chooseChannelForGb.vue
@@ -121,7 +121,7 @@
          this.getCatalogFromUser((catalogId)=> {
            this.$axios({
              method:"post",
              url:"./api/platform/update_channel_for_gb",
              url:"/api/platform/update_channel_for_gb",
              data:{
                platformId:  this.platformId,
                all: all,
@@ -149,7 +149,7 @@
            this.$axios({
              method:"delete",
              url:"./api/platform/del_channel_for_gb",
              url:"/api/platform/del_channel_for_gb",
              data:{
                platformId:  this.platformId,
                all: all,
@@ -248,7 +248,7 @@
            this.$axios({
                    method:"get",
                    url:`./api/platform/channel_list`,
                    url:`/api/platform/channel_list`,
                    params: {
                        page: that.currentPage,
                        count: that.count,
@@ -290,7 +290,7 @@
        }).then(() => {
          this.$axios({
            method:"delete",
            url:"./api/platform/del_channel_for_gb",
            url:"/api/platform/del_channel_for_gb",
            data:{
              platformId:  this.platformId,
              channelReduces: this.multipleSelection
@@ -310,7 +310,7 @@
          this.$axios({
            method: "post",
            url: "./api/platform/update_channel_for_gb",
            url: "/api/platform/update_channel_for_gb",
            data: {
              platformId: this.platformId,
              channelReduces: this.multipleSelection,
web_src/src/components/dialog/chooseChannelForStream.vue
@@ -134,7 +134,7 @@
          this.getCatalogFromUser((catalogId)=>{
            this.$axios({
              method:"post",
              url:"./api/gbStream/add",
              url:"/api/gbStream/add",
              data:{
                platformId: this.platformId,
                catalogId: catalogId,
@@ -163,7 +163,7 @@
            this.$axios({
              method:"delete",
              url:"./api/gbStream/del",
              url:"/api/gbStream/del",
              data:{
                platformId: this.platformId,
                all: all,
@@ -186,7 +186,7 @@
            this.$axios({
                method: 'get',
                url:`./api/gbStream/list`,
                url:`/api/gbStream/list`,
                params: {
                    page: that.currentPage,
                    count: that.count,
@@ -222,7 +222,7 @@
          }).then(() => {
            this.$axios({
              method:"delete",
              url:"./api/gbStream/del",
              url:"/api/gbStream/del",
              data:{
                platformId: this.platformId,
                gbStreams:  this.multipleSelection,
@@ -242,7 +242,7 @@
          this.getCatalogFromUser((catalogId)=>{
            this.$axios({
              method:"post",
              url:"./api/gbStream/add",
              url:"/api/gbStream/add",
              data:{
                platformId: this.platformId,
                catalogId: catalogId,
web_src/src/components/dialog/deviceEdit.vue
@@ -131,7 +131,7 @@
      this.form.mobilePositionSubmissionInterval = this.form.mobilePositionSubmissionInterval||0
      this.$axios({
        method: 'post',
        url:`./api/device/query/device/${this.isEdit?'update':'add'}/`,
        url:`/api/device/query/device/${this.isEdit?'update':'add'}/`,
        params: this.form
      }).then((res) => {
        console.log(res.data)
web_src/src/components/dialog/devicePlayer.vue
@@ -320,7 +320,7 @@
            if (tab.name === "codec") {
                this.$axios({
                    method: 'get',
                    url: './zlm/' +this.mediaServerId+ '/index/api/getMediaInfo?vhost=__defaultVhost__&schema=rtsp&app='+ this.app +'&stream='+ this.streamId
                    url: '/zlm/' +this.mediaServerId+ '/index/api/getMediaInfo?vhost=__defaultVhost__&schema=rtsp&app='+ this.app +'&stream='+ this.streamId
                }).then(function (res) {
                    that.tracksLoading = false;
                    if (res.data.code == 0 && res.data.tracks) {
@@ -397,7 +397,7 @@
            this.$refs[this.activePlayer].pause()
            that.$axios({
                method: 'post',
                url: './api/play/convert/' + that.streamId
                url: '/api/play/convert/' + that.streamId
                }).then(function (res) {
                    if (res.data.code === 0) {
                        that.convertKey = res.data.key;
@@ -434,7 +434,7 @@
            that.$refs.videoPlayer.pause()
            this.$axios({
                method: 'post',
                url: './api/play/convertStop/' + this.convertKey
                url: '/api/play/convertStop/' + this.convertKey
              }).then(function (res) {
                if (res.data.code == 0) {
                  console.log(res.data.msg)
@@ -494,7 +494,7 @@
            let that = this;
            this.$axios({
                method: 'post',
                url: './api/ptz/control/' + this.deviceId + '/' + this.channelId + '?command=' + command + '&horizonSpeed=' + this.controSpeed + '&verticalSpeed=' + this.controSpeed + '&zoomSpeed=' + this.controSpeed
                url: '/api/ptz/control/' + this.deviceId + '/' + this.channelId + '?command=' + command + '&horizonSpeed=' + this.controSpeed + '&verticalSpeed=' + this.controSpeed + '&zoomSpeed=' + this.controSpeed
            }).then(function (res) {});
        },
        //////////////////////播放器事件处理//////////////////////////
@@ -506,7 +506,7 @@
            let that = this;
            this.$axios({
                method: 'post',
                url: './api/ptz/front_end_command/' + this.deviceId + '/' + this.channelId + '?cmdCode=' + cmdCode + '&parameter1=0&parameter2=' + presetPos + '&combindCode2=0'
                url: '/api/ptz/front_end_command/' + this.deviceId + '/' + this.channelId + '?cmdCode=' + cmdCode + '&parameter1=0&parameter2=' + presetPos + '&combindCode2=0'
            }).then(function (res) {});
        },
        setSpeedOrTime: function (cmdCode, groupNum, parameter) {
@@ -516,7 +516,7 @@
            console.log('前端控制:0x' + cmdCode.toString(16) + ' 0x' + groupNum.toString(16) + ' 0x' + parameter2.toString(16) + ' 0x' + combindCode2.toString(16));
            this.$axios({
                method: 'post',
                url: './api/ptz/front_end_command/' + this.deviceId + '/' + this.channelId + '?cmdCode=' + cmdCode + '&parameter1=' + groupNum + '&parameter2=' + parameter2 + '&combindCode2=' + combindCode2
                url: '/api/ptz/front_end_command/' + this.deviceId + '/' + this.channelId + '?cmdCode=' + cmdCode + '&parameter1=' + groupNum + '&parameter2=' + parameter2 + '&combindCode2=' + combindCode2
            }).then(function (res) {});
        },
        setCommand: function (cmdCode, groupNum, parameter) {
@@ -524,7 +524,7 @@
            console.log('前端控制:0x' + cmdCode.toString(16) + ' 0x' + groupNum.toString(16) + ' 0x' + parameter.toString(16) + ' 0x0');
            this.$axios({
                method: 'post',
                url: './api/ptz/front_end_command/' + this.deviceId + '/' + this.channelId + '?cmdCode=' + cmdCode + '&parameter1=' + groupNum + '&parameter2=' + parameter + '&combindCode2=0'
                url: '/api/ptz/front_end_command/' + this.deviceId + '/' + this.channelId + '?cmdCode=' + cmdCode + '&parameter1=' + groupNum + '&parameter2=' + parameter + '&combindCode2=0'
            }).then(function (res) {});
        },
        copyUrl: function (dropdownItem){
web_src/src/components/dialog/getCatalog.vue
@@ -89,7 +89,7 @@
            let that = this;
            this.$axios({
                    method:"get",
                    url:`./api/platform/catalog`,
                    url:`/api/platform/catalog`,
                    params: {
                        platformId: that.platformId,
                        parentId: parentId
@@ -111,7 +111,7 @@
          if (node.level === 0) {
            this.$axios({
              method:"get",
              url:`./api/platform/info/` + this.platformId,
              url:`/api/platform/info/` + this.platformId,
            })
              .then((res)=> {
                if (res.data.code === 0) {
web_src/src/components/dialog/importChannel.vue
@@ -60,7 +60,7 @@
      console.log(this.form);
      this.$axios({
        method:"post",
        url:`./api/platform/catalog/${!this.isEdit? "add":"edit"}`,
        url:`/api/platform/catalog/${!this.isEdit? "add":"edit"}`,
        data: this.form
      })
        .then((res)=> {
web_src/src/components/dialog/onvifEdit.vue
@@ -81,7 +81,7 @@
      console.log(this.form);
      this.$axios({
        method: 'get',
        url:`./api/onvif/rtsp`,
        url:`/api/onvif/rtsp`,
        params: {
          hostname: this.form.hostName,
          timeout: 3000,
web_src/src/components/dialog/platformEdit.vue
@@ -138,7 +138,7 @@
      showDialog: false,
      isLoging: false,
      onSubmit_text: "立即创建",
      saveUrl: "./api/platform/save",
      saveUrl: "/api/platform/save",
      platform: {
        id: null,
@@ -192,7 +192,7 @@
        this.saveUrl = "/api/platform/add";
        this.$axios({
          method: 'get',
          url:`./api/platform/server_config`
          url:`/api/platform/server_config`
        }).then(function (res) {
          console.log(res);
          if (res.data.code === 0) {
@@ -315,7 +315,7 @@
      var that = this;
      await that.$axios({
                method: 'get',
                url:`./api/platform/exit/${deviceGbId}`})
                url:`/api/platform/exit/${deviceGbId}`})
        .then(function (res) {
            if (res.data.code === 0) {
              result = res.data.data;
web_src/src/components/dialog/pushStreamEdit.vue
@@ -109,7 +109,7 @@
      if (this.edit) {
        this.$axios({
          method:"post",
          url:`./api/push/save_to_gb`,
          url:`/api/push/save_to_gb`,
          data: this.proxyParam
        }).then( (res) => {
          if (res.data.code === 0) {
@@ -129,7 +129,7 @@
      }else {
        this.$axios({
          method:"post",
          url:`./api/push/add`,
          url:`/api/push/add`,
          data: this.proxyParam
        }).then( (res) => {
          if (res.data.code === 0) {
@@ -159,7 +159,7 @@
      var that = this;
      await that.$axios({
        method:"get",
        url:`./api/platform/exit/${deviceGbId}`
        url:`/api/platform/exit/${deviceGbId}`
      }).then(function (res) {
        result = res.data;
      }).catch(function (error) {
web_src/src/components/dialog/queryTrace.vue
@@ -72,7 +72,7 @@
    onSubmit: function () {
      console.log("onSubmit");
      this.isLoging = true;
      let url = `./api/position/history/${this.channel.deviceId}?start=${this.searchFrom}&end=${this.searchTo}`;
      let url = `/api/position/history/${this.channel.deviceId}?start=${this.searchFrom}&end=${this.searchTo}`;
      if (this.channel.channelId) {
        url+="&channelId=${this.channel.channelId}"
      }
web_src/src/components/dialog/recordDownload.vue
@@ -71,7 +71,7 @@
        getProgress: function (callback){
          this.$axios({
            method: 'get',
            url: `./api/gb_record/download/progress/${this.deviceId}/${this.channelId}/${this.stream}`
            url: `/api/gb_record/download/progress/${this.deviceId}/${this.channelId}/${this.stream}`
          }).then((res)=> {
            console.log(res)
              if (res.data.code === 0) {
@@ -124,7 +124,7 @@
        stopDownloadRecord: function (callback) {
          this.$axios({
            method: 'get',
            url: './api/gb_record/download/stop/' + this.deviceId + "/" + this.channelId+ "/" + this.stream
            url: '/api/gb_record/download/stop/' + this.deviceId + "/" + this.channelId+ "/" + this.stream
          }).then((res)=> {
            if (callback) callback(res)
          });
@@ -132,7 +132,7 @@
        getFileDownload: function (){
          this.$axios({
            method: 'get',
            url:`./record_proxy/${this.mediaServerId}/api/record/file/download/task/add`,
            url:`/record_proxy/${this.mediaServerId}/api/record/file/download/task/add`,
            params: {
              app: this.app,
              stream: this.stream,
@@ -164,7 +164,7 @@
        getProgressForFile: function (callback){
          this.$axios({
            method: 'get',
            url:`./record_proxy/${this.mediaServerId}/api/record/file/download/task/list`,
            url:`/record_proxy/${this.mediaServerId}/api/record/file/download/task/list`,
            params: {
              app: this.app,
              stream: this.stream,
web_src/src/components/live.vue
@@ -135,7 +135,7 @@
      this.loading = true
      this.$axios({
        method: 'get',
        url: './api/play/start/' + deviceId + '/' + channelId
        url: '/api/play/start/' + deviceId + '/' + channelId
      }).then(function (res) {
        if (res.data.code === 0 && res.data.data) {
          let videoUrl;
web_src/src/components/map.vue
@@ -298,7 +298,7 @@
      let that = this;
      this.$axios({
        method: 'get',
        url: './api/play/start/' + deviceId + '/' + channelId
        url: '/api/play/start/' + deviceId + '/' + channelId
      }).then(function (res) {
        that.isLoging = false;
        if (res.data.code === 0) {
web_src/src/components/service/DeviceService.js
@@ -9,7 +9,7 @@
  getDeviceList(currentPage, count, callback, errorCallback){
    this.$axios({
      method: 'get',
      url:`./api/device/query/devices`,
      url:`/api/device/query/devices`,
      params: {
        page: currentPage,
        count: count
@@ -25,7 +25,7 @@
  getDevice(deviceId, callback, errorCallback){
    this.$axios({
      method: 'get',
      url:`./api/device/query/devices/${deviceId}`,
      url:`/api/device/query/devices/${deviceId}`,
    }).then((res) => {
      if (typeof (callback) == "function") callback(res.data)
    }).catch((error) => {
@@ -82,7 +82,7 @@
  getChanel(isCatalog, catalogUnderDevice, deviceId, currentPage, count, callback, errorCallback) {
    this.$axios({
      method: 'get',
      url: `./api/device/query/devices/${deviceId}/channels`,
      url: `/api/device/query/devices/${deviceId}/channels`,
      params:{
        page: currentPage,
        count: count,
@@ -121,7 +121,7 @@
  getSubChannel(isCatalog, deviceId, channelId, currentPage, count, callback, errorCallback) {
    this.$axios({
      method: 'get',
      url: `./api/device/query/sub_channels/${deviceId}/${channelId}/channels`,
      url: `/api/device/query/sub_channels/${deviceId}/${channelId}/channels`,
      params:{
        page: currentPage,
        count: count,
@@ -161,7 +161,7 @@
    }
    this.$axios({
      method: 'get',
      url: `./api/device/query/tree/${deviceId}`,
      url: `/api/device/query/tree/${deviceId}`,
      params:{
        page: currentPage,
        count: count,
web_src/src/components/service/MediaServer.js
@@ -9,7 +9,7 @@
  getOnlineMediaServerList(callback){
    this.$axios({
      method: 'get',
      url:`./api/server/media_server/online/list`,
      url:`/api/server/media_server/online/list`,
    }).then((res) => {
      if (typeof (callback) == "function") callback(res.data)
    }).catch((error) => {
@@ -19,7 +19,7 @@
  getMediaServerList(callback){
    this.$axios({
      method: 'get',
      url:`./api/server/media_server/list`,
      url:`/api/server/media_server/list`,
    }).then(function (res) {
      if (typeof (callback) == "function") callback(res.data)
    }).catch(function (error) {
@@ -30,7 +30,7 @@
  getMediaServer(id, callback){
    this.$axios({
      method: 'get',
      url:`./api/server/media_server/one/` + id,
      url:`/api/server/media_server/one/` + id,
    }).then(function (res) {
      if (typeof (callback) == "function") callback(res.data)
    }).catch(function (error) {
@@ -41,7 +41,7 @@
  checkServer(param, callback){
    this.$axios({
      method: 'get',
      url:`./api/server/media_server/check`,
      url:`/api/server/media_server/check`,
      params: {
        ip: param.ip,
        port: param.httpPort,
@@ -57,7 +57,7 @@
  checkRecordServer(param, callback){
    this.$axios({
      method: 'get',
      url:`./api/server/media_server/record/check`,
      url:`/api/server/media_server/record/check`,
      params: {
        ip: param.ip,
        port: param.recordAssistPort
@@ -72,7 +72,7 @@
  addServer(param, callback){
    this.$axios({
      method: 'post',
      url:`./api/server/media_server/save`,
      url:`/api/server/media_server/save`,
      data: param
    }).then(function (res) {
      if (typeof (callback) == "function") callback(res.data)
@@ -84,7 +84,7 @@
  delete(id, callback) {
    this.$axios({
      method: 'delete',
      url:`./api/server/media_server/delete`,
      url:`/api/server/media_server/delete`,
      params: {
        id: id
      }
web_src/src/main.js
@@ -37,13 +37,13 @@
Vue.use(ElementUI);
Vue.use(VueCookies);
Vue.use(VueClipboards);
Vue.prototype.$axios = axios;
Vue.prototype.$notify = Notification;
Vue.use(Contextmenu);
Vue.use(VCharts);
axios.defaults.baseURL = (process.env.NODE_ENV === 'development') ? process.env.BASE_API : "";
axios.defaults.baseURL = (process.env.NODE_ENV === 'development') ? process.env.BASE_API : (window.baseUrl?window.baseUrl:"");
axios.defaults.withCredentials = true;
// api 返回401自动回登陆页面
axios.interceptors.response.use(function (response) {
  // 对响应数据做点什么
@@ -56,7 +56,7 @@
  }
  return Promise.reject(error);
});
Vue.prototype.$axios = axios;
Vue.prototype.$cookies.config(60*30);
new Vue({
web_src/static/js/config.js
File was renamed from web_src/static/js/mapConfig.js
@@ -1,3 +1,6 @@
window.baseUrl = ""
// map组件全局参数, 注释此内容可以关闭地图功能
window.mapParam = {
  // 开启/关闭地图功能