提交 8f756cf5 作者: 翁进城

feat: 无人机列表更改为V4接口

上级 82bf688e
流水线 #10101 已失败 于阶段
......@@ -8,7 +8,7 @@ module.exports = defineConfig({
plugins: [new NodePolyfillPlugin()],
},
devServer: {
https: true,
https: false,
port: 9000,
client: {
overlay: false,
......
......@@ -3,21 +3,6 @@ import request_uav from "../request_uav";
class Control_API {
/**
* 无人机token登录
* @param {*} data
* @returns
*/
static login(data) {
return request({
url: "/crm/account/loginInfo",
method: "post",
data,
headers: {
token: window.localStorage.getItem("tmj_token"),
},
});
}
/**
* 无人机接管更新状态
* @param {*} id //设备id
* @returns
......@@ -32,7 +17,7 @@ class Control_API {
// 获取无人机树结构列表
static getUavTree(params) {
return request({
url: "/dms/uav/tree",
url: "/admin-api/uas/drive/getTree",
// url: '/crm/personalCenter/list?id=4',
method: "get",
params,
......
import axios from 'axios';
import Vue from 'vue';
import { resetMessage } from './message';
import router from '../router';
import store from '../store';
import axios from "axios";
import Vue from "vue";
import { resetMessage } from "./message";
import router from "../router";
import store from "../store";
let prodUrl = 'https://tmj.mmcuav.cn';
let devUrl = 'https://test.tmj.mmcuav.cn/'
let prodUrl = "http://192.168.5.80:30080";
let devUrl = "http://192.168.5.80:30080";
const $axios = axios.create({
// baseURL: process.env.VUE_APP_BASE_API_TG
// withCredentials: true
});
Vue.prototype.$http = axios;
const loading = null;
/**
......@@ -22,7 +20,7 @@ const loading = null;
*/
$axios.interceptors.request.use(
(config) => {
if(store.state.devMode){
if (store.state.devMode) {
config.baseURL = devUrl;
} else {
config.baseURL = prodUrl;
......@@ -30,14 +28,14 @@ $axios.interceptors.request.use(
const token = store.state.token;
if (token) {
config.headers['token'] = token;
// config.headers['channel'] = 'channel'; // 渠道 主平台 子平台 后台
console.log('config', config)
config.headers["Authorization"] = "Bearer " + token;
}
config.headers["Tenant-Id"] = 1;
config.headers["terminal"] = 2; // 1 为管理后台 2 为前端项目
return config;
},
(error) => {
console.log('进来了2....');
console.log("请求出错");
return Promise.reject(error);
}
);
......@@ -47,40 +45,25 @@ $axios.interceptors.request.use(
*/
$axios.interceptors.response.use(
(response) => {
console.log('请求的URL:', response.config.url);
console.log("请求的URL:", response.config.url);
if (loading) {
loading.close();
}
console.log('回应参数...', response);
console.log("回应参数...", response);
const status = response.status;
const res = response.data;
// 请求成功返回response.data
if ((status >= 200 && status < 300) || status === 304) {
switch (res.code) {
case 200:
return Promise.resolve(response.data);
case 525:
if (store.state.isIframe) {
resetMessage.error(response.data.msg);
}
return Promise.resolve(response.data);
case 401:
return Promise.reject(response);
case 403:
if (store.state.isIframe) {
resetMessage.error(response.data.msg);
}
break;
case 0:
return Promise.resolve(res);
default:
if (response.config.responseType === 'blob') {
return Promise.resolve(response.data);
if (response.config.responseType === "blob") {
return Promise.resolve(res);
}
resetMessage.error(response?.data?.msg || '网络请求错误');
return Promise.reject(response.data);
resetMessage.error(res?.msg || "网络请求错误");
return Promise.reject(res);
}
} else {
return Promise.reject(response);
......@@ -95,38 +78,24 @@ $axios.interceptors.response.use(
switch (error.response.data.code) {
case 401:
// 返回401 清除token信息并跳转到登陆页面
// store.commit("user/LOGIN_OUT");
// router.replace({
// path: "/login",
// query: {
// redirect: router.currentRoute.fullPath,
// },
// });
break;
case 403:
// 返回403 清除token信息并跳转到登陆页面
// store.commit("user/LOGIN_OUT");
resetMessage.error('token过期');
/* router.replace({
path: "/login",
query: {
redirect: router.currentRoute.fullPath,
},
}); */
resetMessage.error("token过期");
break;
case 404:
resetMessage.error('网络请求不存在');
resetMessage.error("网络请求不存在");
break;
default:
// 统一错误提示弹窗
resetMessage.error(error.response?.data?.msg || '网络请求错误');
resetMessage.error(error.response?.data?.msg || "网络请求错误");
}
} else {
// 请求超时或者网络有问题
if (error.message.includes('timeout')) {
resetMessage.error('请求超时!请检查网络是否正常');
if (error.message.includes("timeout")) {
resetMessage.error("请求超时!请检查网络是否正常");
} else {
resetMessage.error('请求失败,请检查网络是否已连接');
resetMessage.error("请求失败,请检查网络是否已连接");
}
}
return Promise.reject(error);
......
......@@ -42,7 +42,7 @@ export default {
this.hangar?.uav?.streamConfiguration
?.find((v) => v.videoType === 1)
?.streamUrlMessage.map((v) => ({
url: /* coverStreamUrl(v.streamUrl, this.hangar.uav.hardId) */ v.streamUrl,
url: /* coverStreamUrl(v.streamUrl, this.hangar.uav.deviceId) */ v.streamUrl,
brand: v.streamType,
})) || []
);
......
......@@ -2,16 +2,16 @@ import { Base64 } from "js-base64";
/**
* 转换流地址, 这样后端才可统计播放情况
* @param {*} url
* @param {*} hardId
* @param {*} deviceId
* @returns
*/
export function coverStreamUrl(url, hardId) {
export function coverStreamUrl(url, deviceId) {
if (url.includes("https://live.mmcuav.cn")) {
const str = Base64.encode(
JSON.stringify({
token: localStorage.getItem("tmj_token"),
actionId: new Date().getTime().toString(),
deviceHardId: hardId,
deviceHardId: deviceId,
environment: process.env.VUE_APP_ENV === "dev" ? "sit" : "prod",
})
);
......
......@@ -18,12 +18,12 @@
<img class="left-bar-item__icon" src="./assets/images/carAI2.png" />
<div class="left-bar-item__text">车辆识别</div>
</div>
<Face v-if="openFace" class="ai-dialog" :uavId="uav.hardId" @close="openFace = false" />
<Car v-if="openPlate" class="ai-dialog" :uavId="uav.hardId" @close="openPlate = false" />
<Face v-if="openFace" class="ai-dialog" :uavId="uav.deviceId" @close="openFace = false" />
<Car v-if="openPlate" class="ai-dialog" :uavId="uav.deviceId" @close="openPlate = false" />
<Traffic
v-if="openTraffic"
class="ai-dialog"
:uavId="uav.hardId"
:uavId="uav.deviceId"
@close="openTraffic = false"
/>
<Jm v-if="openModeling" :device="device" class="jm-dialog" @close="openModeling = false"></Jm>
......
......@@ -135,7 +135,7 @@ export default {
*/
onClear() {
let dataSet = this.$store.state.MMCMQTT.dataSet;
dataSet[this.hangar.hardId][3] = null;
dataSet[this.hangar.deviceId][3] = null;
this.$store.commit("MMCMQTT/setState", {
key: "dataSet",
value: {
......
......@@ -33,7 +33,7 @@
>
<el-checkbox
:disabled="device.online !== 1"
:value="hangar && device.hardId === hangar.hardId && device.isCheck"
:value="hangar && device.deviceId === hangar.deviceId && device.isCheck"
@change="(e) => handClick(e, device)"
></el-checkbox>
</el-tooltip>
......
......@@ -7,10 +7,10 @@ export default {
...mapState("MMCFlightControlCenter/uav", ["uav"]),
// mqtt实时数据
mqttDataSetHangar() {
return this.$store.state.MMCMQTT?.dataSet?.[this.hangar?.hardId];
return this.$store.state.MMCMQTT?.dataSet?.[this.hangar?.deviceId];
},
mqttDataSetUav() {
return this.$store.state.MMCMQTT?.dataSet?.[this.uav?.hardId];
return this.$store.state.MMCMQTT?.dataSet?.[this.uav?.deviceId];
},
mqttUrl() {
return this.$store.getters["MMCFlightControlCenter/mqttUrl"];
......
......@@ -276,7 +276,7 @@ export default {
},
},
mounted() {
this.GAStopic = "GAS/RECEIVE/" + this.$uav.hardId;
this.GAStopic = "GAS/RECEIVE/" + this.$uav.deviceId;
// this.initMqtt();
this.click_billboard();
},
......@@ -392,7 +392,7 @@ export default {
this.statrTime = setInterval(async () => {
const data = await Control_API.gasRecords({
size: 1,
mountHardId: this.$uav.hardId,
mountHardId: this.$uav.deviceId,
sort: "-id",
// startTime: dayjs().format("YYYY-MM-DD HH:mm:ss"),
});
......@@ -411,10 +411,10 @@ export default {
}, 1000);
},
async opengasRecordsFn() {
await Control_API.opengasRecords(this.$uav.hardId);
await Control_API.opengasRecords(this.$uav.deviceId);
},
async delgasRecordsFn() {
await Control_API.delgasRecords(this.$uav.hardId);
await Control_API.delgasRecords(this.$uav.deviceId);
},
switchFn() {
if (this.GSAFlag) {
......@@ -464,7 +464,7 @@ export default {
if (GSAentities.length == 0) {
let entities = viewer.entities;
console.log(entities, "entities");
this.uavModel = entities.getById(`model_${this.$uav.hardId}`);
this.uavModel = entities.getById(`model_${this.$uav.deviceId}`);
console.log(this.uavModel, "this.uavModel");
if (this.uavModel) {
let time = Cesium.JulianDate.now();
......
......@@ -27,12 +27,12 @@
<img class="left-bar-item__icon" src="./assets/images/ksjm.png" />
<div class="left-bar-item__text">快速建模</div>
</div> -->
<Face v-if="openFace" class="ai-dialog" :uavId="uav.hardId" @close="openFace = false" />
<Car v-if="openPlate" class="ai-dialog" :uavId="uav.hardId" @close="openPlate = false" />
<Face v-if="openFace" class="ai-dialog" :uavId="uav.deviceId" @close="openFace = false" />
<Car v-if="openPlate" class="ai-dialog" :uavId="uav.deviceId" @close="openPlate = false" />
<Traffic
v-if="openTraffic"
class="ai-dialog"
:uavId="uav.hardId"
:uavId="uav.deviceId"
@close="openTraffic = false"
/>
<Jm v-if="openModeling" :device="device" class="jm-dialog" @close="openModeling = false"></Jm>
......
......@@ -86,7 +86,7 @@ export default {
},
type: 531,
};
let topic = `PX4/OBTAIN/${this.uav.hardId}`;
let topic = `PX4/OBTAIN/${this.uav.deviceId}`;
this.$store.dispatch("MMCMQTT/publish", {
topic,
data,
......@@ -105,7 +105,7 @@ export default {
},
type: 531,
};
let topic = `PX4/OBTAIN/${this.uav.hardId}`;
let topic = `PX4/OBTAIN/${this.uav.deviceId}`;
this.$store.dispatch("MMCMQTT/publish", {
topic,
data,
......@@ -124,7 +124,7 @@ export default {
},
type: 531,
};
let topic = `PX4/OBTAIN/${this.uav.hardId}`;
let topic = `PX4/OBTAIN/${this.uav.deviceId}`;
this.$store.dispatch("MMCMQTT/publish", {
topic,
data,
......@@ -143,7 +143,7 @@ export default {
},
type: 531,
};
let topic = `PX4/OBTAIN/${this.uav.hardId}`;
let topic = `PX4/OBTAIN/${this.uav.deviceId}`;
this.$store.dispatch("MMCMQTT/publish", {
topic,
data,
......
......@@ -60,7 +60,7 @@ export default {
},
onClear() {
let dataSet = this.$store.state.MMCMQTT.dataSet;
dataSet[this.uav.hardId][270] = null;
dataSet[this.uav.deviceId][270] = null;
this.$store.commit("MMCMQTT/setState", {
key: "dataSet",
value: {
......
......@@ -188,7 +188,7 @@ export default {
endTime: this.search.endTime,
pageNo: this.search.pageNo,
pageSize: this.search.pageSize,
deviceHardId: this.uav.hardId,
deviceHardId: this.uav.deviceId,
mark: this.type == "VPN" ? "公网" : this.type == "SPE" ? "专网" : "",
};
this.flag = false;
......
......@@ -104,7 +104,7 @@
/>
<MountController
@webscoketFn="(data) => fun(data)"
v-if="uav && uav.hardId"
v-if="uav && uav.deviceId"
ref="MountControllerRef"
/>
<AlarmLamp v-if="showAlarmLamp" :uav="uav" @close="showAlarmLamp = false" />
......
......@@ -5,14 +5,14 @@
class="timeStr"
ref="timeStr"
:class="infoflag ? 'timeStrStyle' : ''"
v-if="device.hardId"
v-if="device.deviceId"
v-show="isInfoShow && !device.videos.osd"
>{{ timeStr || "" }}</div>
<div
class="wsDataleft"
ref="wsDataleft"
:class="infoflag ? 'leftStyle' : ''"
v-if="device.hardId"
v-if="device.deviceId"
v-show="isInfoShow && !device.videos.osd"
>
<div>经度:{{ wsData.longitude || 0 }}</div>
......@@ -25,7 +25,7 @@
class="wsDataright"
ref="wsDataright"
:class="infoflag ? 'rightStyle' : ''"
v-if="device.hardId"
v-if="device.deviceId"
v-show="isInfoShow && !device.videos.osd"
>
<div>盐城</div>
......
......@@ -395,7 +395,7 @@
</div>
</div>
<FaceAI v-if="faceAiShow" :uavId="pid" @closeface="faceAiShow = false" />
<CarAI v-if="carAiShow" :uavId="device.hardId" :list="carList" @closecar="carAiShow = false" />
<CarAI v-if="carAiShow" :uavId="device.deviceId" :list="carList" @closecar="carAiShow = false" />
<Traffic v-if="trafficShow" :trafficData="trafficData" @close="trafficShow = false" />
<carTraffic
v-if="cartrafficShow"
......@@ -750,7 +750,7 @@ export default {
},
async checkUseOperateFn(device) {
// 查看是否有控制权限
let res = await API.FCKERNEL.checkUseOperate({ hardId: device });
let res = await API.FCKERNEL.checkUseOperate({ deviceId: device });
if (res.code == 201) {
this.$message.warning(res.msg);
return false;
......@@ -763,7 +763,7 @@ export default {
},
async VideoModelChange() {
let res = await API.FCKERNEL.checkUseOperate({
hardId: this.device.hardId,
deviceId: this.device.deviceId,
});
if (res.code == 201) {
this.$message.warning(res.msg);
......@@ -820,11 +820,11 @@ export default {
},
//车流密度
async carFrame() {
this.carFlow(this.device.hardId);
this.carFlow(this.device.deviceId);
},
//人流密度
async frame() {
this.flow(this.device.hardId);
this.flow(this.device.deviceId);
},
/**
* 截图
......@@ -880,7 +880,7 @@ export default {
//游泳识别
async aiIdentifyType(aiType) {
const data = {
hardId: this.device.hardId,
deviceId: this.device.deviceId,
mqttType: true,
aiType,
id: this.device.id,
......@@ -894,7 +894,7 @@ export default {
const data = new FormData();
data.append("addtime", dayjs().format("YYYY-MM-DD HH:mm:ss"));
data.append("file", blob);
data.append("hardId", this.device.hardId);
data.append("deviceId", this.device.deviceId);
data.append("name", this.device.name);
data.append("imageType", 1);
data.append("sortie", this.flightSortie || "");
......@@ -922,7 +922,7 @@ export default {
// 人脸车牌识别
handle(command) {
// this.getcanvas(command);
this.getcanvasFaceCar(command, this.device.hardId, this.device.id);
this.getcanvasFaceCar(command, this.device.deviceId, this.device.id);
},
/**
* 居中
......@@ -954,7 +954,7 @@ export default {
// if mountStatus =1 代表启用 屏幕指点功能
if (
mountData.mountStatus == 1 &&
device.hardId == mountData.hardId &&
device.deviceId == mountData.deviceId &&
mountData.moveType == "wrj"
) {
let evt = window.event || el;
......@@ -993,7 +993,7 @@ export default {
let mounteList = { data: buffer, ...mountData };
if (buffer) {
if (this.device.network === 1) {
let topic = "PX4/OBTAIN/" + this.device.hardId;
let topic = "PX4/OBTAIN/" + this.device.deviceId;
this.$store.dispatch("MMCMQTT/publish", {
topic: topic,
data: {
......@@ -1018,7 +1018,7 @@ export default {
cmdBuffer: mounteList.data.join(","),
cmdName: mounteList.name,
},
deviceHardId: mounteList.hardId,
deviceHardId: mounteList.deviceId,
};
this.$store.dispatch("MMCGroundStation/publish", sendData);
}
......
......@@ -15,18 +15,18 @@
/>
</div>
<div class="online-info">
(共 {{data.online + data.offline}}
(共 {{data.onLineCount + data.offLineCount}}
<span
class="ml10"
:class="{ online: data.online }"
>{{ data.online }} 在线</span>
:class="{ online: data.onLineCount }"
>{{ data.onLineCount }} 在线</span>
/
{{ data.offline }} 离线)
{{ data.offLineCount }} 离线)
</div>
</div>
<div class="uav-item-child-box" :class="{ collapse: data.collapse }">
<Item
v-for="child in data.childs"
v-for="child in data.child"
:key="child.id"
:data="child"
:level="level+1"
......@@ -34,20 +34,25 @@
/>
<div
class="device-item-box"
:class="{ online: device.online == 1 }"
v-for="device in data.uavs"
:key="`device_${device.id}`"
:class="{ online: device.status == 1 }"
v-for="device in data.driveMonitorReqVOList"
:key="`device_${device.deviceId}`"
>
<div class="device-name">
<!-- <span
style="margin-right:10px"
:class="device.status==1&&device.currentOperator==1? 'blue' : device.status==1&&device.currentOperator!=1 ?'yellow':'' "
:title="device.name"
>{{device.name}}</span> -->
<span
style="margin-right:10px"
:class="device.online==1&&device.currentOperator==1? 'blue' : device.online==1&&device.currentOperator!=1 ?'yellow':'' "
:class="'blue'"
:title="device.name"
>{{device.name}}</span>
<span style="color:#31DB24 " class="dib" v-if=" device.online == 1 ">(在线)</span>
<span style="color:#31DB24 " class="dib" v-if=" device.status == 1 ">(在线)</span>
<span v-else class="dib">(离线)</span>
<div class="symbol-icon-box">
<template v-if="device.modelName && device.modelName.includes('入云龙1')">
<!-- <template v-if="device.modelName && device.modelName.includes('入云龙1')">
<div class="uav_version status-icon cp">
<img src="./assets/images/I.svg" />
</div>
......@@ -62,25 +67,31 @@
<div class="uav_version status-icon cp">
<img src="./assets/images/cq.svg" />
</div>
</template> -->
<template>
<div class="uav_version status-icon cp">
<img src="./assets/images/I.svg" />
<img src="./assets/images/I.svg" />
</div>
</template>
</div>
</div>
<div class="device-fns">
<div
class="iconfont icon-luxiang_xianxing"
:class="{ active: uav && device.id === uav.id && uav.showPlayer }"
:class="{ active: uav && device.deviceId === uav.deviceId && uav.showPlayer }"
title="视频"
@click="onShowPlayer(device)"
></div>
<div
v-if="device.online"
v-if="device.status"
class="iconfont icon-kongzhi_xianxing"
:class="{ active: uav && device.id === uav.id && uav.showPanel }"
:class="{ active: uav && device.deviceId === uav.deviceId && uav.showPanel }"
title="控制面板"
@click="onShowPanel(device)"
></div>
<div class="jieg" title="接管无人机 " v-if="device.online" @click="onTakeOver(device)">
<div class="jieg" title="接管无人机 " v-if="device.status" @click="onTakeOver(device)">
<img src="./assets/images/jieguan_active.svg" v-if="device.currentOperator" />
<img src="./assets/images/jieguan.svg" v-else />
</div>
......@@ -181,7 +192,7 @@ export default {
*/
async onShowPanel(item) {
// 选中与取消选中
if (this.uav?.hardId === item.hardId) {
if (this.uav?.deviceId === item.deviceId) {
// 已打开播放器的情况下只需要展示数据面板
if (this.showPlayer && !this.showPanel) {
this.$store.commit("MMCFlightControlCenter/uav/setState", {
......@@ -215,12 +226,6 @@ export default {
if (this.uav) {
this.$store.dispatch("MMCFlightControlCenter/uav/unsubscribe");
}
if (!item.streamConfiguration) {
let res = await Control_API.uavDetail({
id: item.id,
});
item.streamConfiguration = res.data.streamConfiguration;
}
this.$store.commit("MMCFlightControlCenter/uav/setState", {
key: "showPanel",
value: true,
......@@ -258,7 +263,7 @@ export default {
*/
async onShowPlayer(item) {
// 选中与取消选中
if (this.uav?.hardId === item.hardId) {
if (this.uav?.deviceId === item.deviceId) {
if (this.showPlayer) {
// 已显示播放器则关掉
this.$store.commit("MMCFlightControlCenter/uav/setState", {
......@@ -279,11 +284,11 @@ export default {
}
} else {
// 在未打开播放器的情况下,有uav信息,到此步时肯定已经展开了面板,判断是否有流媒体信息, 并显示播放器
if (!this.uav.streamConfiguration) {
if (!this.uav.deviceStreamReqVOList) {
let res = await Control_API.uavDetail({
id: item.id,
});
item.streamConfiguration = res.data.streamConfiguration;
item.deviceStreamReqVOList = res.data.deviceStreamReqVOList;
}
this.$store.commit("MMCFlightControlCenter/uav/setState", {
key: "showPlayer",
......@@ -315,7 +320,7 @@ export default {
let res = await Control_API.uavDetail({
id: item.id,
});
item.streamConfiguration = res.data.streamConfiguration;
item.deviceStreamReqVOList = res.data.deviceStreamReqVOList;
this.$store.commit("MMCFlightControlCenter/uav/setState", {
key: "showPlayer",
value: true,
......
......@@ -29,7 +29,7 @@
"updatetime": "2024-03-18 15:15:18",
"name": "肇庆无人机test",
"sn": "3987462549735735363",
"hardId": "3987462549735735363",
"deviceId": "3987462549735735363",
"status": 1,
"online": 0,
"cateId": 39,
......@@ -64,7 +64,7 @@
"updatetime": "2024-03-16 14:02:52",
"name": "mock-小旋风II-交通事故处置-006",
"sn": "mock-小旋风-deviceHardId-006",
"hardId": "mock-小旋风-deviceHardId-006",
"deviceId": "mock-小旋风-deviceHardId-006",
"status": 1,
"online": 1,
"cateId": 39,
......@@ -99,7 +99,7 @@
"updatetime": "2024-03-16 14:04:37",
"name": "mock-入云龙-景区安全巡查-002",
"sn": "mock-小旋风-deviceHardId-002",
"hardId": "mock-小旋风-deviceHardId-002",
"deviceId": "mock-小旋风-deviceHardId-002",
"status": 1,
"online": 1,
"cateId": 39,
......@@ -138,7 +138,7 @@
"updatetime": "2024-02-27 16:23:57",
"name": "MMC301R22205363",
"sn": "MMC301R22205363",
"hardId": "MMC301R22205363",
"deviceId": "MMC301R22205363",
"status": 1,
"online": 0,
"cateId": 39,
......@@ -173,7 +173,7 @@
"updatetime": "2024-03-05 09:11:02",
"name": "盐城8189",
"sn": "MMC301R22208189",
"hardId": "MMC301R22208189",
"deviceId": "MMC301R22208189",
"status": 1,
"online": 0,
"cateId": 39,
......@@ -208,7 +208,7 @@
"updatetime": "2024-03-18 14:57:30",
"name": "盐城气体检测",
"sn": "4852153673897607219",
"hardId": "4852153673897607219",
"deviceId": "4852153673897607219",
"status": 1,
"online": 0,
"cateId": 39,
......@@ -243,7 +243,7 @@
"updatetime": "2024-02-08 14:38:38",
"name": "盐城气体检测无人机",
"sn": "MMC301R22208140",
"hardId": "MMC301R22208140",
"deviceId": "MMC301R22208140",
"status": 1,
"online": 0,
"cateId": 39,
......@@ -278,7 +278,7 @@
"updatetime": "2024-03-18 14:43:46",
"name": "盐城鹰巢",
"sn": "LMMC3R2KUAV202311001",
"hardId": "LMMC3R2KUAV202311001",
"deviceId": "LMMC3R2KUAV202311001",
"status": 1,
"online": 0,
"cateId": 39,
......@@ -313,7 +313,7 @@
"updatetime": "2024-03-15 13:44:31",
"name": "测试鹰巢",
"sn": "MMC301X22306027",
"hardId": "MMC301X22306027",
"deviceId": "MMC301X22306027",
"status": 1,
"online": 0,
"cateId": 39,
......@@ -348,7 +348,7 @@
"updatetime": "2023-12-28 11:11:38",
"name": "鹰巢2",
"sn": "MMC301X22306038",
"hardId": "MMC301X22306038",
"deviceId": "MMC301X22306038",
"status": 1,
"online": 0,
"cateId": 39,
......@@ -383,7 +383,7 @@
"updatetime": "2023-12-28 15:33:21",
"name": "鹰巢22222",
"sn": "MMC301X22306023",
"hardId": "MMC301X22306023",
"deviceId": "MMC301X22306023",
"status": 1,
"online": 0,
"cateId": 39,
......@@ -418,7 +418,7 @@
"updatetime": "2023-12-28 15:33:48",
"name": "大疆001",
"sn": "1234561",
"hardId": "1234561",
"deviceId": "1234561",
"status": 1,
"online": 0,
"cateId": 45,
......@@ -453,7 +453,7 @@
"updatetime": "2023-12-28 15:33:50",
"name": "测试设备",
"sn": "1234567891234567891012",
"hardId": "1234567891012",
"deviceId": "1234567891012",
"status": 1,
"online": 0,
"cateId": 39,
......@@ -488,7 +488,7 @@
"updatetime": "2024-03-18 10:32:40",
"name": "mock-入云龙II-应急救援抛投-007",
"sn": "mock-小旋风-deviceHardId-007",
"hardId": "mock-小旋风-deviceHardId-007",
"deviceId": "mock-小旋风-deviceHardId-007",
"status": 1,
"online": 1,
"cateId": 39,
......@@ -523,7 +523,7 @@
"updatetime": "2024-03-13 18:25:04",
"name": "mock-入云龙II-洪涝灾害应急巡查-001",
"sn": "mock-小旋风-deviceHardId-001",
"hardId": "mock-小旋风-deviceHardId-001",
"deviceId": "mock-小旋风-deviceHardId-001",
"status": 1,
"online": 1,
"cateId": 39,
......@@ -583,7 +583,7 @@
"updatetime": "2023-09-07 09:43:47",
"name": "乌鲁木齐市-入云龙2",
"sn": "3472927426180284439",
"hardId": "3472927426180284439",
"deviceId": "3472927426180284439",
"status": 1,
"online": 0,
"cateId": 46,
......@@ -626,7 +626,7 @@
"updatetime": "2023-12-26 17:50:23",
"name": "福建科比特红",
"sn": "4852153630946099246",
"hardId": "4852153630946099246",
"deviceId": "4852153630946099246",
"status": 1,
"online": 0,
"cateId": 39,
......@@ -661,7 +661,7 @@
"updatetime": "2024-03-04 16:13:18",
"name": "福建无人机",
"sn": "6427006125642350639",
"hardId": "6427006125642350639",
"deviceId": "6427006125642350639",
"status": 1,
"online": 0,
"cateId": 39,
......@@ -704,7 +704,7 @@
"updatetime": "2023-08-25 15:34:34",
"name": "山西指挥车入云龙",
"sn": "3617042597074960431",
"hardId": "3617042597074960431",
"deviceId": "3617042597074960431",
"status": 1,
"online": 0,
"cateId": 46,
......@@ -747,7 +747,7 @@
"updatetime": "2024-02-26 17:27:41",
"name": "神思项目测试",
"sn": "3987462549734752306",
"hardId": "3987462549734752306",
"deviceId": "3987462549734752306",
"status": 1,
"online": 0,
"cateId": 39,
......@@ -782,7 +782,7 @@
"updatetime": "2024-02-26 18:40:51",
"name": "神思入云龙2",
"sn": "MMC301R22208087",
"hardId": "MMC301R22208087",
"deviceId": "MMC301R22208087",
"status": 1,
"online": 0,
"cateId": 39,
......@@ -817,7 +817,7 @@
"updatetime": "2024-03-13 18:25:04",
"name": "mock-小旋风II-河长制水利常态化巡查-004",
"sn": "mock-小旋风-deviceHardId-004",
"hardId": "mock-小旋风-deviceHardId-004",
"deviceId": "mock-小旋风-deviceHardId-004",
"status": 1,
"online": 1,
"cateId": 39,
......@@ -860,7 +860,7 @@
"updatetime": "2024-03-18 10:59:32",
"name": "肇庆鹰巢",
"sn": "LMMC3X2KUAV202311051",
"hardId": "LMMC3X2KUAV202311051",
"deviceId": "LMMC3X2KUAV202311051",
"status": 1,
"online": 0,
"cateId": 39,
......@@ -895,7 +895,7 @@
"updatetime": "2024-03-11 15:02:59",
"name": "入云龙2",
"sn": "6427006134231695394",
"hardId": "6427006134231695394",
"deviceId": "6427006134231695394",
"status": 1,
"online": 0,
"cateId": 39,
......@@ -938,7 +938,7 @@
"updatetime": "2023-11-24 10:47:57",
"name": "M10-1",
"sn": "YYD700000200",
"hardId": "YYD700000200",
"deviceId": "YYD700000200",
"status": 1,
"online": 0,
"cateId": 39,
......@@ -988,7 +988,7 @@
"updatetime": "2024-03-13 18:25:04",
"name": "mock-小旋风II-AI车辆识别巡查-005",
"sn": "mock-小旋风-deviceHardId-005",
"hardId": "mock-小旋风-deviceHardId-005",
"deviceId": "mock-小旋风-deviceHardId-005",
"status": 1,
"online": 1,
"cateId": 39,
......@@ -1023,7 +1023,7 @@
"updatetime": "2024-03-13 18:25:04",
"name": "mock-入云龙-防溺水巡查-003",
"sn": "mock-小旋风-deviceHardId-003",
"hardId": "mock-小旋风-deviceHardId-003",
"deviceId": "mock-小旋风-deviceHardId-003",
"status": 1,
"online": 1,
"cateId": 39,
......@@ -1069,7 +1069,7 @@
"updatetime": "2023-12-20 14:55:44",
"name": "无人机1",
"sn": "3987462545440571438",
"hardId": "3987462545440571438",
"deviceId": "3987462545440571438",
"status": 1,
"online": 0,
"cateId": 39,
......@@ -1104,7 +1104,7 @@
"updatetime": "2023-12-19 11:12:41",
"name": "福建公安版",
"sn": "XLC100000200",
"hardId": "XLC100000200",
"deviceId": "XLC100000200",
"status": 1,
"online": 0,
"cateId": 39,
......@@ -1139,7 +1139,7 @@
"updatetime": "2023-12-19 11:12:37",
"name": "福建标准版",
"sn": "IPE000000200",
"hardId": "IPE000000200",
"deviceId": "IPE000000200",
"status": 1,
"online": 0,
"cateId": 39,
......@@ -1174,7 +1174,7 @@
"updatetime": "2023-12-19 11:12:47",
"name": "肇庆测试机",
"sn": "3617042524062351414",
"hardId": "3617042524062351414",
"deviceId": "3617042524062351414",
"status": 1,
"online": 0,
"cateId": 39,
......@@ -1209,7 +1209,7 @@
"updatetime": "2024-01-31 11:33:41",
"name": "MMC9058",
"sn": "MMC301R22209058",
"hardId": "MMC301R22209058",
"deviceId": "MMC301R22209058",
"status": 1,
"online": 0,
"cateId": 39,
......@@ -1244,7 +1244,7 @@
"updatetime": "2023-12-19 11:11:30",
"name": "飞控中心无人机",
"sn": "MMC301R22208058",
"hardId": "MMC301R22208058",
"deviceId": "MMC301R22208058",
"status": 1,
"online": 0,
"cateId": 39,
......@@ -1279,7 +1279,7 @@
"updatetime": "2023-12-19 11:11:03",
"name": "肇庆无人机5",
"sn": "3987462545441423395",
"hardId": "3987462545441423395",
"deviceId": "3987462545441423395",
"status": 1,
"online": 0,
"cateId": 39,
......@@ -1314,7 +1314,7 @@
"updatetime": "2023-12-19 11:11:22",
"name": "肇庆无人机2",
"sn": "3617042597077385265",
"hardId": "3617042597077385265",
"deviceId": "3617042597077385265",
"status": 1,
"online": 0,
"cateId": 39,
......@@ -1349,7 +1349,7 @@
"updatetime": "2024-03-13 16:37:30",
"name": "肇庆无人机",
"sn": "3987462549736914976",
"hardId": "3987462549736914976",
"deviceId": "3987462549736914976",
"status": 1,
"online": 0,
"cateId": 40,
......
......@@ -3,11 +3,11 @@ export default {
computed: {
// mqtt实时数据
mqttDataSet() {
return this.$store.state.MMCMQTT?.dataSet?.[this.uav?.hardId];
return this.$store.state.MMCMQTT?.dataSet?.[this.uav?.deviceId];
},
// 地面站实时数据
gsDataSet() {
return this.$store.state.MMCGroundStation?.dataSet?.[this.uav?.hardId];
return this.$store.state.MMCGroundStation?.dataSet?.[this.uav?.deviceId];
},
mqttUrl() {
return this.$store.getters["MMCFlightControlCenter/mqttUrl"];
......
......@@ -193,7 +193,7 @@ export default {
});
this.$store.commit("MMCFlightControlCenter/setState", {
key: "token",
value: this.userInfo.token,
value: this.userInfo.accessToken,
});
this.$store.commit("MMCFlightControlCenter/setState", {
key: "userInfo",
......
......@@ -116,17 +116,17 @@ const actions = {
*/
subscribe({ state, dispatch }) {
window.$mmc.$store.dispatch("MMCMQTT/subscribe", {
topic: "APRON/RECEIVE/" + state.hangar.hardId,
topic: "APRON/RECEIVE/" + state.hangar.deviceId,
callback(ok) {
ok &&
console.log("mqtt订阅主题", "APRON/RECEIVE/" + state.hangar.hardId);
console.log("mqtt订阅主题", "APRON/RECEIVE/" + state.hangar.deviceId);
},
});
window.$mmc.$store.dispatch("MMCMQTT/subscribe", {
topic: "PROCESS/RECEIVE/" + state.hangar.hardId,
topic: "PROCESS/RECEIVE/" + state.hangar.deviceId,
callback(ok) {
ok &&
console.log("mqtt订阅主题", "PROCESS/RECEIVE/" + state.hangar.hardId);
console.log("mqtt订阅主题", "PROCESS/RECEIVE/" + state.hangar.deviceId);
},
});
},
......@@ -136,22 +136,22 @@ const actions = {
*/
unsubscribe({ state, dispatch }) {
window.$mmc.$store.dispatch("MMCMQTT/unsubscribe", {
topic: "APRON/RECEIVE/" + state.hangar.hardId,
topic: "APRON/RECEIVE/" + state.hangar.deviceId,
callback(ok) {
ok &&
console.log(
"mqtt取消订阅主题",
"APRON/RECEIVE/" + state.hangar.hardId
"APRON/RECEIVE/" + state.hangar.deviceId
);
},
});
window.$mmc.$store.dispatch("MMCMQTT/unsubscribe", {
topic: "PROCESS/RECEIVE/" + state.hangar.hardId,
topic: "PROCESS/RECEIVE/" + state.hangar.deviceId,
callback(ok) {
ok &&
console.log(
"mqtt取消订阅主题",
"PROCESS/RECEIVE/" + state.hangar.hardId
"PROCESS/RECEIVE/" + state.hangar.deviceId
);
},
});
......@@ -178,7 +178,7 @@ const actions = {
*/
out({ state, commit, dispatch }, data) {
window.$mmc.$store.dispatch("MMCMQTT/publish", {
topic: "PROCESS/OBTAIN/" + state.hangar.hardId,
topic: "PROCESS/OBTAIN/" + state.hangar.deviceId,
data: {
cmdControlType: 2059,
},
......@@ -194,7 +194,7 @@ const actions = {
*/
in({ state, commit, dispatch }, data) {
window.$mmc.$store.dispatch("MMCMQTT/publish", {
topic: "PROCESS/OBTAIN/" + state.hangar.hardId,
topic: "PROCESS/OBTAIN/" + state.hangar.deviceId,
data: {
cmdControlType: 2073,
},
......@@ -210,7 +210,7 @@ const actions = {
*/
chargeStart({ state, commit, dispatch }, data) {
window.$mmc.$store.dispatch("MMCMQTT/publish", {
topic: "PROCESS/OBTAIN/" + state.hangar.hardId,
topic: "PROCESS/OBTAIN/" + state.hangar.deviceId,
data: {
cmdControlType: 2060,
},
......@@ -226,7 +226,7 @@ const actions = {
*/
chargeEnd({ state, commit, dispatch }, data) {
window.$mmc.$store.dispatch("MMCMQTT/publish", {
topic: "PROCESS/OBTAIN/" + state.hangar.hardId,
topic: "PROCESS/OBTAIN/" + state.hangar.deviceId,
data: {
cmdControlType: 2071,
},
......@@ -242,7 +242,7 @@ const actions = {
*/
warmUp({ state, commit, dispatch }, data) {
window.$mmc.$store.dispatch("MMCMQTT/publish", {
topic: "PROCESS/OBTAIN/" + state.hangar.hardId,
topic: "PROCESS/OBTAIN/" + state.hangar.deviceId,
data: {
cmdControlType: 2072,
},
......@@ -258,7 +258,7 @@ const actions = {
*/
dormancy({ state, commit, dispatch }, data) {
window.$mmc.$store.dispatch("MMCMQTT/publish", {
topic: "PROCESS/OBTAIN/" + state.hangar.hardId,
topic: "PROCESS/OBTAIN/" + state.hangar.deviceId,
data: {
cmdControlType: 2061,
},
......@@ -274,7 +274,7 @@ const actions = {
*/
processExit({ state, commit, dispatch }, data) {
window.$mmc.$store.dispatch("MMCMQTT/publish", {
topic: "PROCESS/OBTAIN/" + state.hangar.hardId,
topic: "PROCESS/OBTAIN/" + state.hangar.deviceId,
data: {
cmdControlType: 100001,
},
......@@ -294,15 +294,15 @@ const actions = {
// 生成架次號
const getFlightSortic = await Control_API.getFlightSortic({
taskId: state.airlineData.id,
deviceHardId: data.uav.hardId,
deviceHardId: data.uav.deviceId,
});
// 一键任务指令
const waypointList = state.airlineData?.content;
window.$mmc.$store.dispatch("MMCMQTT/publish", {
topic: "PROCESS/OBTAIN/" + state.hangar.hardId,
topic: "PROCESS/OBTAIN/" + state.hangar.deviceId,
data: {
cmdControlType: 100004,
uavDeviceId: data.uav.hardId,
uavDeviceId: data.uav.deviceId,
wayLineObj: {
taskId: state.airlineData.id,
flightSortiesID: getFlightSortic.data,
......
......@@ -283,7 +283,7 @@ const actions = {
},
// 通过mqtt更新实时采集数据
updateByMQTT({ commit, state, dispatch }, data) {
if (state.uav.network == 1) {
if (state.uav.network == 2) {
// console.log(data,'datadata');
// mqtt链路
const type258 = data[258]?.data || {};
......@@ -448,9 +448,9 @@ const actions = {
subscribe({ state, dispatch }) {
if (state.uav.network === 1) {
window.$mmc.$store.dispatch("MMCMQTT/subscribe", {
topic: "PX4/RECEIVE/" + state.uav.hardId,
topic: "PX4/RECEIVE/" + state.uav.deviceId,
callback(ok) {
ok && console.log("mqtt订阅主题", "PX4/RECEIVE/" + state.uav.hardId);
ok && console.log("mqtt订阅主题", "PX4/RECEIVE/" + state.uav.deviceId);
},
});
} else {
......@@ -474,7 +474,7 @@ const actions = {
// 订阅取数据不一定有用, ws的订阅需要后端做了处理才生效, 未处理则会收到所有无人机的数据, 负担非常大
window.$mmc.$store.dispatch(
"MMCGroundStation/subscribe",
state.uav.hardId
state.uav.deviceId
);
},
})
......@@ -493,17 +493,17 @@ const actions = {
unsubscribe({ state, dispatch }) {
if (state.uav.network === 1) {
window.$mmc.$store.dispatch("MMCMQTT/unsubscribe", {
topic: "PX4/RECEIVE/" + state.uav.hardId,
topic: "PX4/RECEIVE/" + state.uav.deviceId,
callback(ok) {
ok &&
console.log("mqtt取消订阅主题", "PX4/RECEIVE/" + state.uav.hardId);
console.log("mqtt取消订阅主题", "PX4/RECEIVE/" + state.uav.deviceId);
},
});
} else {
// 地面站取消订阅后需要关闭ws连接
window.$mmc.$store.dispatch(
"MMCGroundStation/unsubscribe",
state.uav.hardId
state.uav.deviceId
);
window.$mmc.$store.dispatch("MMCGroundStation/end");
}
......@@ -531,7 +531,7 @@ const actions = {
// 'modelRequest'
// );
const entity = window.$mmc.viewer.entities.add({
id: "model_" + state.uav.hardId,
id: "model_" + state.uav.deviceId,
orientation: new Cesium.CallbackProperty(() => {
const posData = UAVDataParser(state.uavRealTimeData);
return posData.orientation;
......@@ -573,7 +573,7 @@ const actions = {
if (!state.airlineEntity) {
// 创建航线
const airlineEntity = window.$mmc.viewer.entities.add({
id: "airline_" + state.uav.hardId,
id: "airline_" + state.uav.deviceId,
polyline: {
positions: new Cesium.CallbackProperty((time, result) => {
return positions;
......@@ -611,17 +611,17 @@ const actions = {
*/
async takeOff({ state }, data) {
console.log(state.airlineData, data);
if (state.uav.network == 1) {
if (state.uav.network == 2) {
try {
// 生成架次號
const getFlightSortic = await Control_API.getFlightSortic({
taskId: state.airlineData.id,
deviceHardId: state.uav.hardId,
deviceHardId: state.uav.deviceId,
});
// 上传航线指令
const waypointList = state.airlineData?.content;
window.$mmc.$store.dispatch("MMCMQTT/publish", {
topic: "PX4/OBTAIN/" + state.uav.hardId,
topic: "PX4/OBTAIN/" + state.uav.deviceId,
data: {
type: window.$mmc.$store.state.MMCMQTT.orders.航线上传,
data: {
......@@ -640,7 +640,7 @@ const actions = {
// 告诉飞控开始任务,并且把架次号和 任务id传过去
window.$mmc.$store.dispatch("MMCMQTT/publish", {
topic: "PX4/OBTAIN/" + state.uav.hardId,
topic: "PX4/OBTAIN/" + state.uav.deviceId,
data: {
type: window.$mmc.$store.state.MMCMQTT.orders.绑定任务id,
data: {
......@@ -656,7 +656,7 @@ const actions = {
// 起飞指令
setTimeout(() => {
window.$mmc.$store.dispatch("MMCMQTT/publish", {
topic: "PX4/OBTAIN/" + state.uav.hardId,
topic: "PX4/OBTAIN/" + state.uav.deviceId,
data: {
type: window.$mmc.$store.state.MMCMQTT.orders.航线一键起飞,
data: {
......@@ -680,7 +680,7 @@ const actions = {
data: {
cmdValue: state.airlineData?.id,
},
deviceHardId: state.uav.hardId,
deviceHardId: state.uav.deviceId,
});
// 起飞指令
......@@ -688,7 +688,7 @@ const actions = {
window.$mmc.$store.dispatch("MMCGroundStation/order", {
order: "起飞",
data: {},
deviceHardId: state.uav.hardId,
deviceHardId: state.uav.deviceId,
});
data?.callback && data.callback(true);
}, 3000);
......@@ -700,11 +700,11 @@ const actions = {
*/
async takeEnd({ state }, data) {
console.log(state.airlineData, data);
if (state.uav.network == 1) {
if (state.uav.network == 2) {
try {
// 结束航线指令
window.$mmc.$store.dispatch("MMCMQTT/publish", {
topic: "PX4/OBTAIN/" + state.uav.hardId,
topic: "PX4/OBTAIN/" + state.uav.deviceId,
data: {
type: 525,
data: null,
......@@ -726,7 +726,7 @@ const actions = {
cmdFunction: 2280,
taskId: state.airlineData.id,
},
deviceHardId: state.uav.hardId,
deviceHardId: state.uav.deviceId,
});
} catch (e) {
console.log("任务结束失败", e);
......@@ -738,7 +738,7 @@ const actions = {
// window.$mmc.$store.dispatch("MMCGroundStation/order", {
// order: "起飞",
// data: {},
// deviceHardId: state.uav.hardId,
// deviceHardId: state.uav.deviceId,
// });
// data?.callback && data.callback(true);
// }, 3000);
......@@ -750,9 +750,9 @@ const actions = {
* @param {*} data
*/
land({ state }, data) {
if (state.uav.network == 1) {
if (state.uav.network == 2) {
window.$mmc.$store.dispatch("MMCMQTT/publish", {
topic: "PX4/OBTAIN/" + state.uav.hardId,
topic: "PX4/OBTAIN/" + state.uav.deviceId,
data: {
type: window.$mmc.$store.state.MMCMQTT.orders.原地降落,
},
......@@ -765,7 +765,7 @@ const actions = {
window.$mmc.$store.dispatch("MMCGroundStation/order", {
order: "降落",
data: {},
deviceHardId: state.uav.hardId,
deviceHardId: state.uav.deviceId,
});
data?.callback && data.callback(true);
}
......@@ -776,9 +776,9 @@ const actions = {
* @param {*} data
*/
pauseFly({ state }, data) {
if (state.uav.network == 1) {
if (state.uav.network == 2) {
window.$mmc.$store.dispatch("MMCMQTT/publish", {
topic: "PX4/OBTAIN/" + state.uav.hardId,
topic: "PX4/OBTAIN/" + state.uav.deviceId,
data: {
type: window.$mmc.$store.state.MMCMQTT.orders.暂停航线任务,
},
......@@ -791,7 +791,7 @@ const actions = {
window.$mmc.$store.dispatch("MMCGroundStation/order", {
order: "悬停",
data: {},
deviceHardId: state.uav.hardId,
deviceHardId: state.uav.deviceId,
});
data?.callback && data.callback(true);
}
......@@ -802,9 +802,9 @@ const actions = {
* @param {*} data
*/
continueFly({ state }, data) {
if (state.uav.network == 1) {
if (state.uav.network == 2) {
window.$mmc.$store.dispatch("MMCMQTT/publish", {
topic: "PX4/OBTAIN/" + state.uav.hardId,
topic: "PX4/OBTAIN/" + state.uav.deviceId,
data: {
type: window.$mmc.$store.state.MMCMQTT.orders.继续航线任务,
},
......@@ -817,7 +817,7 @@ const actions = {
window.$mmc.$store.dispatch("MMCGroundStation/order", {
order: "航线模式",
data: {},
deviceHardId: state.uav.hardId,
deviceHardId: state.uav.deviceId,
});
data?.callback && data.callback(true);
}
......@@ -828,9 +828,9 @@ const actions = {
* @param {*} data
*/
returnFlight({ state }, data) {
if (state.uav.network == 1) {
if (state.uav.network == 2) {
window.$mmc.$store.dispatch("MMCMQTT/publish", {
topic: "PX4/OBTAIN/" + state.uav.hardId,
topic: "PX4/OBTAIN/" + state.uav.deviceId,
data: {
type: window.$mmc.$store.state.MMCMQTT.orders.返航,
},
......@@ -843,7 +843,7 @@ const actions = {
window.$mmc.$store.dispatch("MMCGroundStation/order", {
order: "返航",
data: {},
deviceHardId: state.uav.hardId,
deviceHardId: state.uav.deviceId,
});
data?.callback && data.callback(true);
}
......@@ -854,9 +854,9 @@ const actions = {
* @param {*} data
*/
routeControl({ state }, data) {
if (state.uav.network == 1) {
if (state.uav.network == 2) {
window.$mmc.$store.dispatch("MMCMQTT/publish", {
topic: "PX4/OBTAIN/" + state.uav.hardId,
topic: "PX4/OBTAIN/" + state.uav.deviceId,
data: {
type: window.$mmc.$store.state.MMCMQTT.orders.航线控制,
data: {
......@@ -880,9 +880,9 @@ const actions = {
* 手动模式
*/
modeManual({ state }, data) {
if (state.uav.network == 1) {
if (state.uav.network == 2) {
window.$mmc.$store.dispatch("MMCMQTT/publish", {
topic: "PX4/OBTAIN/" + state.uav.hardId,
topic: "PX4/OBTAIN/" + state.uav.deviceId,
data: {
type: window.$mmc.$store.state.MMCMQTT.orders.无人机模式切换,
data: "POSITION",
......@@ -900,9 +900,9 @@ const actions = {
* 自动模式
*/
modeAuto({ state }, data) {
if (state.uav.network == 1) {
if (state.uav.network == 2) {
window.$mmc.$store.dispatch("MMCMQTT/publish", {
topic: "PX4/OBTAIN/" + state.uav.hardId,
topic: "PX4/OBTAIN/" + state.uav.deviceId,
data: {
type: window.$mmc.$store.state.MMCMQTT.orders.无人机模式切换,
data: "AUTO_MISSION",
......@@ -927,9 +927,9 @@ const actions = {
},
"xxx"
);
if (state.uav.network == 1) {
if (state.uav.network == 2) {
window.$mmc.$store.dispatch("MMCMQTT/publish", {
topic: "PX4/OBTAIN/" + state.uav.hardId,
topic: "PX4/OBTAIN/" + state.uav.deviceId,
data: {
type: 514,
data: data,
......@@ -944,9 +944,9 @@ const actions = {
* 摇杆控制
*/
modeLAND({ state }, data) {
if (state.uav.network == 1) {
if (state.uav.network == 2) {
window.$mmc.$store.dispatch("MMCMQTT/publish", {
topic: "PX4/OBTAIN/" + state.uav.hardId,
topic: "PX4/OBTAIN/" + state.uav.deviceId,
data: {
type: window.$mmc.$store.state.MMCMQTT.orders.无人机模式切换,
data: "LAND",
......@@ -964,9 +964,9 @@ const actions = {
* @param {*} data
*/
changeYGPermissions({ state }, data) {
if (state.uav.network == 1) {
if (state.uav.network == 2) {
window.$mmc.$store.dispatch("MMCMQTT/publish", {
topic: "PX4/OBTAIN/" + state.uav.hardId,
topic: "PX4/OBTAIN/" + state.uav.deviceId,
data: {
type: 534,
data: {
......@@ -991,9 +991,9 @@ const actions = {
* 返航模式
*/
modeAUTO_RTL({ state }, data) {
if (state.uav.network == 1) {
if (state.uav.network == 2) {
window.$mmc.$store.dispatch("MMCMQTT/publish", {
topic: "PX4/OBTAIN/" + state.uav.hardId,
topic: "PX4/OBTAIN/" + state.uav.deviceId,
data: {
type: window.$mmc.$store.state.MMCMQTT.orders.无人机模式切换,
data: "AUTO_RTL",
......@@ -1009,9 +1009,9 @@ const actions = {
* 航线模式
*/
modeAUTO_MISSION({ state }, data) {
if (state.uav.network == 1) {
if (state.uav.network == 2) {
window.$mmc.$store.dispatch("MMCMQTT/publish", {
topic: "PX4/OBTAIN/" + state.uav.hardId,
topic: "PX4/OBTAIN/" + state.uav.deviceId,
data: {
type: window.$mmc.$store.state.MMCMQTT.orders.无人机模式切换,
data: "AUTO_MISSION",
......@@ -1028,9 +1028,9 @@ const actions = {
* GPS/定点模式
*/
modePOSITION({ state }, data) {
if (state.uav.network == 1) {
if (state.uav.network == 2) {
window.$mmc.$store.dispatch("MMCMQTT/publish", {
topic: "PX4/OBTAIN/" + state.uav.hardId,
topic: "PX4/OBTAIN/" + state.uav.deviceId,
data: {
type: window.$mmc.$store.state.MMCMQTT.orders.无人机模式切换,
data: "POSITION",
......@@ -1054,7 +1054,7 @@ const actions = {
* @param {number} data.dbID //历史记录id
*/
videoTranscribe({ state }, data) {
if (state.uav.network == 1) {
if (state.uav.network == 2) {
const streamData = {
data: {
data: {
......@@ -1074,7 +1074,7 @@ const actions = {
streamData.data.data.recordControl = data.recordControl;
}
window.$mmc.$store.dispatch("MMCMQTT/publish", {
topic: "PX4/OBTAIN/" + state.uav.hardId,
topic: "PX4/OBTAIN/" + state.uav.deviceId,
data: streamData,
callback() {
data?.callback && data.callback(true);
......@@ -1087,7 +1087,7 @@ const actions = {
* 查询录制视频状态
*/
videoTranscribeStatus({ state }, data) {
if (state.uav.network == 1) {
if (state.uav.network == 2) {
const streamData = {
data: {
data: {},
......@@ -1101,7 +1101,7 @@ const actions = {
// streamData.data.data.recordControl = this.record;
// }
window.$mmc.$store.dispatch("MMCMQTT/publish", {
topic: "PX4/OBTAIN/" + state.uav.hardId,
topic: "PX4/OBTAIN/" + state.uav.deviceId,
data: streamData,
callback() {
data?.callback && data.callback(true);
......@@ -1120,7 +1120,7 @@ const actions = {
* @param {number} data.dbID //历史记录id
*/
takePhotos({ state }, data) {
if (state.uav.network == 1) {
if (state.uav.network == 2) {
const streamData = {
data: {
data: {
......@@ -1138,7 +1138,7 @@ const actions = {
streamData.data.messageID = 1007;
}
window.$mmc.$store.dispatch("MMCMQTT/publish", {
topic: "PX4/OBTAIN/" + state.uav.hardId,
topic: "PX4/OBTAIN/" + state.uav.deviceId,
data: streamData,
callback() {
data?.callback && data.callback(true);
......@@ -1154,9 +1154,9 @@ const actions = {
* @param {*} data.mountId 挂载的id
*/
mountDirective({ state }, data) {
if (state.uav.network == 1) {
if (state.uav.network == 2) {
window.$mmc.$store.dispatch("MMCMQTT/publish", {
topic: "PX4/OBTAIN/" + state.uav.hardId,
topic: "PX4/OBTAIN/" + state.uav.deviceId,
data: {
type: window.$mmc.$store.state.MMCMQTT.orders.云台控制指令can包透传,
data: {
......@@ -1181,7 +1181,7 @@ const actions = {
cmdBuffer: buff,
cmdName: state.selectMount.gimbalName,
},
deviceHardId: state.uav.hardId,
deviceHardId: state.uav.deviceId,
});
}
},
......
......@@ -47,7 +47,8 @@
},
"rules": {
"vue/multi-word-component-names": "off",
"no-undef": "off"
"no-undef": "off",
"no-debugger": "off"
}
},
"browserslist": [
......
......@@ -28,9 +28,9 @@
<iframe
id="iframe"
ref="iframe"
src="https://localhost:9000/"
src="http://localhost:9000/"
style="width: 1920px; height: 1000px;"
anonymous
anonymous
allowfullscreen="true"
></iframe>
</div>
......@@ -87,7 +87,7 @@ export default {
data() {
return {
isIframeReady: false, //是否接收到iframe里的ready事件
baseUrl: "https://test.tmj.mmcuav.cn",
baseUrl: "http://192.168.5.80:30080",
devMode: false,
scene1: false, // 场景类型 true: 无人机 false: 机库
useSTLAirway: false, // 使用标准航线库
......@@ -184,13 +184,13 @@ export default {
immediate: true,
handler() {
if (this.devMode) {
this.account = "mmctest@admin";
this.password = "test@Admin001";
this.baseUrl = "https://test.tmj.mmcuav.cn";
this.account = "admin";
this.password = "mmc@123456";
this.baseUrl = "http://192.168.5.80:30080";
} else {
this.account = "mmcadmin@kbt001";
this.password = "TMJMMC@kbta0227&adm";
this.baseUrl = "https://tmj.mmcuav.cn";
this.account = "admin";
this.password = "mmc@123456";
this.baseUrl = "http://192.168.5.80:30080";
}
this.postIframe({
type: "param",
......@@ -635,25 +635,20 @@ export default {
let formData = new FormData();
formData.append("userAccount", this.account);
formData.append("password", Base64.encode(this.password));
let res1 = await fetch(this.baseUrl + "/crm/login", {
let res = await fetch(this.baseUrl + "/admin-api/system/auth/login", {
method: "post",
headers: {
// "Content-Type": "multipart/form-data",
"Content-Type": "application/json",
"Tenant-Id": 1,
"terminal": 2
},
body: formData,
body: JSON.stringify({
username: this.account,
password: this.password,
}),
});
let data1 = await res1.json();
if (data1.code == 200) {
await fetch(this.baseUrl + "/crm/user/platformPermission", {
method: "get",
headers: {
Token: data1.data.token,
},
});
this.userInfo = data1.data;
this.init();
}
this.userInfo = (await res.json()).data;
this.init();
},
},
};
......
......@@ -15,7 +15,7 @@ module.exports = defineConfig({
],
},
devServer: {
https: true,
https: false,
client: {
overlay: false,
},
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论