diff --git a/src/renderer/src/views/components/headers/components/weather/index.vue b/src/renderer/src/views/components/headers/components/weather/index.vue index 0cad739..cdcb6ea 100644 --- a/src/renderer/src/views/components/headers/components/weather/index.vue +++ b/src/renderer/src/views/components/headers/components/weather/index.vue @@ -49,12 +49,16 @@
-
+
{{ item.name }} @@ -146,12 +150,11 @@ 可叠加以下天气类型
-
+
{{ item.name }} @@ -386,6 +389,28 @@ var clickIcon = (item: any) => { }) } } +var clickTimeIcon = (item: any) => { + if (document.getElementById('timePause').textContent == '播放') { + timelist.forEach((data) => { + if (data.name != item.name) data.status = false + }) + item.status = true + } else { + timelist.forEach((data) => { + data.status = false + }) + } + let arr = { + 清晨: '6:40', + 正午: '12:00', + 黄昏: '19:15', + 夜晚: '24:00' + } + + timeline.setTime(arr[item.name]) + timeline.setSpeed(weatherData.speed) + sunshine && (sunshine.timeBar = arr[item.name] + ':00') +} var changDarkness = () => { sunshine && (sunshine.darkness = weatherData.darkness) @@ -579,6 +604,7 @@ var shadowChange = () => { top: -200%; transform: translateY(-100%); color: rgba(255, 223, 83, 1); + cursor: auto; } #timePause { diff --git a/src/renderer/src/views/components/headers/components/weather/timeLIne.ts b/src/renderer/src/views/components/headers/components/weather/timeLIne.ts index 5ae511c..5772a1c 100644 --- a/src/renderer/src/views/components/headers/components/weather/timeLIne.ts +++ b/src/renderer/src/views/components/headers/components/weather/timeLIne.ts @@ -219,6 +219,28 @@ export default class TimeLine { // this.update(); } + setTime(time) { + // 解析传入的时间字符串 "6:40" + const [hours, minutes] = time.split(':').map(Number); + + // 设置秒数为0 + const seconds = 0; + + // 计算传入时间总秒数 + const totalSeconds = (hours * 3600) + (minutes * 60) + seconds; + + // 24小时总秒数 + const totalSecondsInDay = 24 * 3600; + + // 计算百分比 + const pos = totalSeconds / totalSecondsInDay; + + this.manualPosition = pos; + this.progress.style.width = `${pos * 100}%`; + + const displaySeconds = pos * 86400; + this.currentTime.textContent = this.formatTime(displaySeconds); + } closeChangeDate() { this.changeDate && (this.changeDate = false) }