吉安感知网项目-前端
罗广辉
2026-03-31 5f395581a14872e3107585b373789a3bdecc5b10
feat: 删除无用文件
8 files modified
8 files deleted
3650 ■■■■■ changed files
applications/drone-command/env/.env.development 21 ●●●●● patch | view | raw | blame | history
applications/drone-command/env/.env.production 12 ●●●●● patch | view | raw | blame | history
applications/drone-command/env/.env.test 18 ●●●● patch | view | raw | blame | history
applications/drone-command/src/utils/cesium/mapUtil.js 12 ●●●●● patch | view | raw | blame | history
applications/drone-command/src/views/algorithmMange/algorithmMange.vue 322 ●●●●● patch | view | raw | blame | history
applications/drone-command/src/views/algorithmRepository/algorithmRepository.vue 381 ●●●●● patch | view | raw | blame | history
applications/drone-command/src/views/api.txt 163 ●●●●● patch | view | raw | blame | history
applications/drone-command/src/views/dataCenter/components/dataCenterMap.vue 345 ●●●●● patch | view | raw | blame | history
applications/drone-command/src/views/dataCenter/components/searchData.vue 499 ●●●●● patch | view | raw | blame | history
applications/drone-command/src/views/dataCenter/dataCenter.vue 1225 ●●●●● patch | view | raw | blame | history
applications/drone-command/src/views/license/license.vue 360 ●●●●● patch | view | raw | blame | history
applications/drone-command/src/views/license/upload.vue 112 ●●●●● patch | view | raw | blame | history
applications/task-work-order/env/.env.development 3 ●●●●● patch | view | raw | blame | history
applications/task-work-order/env/.env.production 3 ●●●●● patch | view | raw | blame | history
applications/task-work-order/env/.env.test 3 ●●●●● patch | view | raw | blame | history
applications/task-work-order/src/utils/cesium/createRouteLine.js 171 ●●●●● patch | view | raw | blame | history
applications/drone-command/env/.env.development
@@ -1,13 +1,3 @@
###
 # @Author       : yuan
 # @Date         : 2026-01-31 14:34:31
 # @LastEditors  : yuan
 # @LastEditTime : 2026-02-03 17:22:33
 # @FilePath     : \applications\drone-command\env\.env.development
 # @Description  :
 # Copyright 2026 OBKoro1, All Rights Reserved.
 # 2026-01-31 14:34:31
###
NODE_ENV='development'
#开发环境配置
@@ -18,19 +8,8 @@
# VITE_APP_URL=https://wrj.shuixiongit.com/api
VITE_APP_URL=http://192.168.1.168
# 域名
VITE_APP_AREA_NAME=https://wrj.shuixiongit.com
# ws地址
VITE_APP_WS_API_URL=wss://wrj.shuixiongit.com/drone-wss/api/v1/ws
# 航线文件地址
VITE_APP_AIRLINE_URL=https://wrj.shuixiongit.com/minio/cloud-bucket
# 行政区划存放地址
VITE_APP_REGION_URL=https://wrj.shuixiongit.com/aiskyminio/cloud-bucket/ztzf_region
# 算法仓库图片地址
VITE_APP_PICTURE_URL=https://wrj.shuixiongit.com/aiskyminio/cloud-bucket
# 设备ip地址
VITE_APP_DEVICE_IP='139.196.74.78:1883'
applications/drone-command/env/.env.production
@@ -6,20 +6,8 @@
# 服务地址
VITE_APP_URL=https://aisky.org.cn/api
# 域名
VITE_APP_AREA_NAME=https://aisky.org.cn
# ws地址
VITE_APP_WS_API_URL=wss://aisky.org.cn/drone-wss/api/v1/ws
# 航线文件地址
VITE_APP_AIRLINE_URL=https://wrj.shuixiongit.com/aiskyminio/cloud-bucket
# 算法仓库图片地址
VITE_APP_PICTURE_URL=https://wrj.shuixiongit.com/aiskyminio/cloud-bucket
# 行政区划存放地址
VITE_APP_REGION_URL=https://wrj.shuixiongit.com/aiskyminio/cloud-bucket/ztzf_region
# 设备ip地址
VITE_APP_DEVICE_IP='101.132.85.201:1883'
applications/drone-command/env/.env.test
@@ -4,10 +4,10 @@
 # @LastEditors  : yuan
 # @LastEditTime : 2026-02-04 09:12:33
 # @FilePath     : \applications\drone-command\env\.env.test
 # @Description  :
 # Copyright 2026 OBKoro1, All Rights Reserved.
 # @Description  :
 # Copyright 2026 OBKoro1, All Rights Reserved.
 # 2026-01-07 14:58:30
