648540858
2023-02-07 6484f52e4624f9c2dbd03443080adf6db6b800b4
同时支持打包为Jar和War
43个文件已修改
1个文件已添加
2个文件已删除
349 ■■■■ 已修改文件
pom.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/ServletInitializer.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/VManageBootstrap.java 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/conf/ApiAccessFilter.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/conf/ServiceInfo.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/conf/security/UrlTokenHandler.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/build/utils.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/config/index.js 6 ●●●● 补丁 | 查看 | 原始文档 | 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 | 历史
pom.xml
@@ -79,7 +79,7 @@
                    <exclusions>
                        <exclusion>
                            <groupId>org.springframework.boot</groupId>
                            <artifactId>spring-boot-starter-tomcat</artifactId>
                            <artifactId>spring-boot-starter-jetty</artifactId>
                        </exclusion>
                    </exclusions>
                </dependency>
src/main/java/com/genersoft/iot/vmp/ServletInitializer.java
File was deleted
src/main/java/com/genersoft/iot/vmp/VManageBootstrap.java
@@ -1,19 +1,23 @@
package com.genersoft.iot.vmp;
import java.util.logging.LogManager;
import com.genersoft.iot.vmp.conf.druid.EnableDruidSupport;
import com.genersoft.iot.vmp.storager.impl.RedisCatchStorageImpl;
import com.genersoft.iot.vmp.utils.GitUtil;
import com.genersoft.iot.vmp.utils.SpringBeanFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.scheduling.annotation.EnableScheduling;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.SessionCookieConfig;
import javax.servlet.SessionTrackingMode;
import java.util.Collections;
/**
 * 启动类
@@ -22,7 +26,7 @@
@SpringBootApplication
@EnableScheduling
@EnableDruidSupport
public class VManageBootstrap extends LogManager {
public class VManageBootstrap extends SpringBootServletInitializer {
    private final static Logger logger = LoggerFactory.getLogger(VManageBootstrap.class);
@@ -41,6 +45,21 @@
        context.close();
        VManageBootstrap.context = SpringApplication.run(VManageBootstrap.class, args);
    }
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(VManageBootstrap.class);
    }
    @Override
    public void onStartup(ServletContext servletContext) throws ServletException {
        super.onStartup(servletContext);
        servletContext.setSessionTrackingModes(
                Collections.singleton(SessionTrackingMode.COOKIE)
        );
        SessionCookieConfig sessionCookieConfig = servletContext.getSessionCookieConfig();
        sessionCookieConfig.setHttpOnly(true);
    }
}
src/main/java/com/genersoft/iot/vmp/conf/ApiAccessFilter.java
@@ -10,6 +10,7 @@
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Component;
import org.springframework.util.ObjectUtils;
import org.springframework.web.filter.OncePerRequestFilter;
@@ -23,6 +24,7 @@
 * @author lin
 */
@WebFilter(filterName = "ApiAccessFilter", urlPatterns = "/api/*", asyncSupported=true)
@Component
public class ApiAccessFilter extends OncePerRequestFilter {
    private final static Logger logger = LoggerFactory.getLogger(ApiAccessFilter.class);
@@ -48,7 +50,7 @@
        filterChain.doFilter(servletRequest, servletResponse);
        if (uriName != null && userSetting.getLogInDatebase()) {
        if (uriName != null && userSetting != null && userSetting.getLogInDatebase() != null && userSetting.getLogInDatebase()) {
            LogDto logDto = new LogDto();
            logDto.setName(uriName);
src/main/java/com/genersoft/iot/vmp/conf/ServiceInfo.java
New file
@@ -0,0 +1,30 @@
package com.genersoft.iot.vmp.conf;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.web.context.WebServerInitializedEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;
@Component
public class ServiceInfo implements ApplicationListener<WebServerInitializedEvent> {
    private final Logger logger = LoggerFactory.getLogger(ServiceInfo.class);
    private static int serverPort;
    public static int getServerPort() {
        return serverPort;
    }
    @Override
    public void onApplicationEvent(WebServerInitializedEvent event) {
        // 项目启动获取启动的端口号
        ServiceInfo.serverPort = event.getWebServer().getPort();
        logger.info("项目启动获取启动的端口号:  " + ServiceInfo.serverPort);
    }
    public void setServerPort(int serverPort) {
        ServiceInfo.serverPort = serverPort;
    }
}
src/main/java/com/genersoft/iot/vmp/conf/security/UrlTokenHandler.java
File was deleted
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java
@@ -1,5 +1,6 @@
package com.genersoft.iot.vmp.gb28181.transmit.event.request.impl;
import com.genersoft.iot.vmp.conf.ServiceInfo;
import com.genersoft.iot.vmp.conf.SipConfig;
import com.genersoft.iot.vmp.conf.UserSetting;
import com.genersoft.iot.vmp.gb28181.auth.DigestServerAuthenticationHelper;
@@ -79,6 +80,19 @@
            RequestEventExt evtExt = (RequestEventExt) evt;
            String requestAddress = evtExt.getRemoteIpAddress() + ":" + evtExt.getRemotePort();
            logger.info("[注册请求] 开始处理: {}", requestAddress);
//            MBeanServer beanServer = ManagementFactory.getPlatformMBeanServer();
//            QueryExp protocol = Query.match(Query.attr("protocol"), Query.value("HTTP/1.1"));
////            ObjectName name = new ObjectName("*:type=Connector,*");
//            ObjectName name = new ObjectName("*:*");
//            Set<ObjectName> objectNames = beanServer.queryNames(name, protocol);
//            for (ObjectName objectName : objectNames) {
//                String catalina = objectName.getDomain();
//                if ("Catalina".equals(catalina)) {
//                    System.out.println(objectName.getKeyProperty("port"));
//                }
//            }
            System.out.println(ServiceInfo.getServerPort());
            SIPRequest request = (SIPRequest)evt.getRequest();
            Response response = null;
            boolean passwordCorrect = false;
web_src/build/utils.js
@@ -47,7 +47,8 @@
    if (options.extract) {
      return ExtractTextPlugin.extract({
        use: loaders,
        fallback: 'vue-style-loader'
        fallback: 'vue-style-loader',
        publicPath: '../../'
      })
    } else {
      return ['vue-style-loader'].concat(loaders)
web_src/config/index.js
@@ -8,8 +8,8 @@
  dev: {
    // Paths
    assetsSubDirectory: 'static',
    assetsPublicPath: '/',
    assetsSubDirectory: './static',
    assetsPublicPath: './',
    proxyTable: {
      '/debug': {
        target: 'http://localhost:38080',
@@ -61,7 +61,7 @@
    // Paths
    assetsRoot: path.resolve(__dirname, '../../src/main/resources/static/'),
    assetsSubDirectory: './static',
    assetsPublicPath: '/',
    assetsPublicPath: './',
    /**
     * Source Maps
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
      }