This commit is contained in:
zh
2025-11-07 15:54:51 +08:00
3 changed files with 75 additions and 21 deletions

View File

@ -49,12 +49,16 @@
</div> </div>
</div> </div>
<div class="iconCon"> <div class="iconCon">
<div class="item_icon" v-for="(item, index) in timelist" :key="index"> <div
class="item_icon"
v-for="(item, index) in timelist"
:key="index"
@click="clickTimeIcon(item)"
>
<svg-icon <svg-icon
:name="item.svg" :name="item.svg"
:size="20" :size="20"
:color="!item.status ? 'rgba(255, 255, 255, 1)' : 'rgba(var(--color-base1), 1)'" :color="!item.status ? 'rgba(255, 255, 255, 1)' : 'rgba(var(--color-base1), 1)'"
@click="clickIcon(item)"
></svg-icon> ></svg-icon>
<div> <div>
<span :class="['icon_text', !item.status ? '' : 'active']">{{ item.name }}</span> <span :class="['icon_text', !item.status ? '' : 'active']">{{ item.name }}</span>
@ -146,12 +150,11 @@
<span class="text_two">可叠加以下天气类型</span> <span class="text_two">可叠加以下天气类型</span>
</div> </div>
<div class="weather_content_body"> <div class="weather_content_body">
<div class="item_icon" v-for="(item, index) in list" :key="index"> <div class="item_icon" v-for="(item, index) in list" :key="index" @click="clickIcon(item)">
<svg-icon <svg-icon
:name="item.svg" :name="item.svg"
:size="20" :size="20"
:color="!item.status ? 'rgba(255, 255, 255, 1)' : 'rgba(var(--color-base1), 1)'" :color="!item.status ? 'rgba(255, 255, 255, 1)' : 'rgba(var(--color-base1), 1)'"
@click="clickIcon(item)"
></svg-icon> ></svg-icon>
<div> <div>
<span :class="['icon_text', !item.status ? '' : 'active']">{{ item.name }}</span> <span :class="['icon_text', !item.status ? '' : 'active']">{{ item.name }}</span>
@ -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 = () => { var changDarkness = () => {
sunshine && (sunshine.darkness = weatherData.darkness) sunshine && (sunshine.darkness = weatherData.darkness)
@ -579,6 +604,7 @@ var shadowChange = () => {
top: -200%; top: -200%;
transform: translateY(-100%); transform: translateY(-100%);
color: rgba(255, 223, 83, 1); color: rgba(255, 223, 83, 1);
cursor: auto;
} }
#timePause { #timePause {

View File

@ -219,6 +219,28 @@ export default class TimeLine {
// this.update(); // 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() { closeChangeDate() {
this.changeDate && (this.changeDate = false) this.changeDate && (this.changeDate = false)
} }

View File

@ -12,7 +12,12 @@
<span>{{ t(`week.4`) }}</span> <span>{{ t(`week.4`) }}</span>
</div> </div>
<div class="weather"> <div class="weather">
<svg-icon name="weather" :size="40" @click="clickFun"></svg-icon> <svg-icon
name="weather"
:class="weatherClick ? 'weatherClick' : ''"
:size="40"
@click="clickFun"
></svg-icon>
</div> </div>
</div> </div>
<setTool ref="setToolRef"></setTool> <setTool ref="setToolRef"></setTool>
@ -53,8 +58,7 @@ const headImg = computed(() => {
} }
}) })
const skinInfo = ref(JSON.parse(localStorage.getItem('systemSetting') || '{}').skinInfo || 'color1')
const skinInfo = ref(JSON.parse(localStorage.getItem("systemSetting") || '{}').skinInfo || 'color1')
const { t } = useI18n() const { t } = useI18n()
const date = ref({ const date = ref({
@ -62,26 +66,25 @@ const date = ref({
hms: '', hms: '',
week: 0 week: 0
}) })
window.addEventListener("setItemEvent", (e: any) => { window.addEventListener('setItemEvent', (e: any) => {
console.log('e', e) console.log('e', e)
if (e.key == "systemSetting") { if (e.key == 'systemSetting') {
let obj = JSON.parse(e.newValue); let obj = JSON.parse(e.newValue)
skinInfo.value = obj.skinInfo; skinInfo.value = obj.skinInfo
let setting = JSON.parse(e.newValue) let setting = JSON.parse(e.newValue)
let dialogElm: any = document.getElementsByClassName('YJ-custom-base-dialog') let dialogElm: any = document.getElementsByClassName('YJ-custom-base-dialog')
if (setting.language === 'zh-EN') { if (setting.language === 'zh-EN') {
for (let i = 0; i < dialogElm.length; i++) { for (let i = 0; i < dialogElm.length; i++) {
dialogElm[i].classList.add('dialog-en'); dialogElm[i].classList.add('dialog-en')
} }
} } else {
else {
for (let i = 0; i < dialogElm.length; i++) { for (let i = 0; i < dialogElm.length; i++) {
dialogElm[i].classList.remove('dialog-en'); dialogElm[i].classList.remove('dialog-en')
} }
} }
} }
}); })
var weatherClick = ref(false) var weatherClick = ref(false)
const setTime = () => { const setTime = () => {
let date1 = new Date() let date1 = new Date()
@ -132,7 +135,7 @@ var clickFun = () => {
z-index: 999; z-index: 999;
pointer-events: none; pointer-events: none;
>* { > * {
pointer-events: all; pointer-events: all;
} }
@ -177,7 +180,7 @@ var clickFun = () => {
align-items: center; align-items: center;
font-family: 'alimamashuheiti'; font-family: 'alimamashuheiti';
&>span:first-child { & > span:first-child {
letter-spacing: 1px; letter-spacing: 1px;
font-size: 2rem; font-size: 2rem;
font-family: 'alimamashuheiti'; font-family: 'alimamashuheiti';
@ -189,11 +192,11 @@ var clickFun = () => {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
&>span:first-child { & > span:first-child {
font-size: 0.9rem; font-size: 0.9rem;
} }
&>span:last-child { & > span:last-child {
font-size: 0.8rem; font-size: 0.8rem;
} }
} }
@ -202,9 +205,12 @@ var clickFun = () => {
margin-left: 15px; margin-left: 15px;
svg { svg {
fill: rgba(var(--color-base1), 1) !important; // fill: rgba(var(--color-base1), 1) !important;
cursor: pointer; cursor: pointer;
} }
.weatherClick {
fill: rgba(var(--color-base1), 1) !important;
}
} }
} }