Merge branch 'master' of http://s16s652780.51mypc.cn:49896/r/srs-police-affairs
| | |
| | | --> |
| | | <template> |
| | | <div class="viewer-box" id="viewer-container"> |
| | | <slot ref="mainContent" name="mainContent"></slot> |
| | | <slot name="showButton"></slot> |
| | | <slot ref="mainContent" name="mainContent"></slot> |
| | | <slot name="showButton"></slot> |
| | | <div class="over-look-btn"> |
| | | <el-tooltip content="一键俯视" placement="top" effect="dark"> |
| | | <i class="fa fa-eye" style="vertical-align: middle; cursor: pointer" @click="overLookClick"></i> |
| | | </el-tooltip> |
| | | <i class="fa fa-eye" style="vertical-align: middle; cursor: pointer" @click="overLookClick"></i> |
| | | </el-tooltip> |
| | | </div> |
| | | <!-- 全屏控制按钮 --> |
| | | <div class="screen-full-btn"> |
| | | <el-tooltip v-if="isFullscreen" content="缩放" placement="top" effect="dark"> |
| | | <i class="fa fa-compress" style="vertical-align: middle; cursor: pointer" @click="fullscreenchange"></i> |
| | | </el-tooltip> |
| | | <el-tooltip v-if="!isFullscreen" content="全屏" placement="top" effect="dark"> |
| | | <i class="fa fa-expand" style="vertical-align: middle; cursor: pointer" @click="fullscreenchange"></i> |
| | | <!-- <el-tooltip v-if="isFullscreen" content="缩放" placement="top" effect="dark"> |
| | | <i class="fa fa-compress" style="vertical-align: middle; cursor: pointer" @click="fullscreenchange"></i> |
| | | </el-tooltip> --> |
| | | |
| | | <!-- <el-tooltip v-if="!isFullscreen" content="全屏" placement="top" effect="dark"> |
| | | <i class="fa fa-expand" style="vertical-align: middle; cursor: pointer" @click="fullscreenchange"></i> |
| | | </el-tooltip> --> |
| | | <el-tooltip content="显示/隐藏" placement="top" effect="dark"> |
| | | <i class="fa fa-expand" style="vertical-align: middle; cursor: pointer" @click="switchShowHomeContent"></i> |
| | | </el-tooltip> |
| | | </div> |
| | | <!-- 切换矢量图按钮 --> |
| | |
| | | } |
| | | }, |
| | | |
| | | // 切换首页显示隐藏 |
| | | switchShowHomeContent () { |
| | | this.$store.commit('SET_ISSHOWHOMECONTENT', !this.$store.state.popupParams.isShowHomeContent) |
| | | |
| | | if (this.$store.state.popupParams.isShowHomeContent) { |
| | | if (document.querySelector('.dc-container .dc-zoom-controller').classList.contains('homebottom')) return |
| | | document.querySelector('.dc-container .dc-zoom-controller').classList.add('homebottom') |
| | | document.querySelector('.screen-full-btn').classList.add('homebottom') |
| | | document.querySelector('.over-look-btn').classList.add('homebottom') |
| | | document.querySelector('.image-switch-icon-btn').classList.add('iconbottom') |
| | | } else { |
| | | if (!document.querySelector('.dc-container .dc-zoom-controller').classList.contains('homebottom')) return |
| | | document.querySelector('.dc-container .dc-zoom-controller').classList.remove('homebottom') |
| | | document.querySelector('.screen-full-btn').classList.remove('homebottom') |
| | | document.querySelector('.over-look-btn').classList.remove('homebottom') |
| | | document.querySelector('.image-switch-icon-btn').classList.remove('iconbottom') |
| | | } |
| | | |
| | | }, |
| | | |
| | | /** |
| | | * 在图层中添加实体(点) |
| | | * @param {*} item 图标 |
| | |
| | | labelElement.on(global.DC.MouseEventType.CLICK, incident) |
| | | } else if (type == 'HeatPoint') { |
| | | layersObjcect[layerName].setPositions(params.positions) |
| | | console.log('----------HeatPoint------------', params.positions) |
| | | } |
| | | |
| | | }, |
| | |
| | | houseDeepDataPopupData: (state) => state.popupParams.houseDeepDataPopupData, |
| | | videoRowClickPopup: (state) => state.popupParams.videoRowClickPopup, |
| | | videoRowClickPopupData: (state) => state.popupParams.videoRowClickPopupData, |
| | | isShowHomeContent: (state) => state.popupParams.isShowHomeContent, |
| | | } |
| | | |
| | | export default getters |
| | |
| | | videoRowClickPopupData: {}, |
| | | |
| | | houseDeepDataPopup: false, |
| | | houseDeepDataPopupData: {} |
| | | houseDeepDataPopupData: {}, |
| | | |
| | | isShowHomeContent: true, |
| | | }, |
| | | |
| | | mutations: { |
| | |
| | | |
| | | SET_VIDEOROWCLICKPOPUPDATA (state, videoRowClickPopupData) { |
| | | state.videoRowClickPopupData = videoRowClickPopupData |
| | | } |
| | | }, |
| | | |
| | | SET_ISSHOWHOMECONTENT (state, isShowHomeContent) { |
| | | state.isShowHomeContent = isShowHomeContent |
| | | }, |
| | | }, |
| | | |
| | | actions: { |
| | |
| | | justify-content: center; |
| | | position: absolute; |
| | | left: 10px; |
| | | bottom: 10px; |
| | | bottom: 244px; |
| | | width: 36px; |
| | | height: 36px; |
| | | font-size: 20px; |
| | |
| | | |
| | | } |
| | | |
| | | .alert-box { |
| | | .echarts-box { |
| | | height: 100%; |
| | | } |
| | | } |
| | | |
| | | .person-box { |
| | | .back { |
| | | top: countSizeVh(102); |
| | |
| | | } |
| | | |
| | | // 地图,控制按钮 |
| | | .over-look-btn, |
| | | .over-look-btn { |
| | | left: countSizeVh(10); |
| | | bottom: countSizeVh(224); |
| | | width: countSizeVh(36); |
| | | height: countSizeVh(36); |
| | | font-size: countSizeVh(20); |
| | | } |
| | | |
| | | .screen-full-btn { |
| | | left: countSizeVh(10); |
| | | bottom: countSizeVh(10); |
| | |
| | | |
| | | export const computerCapacity = (data, type) => { |
| | | if (type == 'region') { |
| | | console.log('computerCapacity', data) |
| | | const pointArr = data.reduce((pre, cur) => { |
| | | cur.position && JSON.parse(cur.position).coordinates[0][0].forEach(item => { |
| | | console.log(item, 959) |
| | |
| | | console.log(scope, scaledPoly, 5555) |
| | | } else { |
| | | let pointArr = [] |
| | | |
| | | console.log('data', data) |
| | | data.forEach(item => { |
| | | if (item.longitude && item.latitude) { |
| | | pointArr.push(turf.point([item.longitude, item.latitude])) |
| | |
| | | |
| | | console.log(scope, 5555) |
| | | |
| | | const poly = turf.polygon([[[0, 29], [3.5, 29], [2.5, 32], [0, 29]]]) |
| | | // const poly = turf.polygon([[[0, 29], [3.5, 29], [2.5, 32], [0, 29]]]) |
| | | |
| | | global.viewer.flyToBounds(scope, |
| | | { heading: 0, pitch: -45, roll: 0 }, |
| | |
| | | this.currentPlotType = params.item.plotType |
| | | |
| | | this.closeActivityDetails() |
| | | |
| | | // 当前选中的ID |
| | | this.showingSecurityId = params.item.id |
| | | // 当前选中的详情 |
| | | this.activityDetails = params.item |
| | | |
| | | // 测试安保活动报错 |
| | | this.dialogVisible = true |
| | | |
| | | if (this.userInfo.dept_id == '1123598813738675201' || this.userInfo.dept_id == params.item.deptId) { |
| | |
| | | |
| | | // 加载当前活动区域 |
| | | if (params.item.activityArea && params.item.activityArea.length > 0) { |
| | | |
| | | let polyGonData = params.item.activityArea.slice(11, params.item.activityArea.length - 1) |
| | | polyGonData = polyGonData.replace(/,/g, ";") |
| | | polyGonData = polyGonData.replace(/ /g, ",") |
| | |
| | | this.getSecurityPlotList(params.id) |
| | | this.getSecurityPoliceList(params.id) |
| | | this.getSecurityCarList(params.id) |
| | | |
| | | }, |
| | | |
| | | // 获取树状警员列表 |
| | |
| | | </div> |
| | | |
| | | <div class="second-container" :class="{ 'spread': boxShow, 'take-back': !boxShow }"> |
| | | <el-tree :data="treeData" show-checkbox node-key="id" @check="treeCheckClick"></el-tree> |
| | | <el-tree :data="treeData" show-checkbox node-key="id" @check="treeCheckClick" |
| | | @check-change="treeCheckChange"></el-tree> |
| | | </div> |
| | | |
| | | <map-search-box></map-search-box> |
| | |
| | | |
| | | import publicIndex from './components/publicIndex.vue' |
| | | import { initMapPosition } from '@/utils/mapPositionInit' |
| | | import { computerCapacity } from "@/utils/turfPolygon.js" |
| | | |
| | | |
| | | let loading = null |
| | |
| | | this.$EventBus.$on('activeDeleteLineOrPoint', (type) => { |
| | | this.activeDeleteLineOrPoint(type) |
| | | }) |
| | | |
| | | }, |
| | | |
| | | mounted () { |
| | |
| | | this.showingSecurityId = item.id |
| | | |
| | | this.$refs.PublicIndexPage.reloadAll({ id: item.id, deptId: item.deptId, item }) |
| | | |
| | | |
| | | this.activityDeptId = item.deptId |
| | | |
| | |
| | | } |
| | | this.dataTreeCheckedNodes = e2.checkedNodes |
| | | this.eachDataTreeCheckedNodes(this.dataTreeCheckedNodes) |
| | | }, |
| | | |
| | | //树形控件选中状态改变事件 |
| | | treeCheckChange (e1, e2) { |
| | | if (e2 && !e1.children) { |
| | | let iconArr = [] |
| | | if (e1.label == '视频监控') { |
| | | iconArr = cameraList |
| | | } else if (e1.label == '警车') { |
| | | iconArr = carList |
| | | } else if (e1.label == '公网') { |
| | | iconArr = talkBackEquipmentPublicList |
| | | } else if (e1.label == '专网') { |
| | | iconArr = talkBackEquipmentList |
| | | } else if (e1.label == '执法记录仪') { |
| | | iconArr = policeCarmeraList |
| | | } |
| | | // 获取图标中心跳转 |
| | | computerCapacity(iconArr, 'icon') |
| | | |
| | | } |
| | | }, |
| | | |
| | | // 遍历树数据实时图标 |
| | |
| | | <li> |
| | | <span class="num">序号</span> |
| | | <span class="receiving-alarm-unit">接警单位</span> |
| | | <span class="receiving-alarm-time">报警时间</span> |
| | | <span class="receiving-alarm-time">报警时间</span> |
| | | <span class="call-police-content">报警内容</span> |
| | | <span class="incident-site">事发地址</span> |
| | | <span class="call-police-type">报警类型</span> |
| | |
| | | </li> |
| | | </ul> |
| | | |
| | | <!-- <vue-seamless-scroll v-if="policeSituationRealtimeArr.length > 0" :data="policeSituationRealtimeArr" |
| | | class="warp" :class-option="classOption"> --> |
| | | <!-- <vue-seamless-scroll v-if="policeSituationRealtimeArr.length > 0" :data="policeSituationRealtimeArr" class="warp" :class-option="classOption"> --> |
| | | <div v-if="policeSituationRealtimeArr.length > 0" :data="policeSituationRealtimeArr" class="warp" |
| | | :class-option="classOption"> |
| | | <el-carousel indicator-position="none" direction="vertical" @change="changeAlarm"> |
| | |
| | | |
| | | // 获取实时接警记录 |
| | | getAnswerPolices () { |
| | | |
| | | getAnswerPolices({ deptId: this.policeStaionID != '' ? this.policeStaionID : this.userInfo.dept_id }).then(res => { |
| | | this.policeSituationRealtimeArr = [] |
| | | |
| | |
| | | }) |
| | | setTimeout(() => { |
| | | eventchangemychart.hideLoading() |
| | | eventchangemychart.setOption(this.initEventChangeOption(optionsData.xData, optionsData.yData)) |
| | | eventchangemychart.setOption(this.initEventChangeOption(optionsData.xData, optionsData.yDataList)) |
| | | }, 500) |
| | | }, |
| | | |
| | |
| | | end, |
| | | this.policeStaionID != "" ? this.policeStaionID : this.userInfo.dept_id |
| | | ).then((res) => { |
| | | if (res.data.length > 0) { |
| | | return res.data.reduce( |
| | | if (res.data.timeList) { |
| | | let yDataList = {} |
| | | yDataList.dqList = res.data.dqList.reduce( |
| | | (previous, current) => { |
| | | previous.xData.push(current.days) |
| | | previous.yData.push(current.cout) |
| | | previous.push(current.count) |
| | | return previous |
| | | }, |
| | | { xData: [], yData: [] } |
| | | [] |
| | | ) |
| | | yDataList.zpList = res.data.zpList.reduce( |
| | | (previous, current) => { |
| | | previous.push(current.count) |
| | | return previous |
| | | }, |
| | | [] |
| | | ) |
| | | yDataList.jfList = res.data.jfList.reduce( |
| | | (previous, current) => { |
| | | previous.push(current.count) |
| | | return previous |
| | | }, |
| | | [] |
| | | ) |
| | | yDataList.qtList = res.data.qtList.reduce( |
| | | (previous, current) => { |
| | | previous.push(current.count) |
| | | return previous |
| | | }, |
| | | [] |
| | | ) |
| | | let xData = res.data.timeList.map(item => item.slice(5, 10)) |
| | | return { xData, yDataList } |
| | | } else { |
| | | return { xData: [], yData: [] } |
| | | return { xData: [], yDataList: {} } |
| | | } |
| | | |
| | | }) |
| | | |
| | | return caseAll |
| | |
| | | |
| | | const optionsData = await this.getCaseAll(date[0], date[1]) |
| | | |
| | | |
| | | // eventchangemychart.setOption(this.initEventChangeOption(optionsData.xData, optionsData.yData)) |
| | | eventchangemychart.setOption(this.initEventChangeOption(['盗窃', '诈骗', '纠纷', '其他'], [12, 34, 25, 8])) |
| | | eventchangemychart.setOption(this.initEventChangeOption(optionsData.xData, optionsData.yDataList)) |
| | | |
| | | setTimeout(() => { |
| | | this.eventChangeEchartsLoading = false |
| | |
| | | }, |
| | | |
| | | // 案件统计的options |
| | | initEventChangeOption (xData, yData) { |
| | | initEventChangeOption (xData, yDataList) { |
| | | let option |
| | | if (xData.length == 0) { |
| | | //暂无数据 |
| | |
| | | }, |
| | | }, |
| | | }, |
| | | legend: { |
| | | data: ['盗窃', '诈骗', '纠纷', '其他'] |
| | | }, |
| | | yAxis: { |
| | | type: "value", |
| | | |
| | |
| | | }, |
| | | series: [ |
| | | { |
| | | data: yData, |
| | | name: '盗窃', |
| | | data: yDataList.dqList, |
| | | type: "line", |
| | | smooth: true, |
| | | areaStyle: { |
| | | normal: { |
| | | //渐变色 |
| | | color: new this.$echarts.graphic.LinearGradient( |
| | | 0, |
| | | 0, |
| | | 0, |
| | | 1, |
| | | [ |
| | | { |
| | | //波形图渐变色样式 |
| | | offset: 0, |
| | | color: "rgba(3, 108, 255, 0.7)", |
| | | }, |
| | | { |
| | | offset: 0.8, |
| | | color: "rgba(3, 108, 255, 0.1)", |
| | | }, |
| | | ], |
| | | false |
| | | ), |
| | | }, |
| | | }, |
| | | itemStyle: { |
| | | normal: { |
| | | color: "red", //改变折线点的颜色 |
| | | lineStyle: { |
| | | color: "rgba(3, 108, 255, 1)", //改变折线颜色 |
| | | }, |
| | | }, |
| | | }, |
| | | // areaStyle: { |
| | | // normal: { |
| | | // //渐变色 |
| | | // color: new this.$echarts.graphic.LinearGradient( |
| | | // 0, |
| | | // 0, |
| | | // 0, |
| | | // 1, |
| | | // [ |
| | | // { |
| | | // //波形图渐变色样式 |
| | | // offset: 0, |
| | | // color: "rgba(3, 108, 255, 0.7)", |
| | | // }, |
| | | // { |
| | | // offset: 0.8, |
| | | // color: "rgba(3, 108, 255, 0.1)", |
| | | // }, |
| | | // ], |
| | | // false |
| | | // ), |
| | | // }, |
| | | // }, |
| | | // itemStyle: { |
| | | // normal: { |
| | | // color: "red", //改变折线点的颜色 |
| | | // lineStyle: { |
| | | // color: "rgba(3, 108, 255, 1)", //改变折线颜色 |
| | | // }, |
| | | // }, |
| | | // }, |
| | | }, |
| | | { |
| | | name: '诈骗', |
| | | data: yDataList.zpList, |
| | | type: "line", |
| | | smooth: true, |
| | | }, |
| | | { |
| | | name: '纠纷', |
| | | data: yDataList.jfList, |
| | | type: "line", |
| | | smooth: true, |
| | | }, |
| | | { |
| | | name: '其他', |
| | | data: yDataList.qtList, |
| | | type: "line", |
| | | smooth: true, |
| | | } |
| | | ], |
| | | grid: { |
| | | top: "4%", |
| | |
| | | --> |
| | | |
| | | <template> |
| | | <div class="home-page container"> |
| | | <div class="home-page container" v-show="isShowHomeContent"> |
| | | <left-container class="left-container" @showpeopledetail="showpeopledetail" |
| | | @showkeypersondetail="showkeypersondetail" ref="leftContainer" |
| | | @showlanddetail="showlanddetail"></left-container> |
| | |
| | | let DataSourcesArray = [] |
| | | let loading = null |
| | | |
| | | import { mapGetters } from 'vuex' |
| | | |
| | | |
| | | let treeData = [ |
| | | { |
| | |
| | | components: { leftContainer, rightContainer, bottomContainer, schedulingList, landDetailsBox, areaDetailsBox, keyPersonBox }, |
| | | |
| | | computed: { |
| | | ...mapGetters([ |
| | | 'isShowHomeContent' |
| | | ]), |
| | | |
| | | positionColor () { |
| | | return (row) => { |
| | | if (row.X && row.X != 0 |
| | |
| | | this.selectAllClass = true |
| | | this.policeStaionID = this.userInfo.dept_id |
| | | } |
| | | |
| | | this.$store.commit('SET_ISSHOWHOMECONTENT', true) |
| | | this.getPoliceStationTree(1) |
| | | |
| | | // setTimeout(() => { |
| | |
| | | |
| | | showlanddetail (name, type, id) { |
| | | this.$refs.landDetailsBox.showlanddetail(name, type, id) |
| | | } |
| | | }, |
| | | |
| | | // 首页显示隐藏页面进入跳转逻辑 |
| | | showHomeContentBtnStyle () { |
| | | if (!this.$store.state.popupParams.isShowHomeContent) { |
| | | this.$store.commit('SET_ISSHOWHOMECONTENT', true) |
| | | if (document.querySelector('.dc-container .dc-zoom-controller').classList.contains('homebottom')) return |
| | | document.querySelector('.dc-container .dc-zoom-controller').classList.add('homebottom') |
| | | document.querySelector('.screen-full-btn').classList.add('homebottom') |
| | | document.querySelector('.over-look-btn').classList.add('homebottom') |
| | | document.querySelector('.image-switch-icon-btn').classList.add('iconbottom') |
| | | } |
| | | }, |
| | | |
| | | }, |
| | | |
| | | destroyed () { |
| | | this.$store.commit('SET_MAPSEARCHPOPUP', false) |
| | | this.showHomeContentBtnStyle() |
| | | |
| | | loading && loading.close() |
| | | |
| | |
| | | getAnswerPolices () { |
| | | this.loading() |
| | | this.realPoliceInforData = [] |
| | | this.realEmptyText = "" |
| | | |
| | | this.realEmptyText = " " |
| | | getAnswerPolices({ deptId: this.userInfo.dept_id }).then(res => { |
| | | |
| | | if (res.data && res.data.length) { |
| | | this.realPoliceInforData = res.data.map((item, index) => { |
| | | const bjlxText = BjlxData.filter(i => item.BJLX == i.BJLX)[0].VALUE || '' |
| | | const bjlxText = BjlxData.filter(i => item.BJLX == i.BJLX)[0] ? BjlxData.filter(i => item.BJLX == i.BJLX)[0].VALUE : '' |
| | | |
| | | return { ...item, index: index + 1, lng: item.ZDDWXZB, lat: item.ZDDWYZB, BJLX: bjlxText } |
| | | }) |
| | | this.addPoliceInforSiteLayer(this.realPoliceInforData) |
| | | } else { |
| | | this.realPoliceInforData = [] |
| | | this.realEmptyText = "暂无实时警情信息" |
| | | } |
| | | |
| | | this.addPoliceInforSiteLayer(this.realPoliceInforData) |
| | | setTimeout(() => { |
| | | loading && loading.close() |
| | | }, 500) |
| | | }).catch(res => { |
| | | this.realEmptyText = "实时警情请求失败" |
| | | this.realEmptyText = "暂无实时警情信息" |
| | | setTimeout(() => { |
| | | loading && loading.close() |
| | | }, 500) |
| | |
| | | // }, 500) |
| | | }, |
| | | |
| | | // 获取历史接警记录 |
| | | // 获取历史接警记录(不分页) |
| | | getAlarmList (params) { |
| | | this.loading() |
| | | this.historyPoliceInforData = [] |
| | | this.historyEmptyText = "" |
| | | |
| | | getAlarmList({ ...params, size: this.pages.size, jjdwbh: this.userInfo.dept_id }).then(res => { |
| | | |
| | | if (res.data.data.records.length > 0) { |
| | | this.pages.total = res.data.data.pages |
| | | this.historyPoliceInforData = res.data.data.records.map((item, index) => { |
| | | const bjlxText = BjlxData.filter(i => item.BJLX == i.BJLX)[0].VALUE || '' |
| | | |
| | | getAlarmList({ ...params, size: this.pages.size, jjdwbh: this.userInfo.dept_id, type: 3 }).then(res => { |
| | | console.log('------------getAlarmList----------', res.data.data, 1122) |
| | | if (res.data.data.length > 0) { |
| | | // this.pages.total = res.data.data.pages |
| | | this.historyPoliceInforData = res.data.data.map((item, index) => { |
| | | const bjlxText = BjlxData.filter(i => item.BJLX == i.BJLX)[0] ? BjlxData.filter(i => item.BJLX == i.BJLX)[0].VALUE : '' |
| | | return { ...item, index: index + 1, lng: item.ZDDWXZB, lat: item.ZDDWYZB, BJLX: bjlxText } |
| | | }) |
| | | } else { |
| | | this.pages.total = 0 |
| | | // this.pages.total = 0 |
| | | this.historyPoliceInforData = [] |
| | | this.realEmptyText = "暂无历史警情信息" |
| | | } |
| | | |
| | | this.addPoliceInforSiteLayer(this.historyPoliceInforData) |
| | | setTimeout(() => { |
| | | loading && loading.close() |
| | | }, 500) |
| | | }).catch(res => { |
| | | setTimeout(() => { |
| | | loading && loading.close() |
| | | }, 500) |
| | |
| | | |
| | | addPoliceInforSiteLayer (data) { |
| | | this.clearLayer() |
| | | let policeInfoPositionList = [] |
| | | |
| | | data.forEach((item, index) => { |
| | | |
| | | if (item.lng && item.lng != undefined && item.lng != '') { |
| | | let center = new global.DC.Position(Number(item.lng), Number(item.lat)) |
| | | let point = new global.DC.PointPrimitive(center) |
| | | |
| | | policeInfoPositionList.push(center) |
| | | let num = 0 |
| | | |
| | | timer[index] = setInterval(() => { |
| | |
| | | policeInforSiteLayer.addOverlay(point) |
| | | } |
| | | }) |
| | | this.$EventBus.$emit('layerPointAdd', { |
| | | layerName: 'policeInfoHeatLayer', |
| | | type: "HeatPoint", |
| | | layerType: 'HeatLayer', |
| | | params: { |
| | | positions: policeInfoPositionList |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | /** |
| | |
| | | proxy: { |
| | | "/api": { |
| | | // target用于配置你允许访问数据的计算机名称,即是你的api接口的服务器地址 |
| | | target: "http://localhost:82", |
| | | // target: "http://192.168.0.100:82", |
| | | // target: "http://localhost:82", |
| | | target: "http://192.168.0.100:82", |
| | | // target: "http://17.20.10.3:82", |
| | | // target: "http://10.141.11.11:8081/api", |
| | | // ws: true, //启用webSocket6566 |