<template>
|
<div class="time-weather">
|
<div class="time">{{ time }}</div>
|
<div class="line"></div>
|
<div class="weather">
|
<img src="@/assets/images/home/homeLeft/tq.png" alt="" />
|
<span class="tq">{{ weather }}</span>
|
<span class="tq">风速:{{ windVelocity }} </span>
|
<span v-if="flylevel >= 5" :class="[isFly === '适合飞行' ? 'qk' : isFly === '禁止飞行' ? 'redqk' : 'yellowqk']">{{
|
isFly
|
}}</span>
|
</div>
|
</div>
|
</template>
|
|
<script setup>
|
import dayjs from 'dayjs'
|
import { getDroneSuggest } from '@/api/home/common'
|
|
const time = ref('')
|
const updateTime = () => {
|
time.value = dayjs().format('YYYY.MM.DD HH:mm:ss')
|
}
|
|
// 天气
|
const weather = ref('')
|
// 是否适合飞行
|
const isFly = ref('')
|
// 风速
|
const windVelocity = ref('')
|
// 区县级
|
const flylevel = ref('')
|
// 获取天气建议
|
const getWeatherSuggest = () => {
|
getDroneSuggest().then(res => {
|
if (res.data.code !== 0) return
|
weather.value = res.data.data.weather
|
isFly.value = res.data.data.flightAdvice
|
windVelocity.value = res.data.data.windPower
|
flylevel.value = res.data.data.adcode.replace(/0+$/, "").length
|
})
|
}
|
let intervalTime
|
onMounted(() => {
|
getWeatherSuggest()
|
updateTime() // 立即执行一次
|
intervalTime = setInterval(updateTime, 1000)
|
})
|
onUnmounted(() => {
|
if (intervalTime) {
|
clearInterval(intervalTime)
|
intervalTime = null
|
}
|
})
|
</script>
|
|
<style scoped lang="scss">
|
.time-weather {
|
margin-left: 45px;
|
// width: 350px;
|
font-size: 14px;
|
height: 36px;
|
line-height: 36px;
|
display: flex;
|
align-items: center;
|
color: #e7f5ff;
|
.line {
|
border: 1px solid #ffffff;
|
height: 10px;
|
opacity: 0.5;
|
margin: 0 18px;
|
}
|
.weather {
|
display: flex;
|
align-items: center;
|
img {
|
width: 20px;
|
height: 20px;
|
}
|
.tq {
|
margin: 0 5px;
|
}
|
.qk {
|
margin-left: 5px;
|
color: #04f043;
|
}
|
.yellowqk {
|
margin-left: 5px;
|
color: yellow;
|
}
|
.redqk {
|
margin-left: 5px;
|
color: red;
|
}
|
}
|
}
|
</style>
|