###
###
NODE_ENV = 'test'
#开发环境配置
@@ -16,20 +16,8 @@
# 服务地址
VITE_APP_URL = http://192.168.1.33
# 域名
VITE_APP_AREA_NAME = https://wrj.shuixiongit.com
# ws地址
VITE_APP_WS_API_URL = wss://wrj.shuixiongit.com/drone-wss/api/v1/ws
# 航线文件地址
VITE_APP_AIRLINE_URL = https://wrj.shuixiongit.com/minio/cloud-bucket
# 算法仓库图片地址
VITE_APP_PICTURE_URL = https://wrj.shuixiongit.com/aiskyminio/cloud-bucket
# 行政区划存放地址
VITE_APP_REGION_URL = https://wrj.shuixiongit.com/aiskyminio/cloud-bucket/ztzf_region
# 设备ip地址
VITE_APP_DEVICE_IP = '139.196.74.78:1883'
applications/drone-command/src/utils/cesium/mapUtil.js
@@ -2,7 +2,6 @@
import * as turf from '@turf/turf'
import store from '@/store'
const { VITE_APP_BASE, VITE_APP_ENV, VITE_APP_REGION_URL } = import.meta.env
export const getLngLatDistance = (lat1, lng1, lat2, lng2) => {
    const radLat1 = (lat1 * Math.PI) / 180.0
    const radLat2 = (lat2 * Math.PI) / 180.0
@@ -507,17 +506,6 @@
        return [provinceCode, cityCode]
    }
    return [provinceCode, cityCode, codeStr]
}
// 根据区域code获取轮廓
export const getContourByCode = async areaCode => {
    const defaultDir = `${VITE_APP_REGION_URL}/100000/`
    const hierarchy = areaCodeToArr(areaCode.slice(0, 6))
    const jsonPathPre = hierarchy.slice(0, hierarchy.length - 1).join('/')
    const res = await fetch(`${defaultDir}${jsonPathPre}/index.json`)
    const parentGJson = await res.json()
    let features = parentGJson.features.find(item => item.properties.adcode === Number(hierarchy[hierarchy.length - 1]))
    return { type: 'FeatureCollection', features: [features] }
}
// 辅助函数:创建旋转文字的画布
applications/drone-command/src/views/algorithmMange/algorithmMange.vue
File was deleted
applications/drone-command/src/views/algorithmRepository/algorithmRepository.vue
File was deleted
applications/drone-command/src/views/api.txt
File was deleted
applications/drone-command/src/views/dataCenter/components/dataCenterMap.vue
File was deleted
applications/drone-command/src/views/dataCenter/components/searchData.vue
File was deleted
applications/drone-command/src/views/dataCenter/dataCenter.vue
File was deleted
applications/drone-command/src/views/license/license.vue
File was deleted
applications/drone-command/src/views/license/upload.vue
File was deleted
applications/task-work-order/env/.env.development
@@ -12,9 +12,6 @@
# ws地址
VITE_APP_WS_API_URL=wss://wrj.shuixiongit.com/drone-wss/api/v1/ws
# 航线文件地址
VITE_APP_AIRLINE_URL=https://wrj.shuixiongit.com/minio/cloud-bucket
# 行政区划存放地址
VITE_APP_REGION_URL=https://wrj.shuixiongit.com/aiskyminio/cloud-bucket/ztzf_region
applications/task-work-order/env/.env.production
@@ -10,8 +10,5 @@
# ws地址
VITE_APP_WS_API_URL=wss://aisky.org.cn/drone-wss/api/v1/ws
# 航线文件地址
VITE_APP_AIRLINE_URL=https://wrj.shuixiongit.com/aiskyminio/cloud-bucket
# 行政区划存放地址
VITE_APP_REGION_URL=https://wrj.shuixiongit.com/aiskyminio/cloud-bucket/ztzf_region
applications/task-work-order/env/.env.test
@@ -9,9 +9,6 @@
# ws地址
VITE_APP_WS_API_URL=wss://wrj.shuixiongit.com/drone-wss/api/v1/ws
# 航线文件地址
VITE_APP_AIRLINE_URL=https://wrj.shuixiongit.com/minio/cloud-bucket
# 行政区划存放地址
VITE_APP_REGION_URL=https://wrj.shuixiongit.com/aiskyminio/cloud-bucket/ztzf_region
applications/task-work-order/src/utils/cesium/createRouteLine.js
@@ -307,177 +307,6 @@
        }
    }
    // 拆分航线
    async splitWayLine (data, dronePosition = null, isShowDock = false, isShowPointBillboard = true) {
        const {
            pointPlacemark,
            polygonList,
            pointList,
            templateType,
            startPoint,
            execute_height_mode,
            auto_flight_speed,
            take_off_security_height,
            buffer_distance_meters,
            missionConfig,
            waylinesXMLObjR,
        } = await analysisPointLineKmz(`${data.domain_url}${data.object_key}`)
        const { positionArray, filePositions } = this.disposeData(
            waylinesXMLObjR,
            missionConfig,
            null,
            data,
            startPoint,
            0
        )
        let bigPointList = handlePointListForKmz({
            placemark: pointPlacemark,
            startPoint: startPoint,
            execute_height_mode: execute_height_mode,
            auto_flight_speed: auto_flight_speed,
        })
        // 路径线
        let entityConfig
        bigPointList.shift()
        let flyPositions = bigPointList.map(i => [Number(i.longitude), Number(i.latitude), Number(i.height)])
        // 渲染多个点
        let firstTopPosition = null
        let resultPosotions = []
        await Promise.all(data.wayline_file_list.map(async (item, index) => {
            // 小航线渲染线
            const kmzUrl = import.meta.env.VITE_APP_AIRLINE_URL + item.object_key
            const { pointList } = await analysisPointLineKmz(kmzUrl)
            resultPosotions.push(pointList)
        })).then(res => {
            // 目的是区分大航线点属于哪条小航线
            bigPointList.forEach(bigObj => {
                let foundIndex = -1
                // 遍历 resultPositions 查找匹配项
                resultPosotions.some((subArray, subIndex) => {
                    const found = subArray.some(obj =>
                        obj.latitude === bigObj.latitude &&
                        obj.longitude === bigObj.longitude
                    )
                    if (found) {
                        foundIndex = subIndex
                        return true // 找到就停止搜索
                    }
                    return false
                })
                // 如果找到了,给 bigPointList 的对象添加标记
                if (foundIndex !== -1) {
                    bigObj.log = foundIndex // 或 bigObj.index = foundIndex
                }
            })
            console.log(bigPointList, '查看结果值') // 现在 bigPointList 会有 log 属性
            bigPointList.map(async (i, index) => {
                firstTopPosition = i
                const position = Cesium.Cartesian3.fromDegrees(Number(i.longitude), Number(i.latitude), Number(findHeightByCoordinates(resultPosotions, i.longitude, i.latitude)))
                const combinedImage = await createCombinedSVG(index, i.log % 2 ? newStartPoint : newStartPointMore)
                entityConfig = {
                    name: 'work-drone-route-point-split',
                    position: position,
                    billboard: {
                        disableDepthTestDistance: Number.POSITIVE_INFINITY,
                        image: combinedImage,
                        width: 50,
                        height: 50,
                        verticalOrigin: Cesium.VerticalOrigin.CENTER,
                        horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
                    }
                }
                // 只在第一个点添加 label
                if (index === 0) {
                    entityConfig.label = {
                        text: data.task_name || '',
                        font: 'bold 16px sans-serif',
                        fillColor: data.status === 2 ? runningTextColor : pendingTextColor,
                        pixelOffset: data.status === 2 ? runningTextOffset : pendingTextOffset,
                        style: Cesium.LabelStyle.FILL_AND_OUTLINE,
                        outlineWidth: 2,
                        outlineColor: Cesium.Color.BLACK,
                        disableDepthTestDistance: Number.POSITIVE_INFINITY,
                    }
                }
                this.viewer.entities.add(entityConfig)
            })
        })
        // 渲染航线
        data.wayline_file_list.map(async (item, index) => {
            // 小航线渲染线
            const kmzUrl = import.meta.env.VITE_APP_AIRLINE_URL + item.object_key
            const { pointList } = await analysisPointLineKmz(kmzUrl)
            // if (curRouteLineData.value.droneData && splitLines.length === 1) {
            //     // 把pointList的第一个点替换为无人机位置
            //     pointList[0] = curRouteLineData.value.droneData[0]
            // }
            if (take_off_security_height + pointList[0].height > firstTopPosition.height) {
                // 安全高度+机巢高度 > 第一个点高度
                const positionTest = {
                    longitude: pointList[0].longitude,
                    latitude: pointList[0].latitude,
                    height: take_off_security_height + pointList[0].height,
                }
                const positionTest1 = {
                    longitude: pointList[1].longitude,
                    latitude: pointList[1].latitude,
                    height: take_off_security_height + pointList[0].height,
                }
                pointList.splice(1, 0, positionTest)
                // 往数组中插入元素
                pointList.splice(2, 0, positionTest1)
                // console.log(pointList, 'pointList')
            } else if (take_off_security_height + pointList[0].height < firstTopPosition.height) {
                const positionTest = {
                    longitude: pointList[0].longitude,
                    latitude: pointList[0].latitude,
                    height: firstTopPosition.height,
                }
                pointList.splice(1, 0, positionTest)
            }
            const routePositions = pointList.map(i =>
                Cesium.Cartesian3.fromDegrees(Number(i.longitude), Number(i.latitude), Number(i.height))
            )
            this.viewer.entities.add({
                name: 'work-drone-route-line-split',
                polyline: {
                    width: 4,
                    positions: routePositions,
                    material: data.status === 1 ? arrowLineMaterialPropertyGray : getLineColor(index + 1),
                    clampToGround: false,
                },
            })
        })
            // 落点线
            ; (bigPointList || [])?.forEach((item, index) => {
                const topPosition = Cesium.Cartesian3.fromDegrees(
                    Number(item.longitude),
                    Number(item.latitude),
                    Number(item.height)
                )
                let setting = {
                    name: 'work-drone-route--planar-polyline-split',
                    position: topPosition,
                    polyline: getPolyLine(this.viewer, { value: bigPointList }, index),
                }
                this.viewer.entities.add(setting)
            })
        return {
            entity: entityConfig,
            routeLinePositions: positionArray,
            filePositions:
                dronePosition != null
                    ? [{ lng: dronePosition.longitude, lat: dronePosition.latitude, alt: dronePosition.height }, ...filePositions]
                    : filePositions,
        }
    }
    /**
     * 绘制面状航线
     * @param {*} lineObj 航线文件中的