From e5acfa5cf31e4ad2cb55702e918a08d9ffc62c52 Mon Sep 17 00:00:00 2001 From: dyhj625 Date: Tue, 1 Apr 2025 14:45:21 +0900 Subject: [PATCH 1/3] =?UTF-8?q?=EB=82=A0=EC=94=A8=20api=20=EB=B0=B1?= =?UTF-8?q?=EC=97=94=EB=93=9C=EB=A1=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/layouts/TheTop.vue | 60 ++++++++++++++++++++++-------------------- 1 file changed, 31 insertions(+), 29 deletions(-) diff --git a/src/layouts/TheTop.vue b/src/layouts/TheTop.vue index bae527d..2cf92eb 100644 --- a/src/layouts/TheTop.vue +++ b/src/layouts/TheTop.vue @@ -269,6 +269,7 @@ import { useRouter } from 'vue-router'; import { useThemeStore } from '@s/darkmode'; import { computed, onMounted, ref, watch } from 'vue'; + import axios from '@api'; const baseUrl = import.meta.env.VITE_SERVER; @@ -353,41 +354,42 @@ const weatherKorean = computed(() => weather.value.description || '날씨 정보 없음'); onMounted(() => { - navigator.geolocation.getCurrentPosition(async (position) => { - const lat = position.coords.latitude; - const lon = position.coords.longitude; - const apiKey = '3505b3500aacf34c4497bf449996ea09'; - const url = `https://api.openweathermap.org/data/2.5/forecast?lat=${lat}&lon=${lon}&appid=${apiKey}&units=metric&lang=kr`; + navigator.geolocation.getCurrentPosition(async (position) => { + const lat = position.coords.latitude; + const lon = position.coords.longitude; - try { - const res = await fetch(url); - const data = await res.json(); + try { + const res = await axios.get(`/weather`, { + params: { lat, lon }, + withCredentials: true, + }); - const now = new Date(); + const raw = res.data; + const data = JSON.parse(raw.data); - // 가장 가까운 데이터 - const closest = data.list.reduce((prev, curr) => { - const prevTime = new Date(prev.dt_txt).getTime(); - const currTime = new Date(curr.dt_txt).getTime(); - const nowTime = now.getTime(); + if (!data || !Array.isArray(data.list) || data.list.length === 0) { + console.error('날씨 데이터 형식 오류 또는 없음:', data); + return; + } - const prevDiff = Math.abs(prevTime - nowTime); - const currDiff = Math.abs(currTime - nowTime); + const now = new Date(); + const closest = data.list.reduce((prev, curr) => { + const prevTime = new Date(prev.dt_txt).getTime(); + const currTime = new Date(curr.dt_txt).getTime(); + const nowTime = now.getTime(); + const prevDiff = Math.abs(prevTime - nowTime); + const currDiff = Math.abs(currTime - nowTime); + return prevDiff < currDiff ? prev : curr; + }); - if (prevDiff < currDiff) return prev; - if (prevDiff > currDiff) return curr; - - return prevTime < currTime ? prev : curr; + weather.value.icon = closest.weather[0].icon.replace(/n$/, 'd'); + weather.value.description = closest.weather[0].description; + weather.value.tempMin = Math.round(closest.main.temp_min); + weather.value.tempMax = Math.round(closest.main.temp_max); + } catch (e) { + console.error('날씨 정보 가져오기 실패:', e); + } }); - - weather.value.icon = closest.weather[0].icon.replace(/n$/, 'd'); - weather.value.description = closest.weather[0].description; - weather.value.tempMin = Math.round(closest.main.temp_min); - weather.value.tempMax = Math.round(closest.main.temp_max); - } catch (e) { - console.error('날씨 정보 가져오기 실패:', e); - } - }); }); const handleLogout = async () => { From 81909fa6e080beaad92a72d2dc7b497f7523df7c Mon Sep 17 00:00:00 2001 From: dyhj625 Date: Tue, 1 Apr 2025 14:50:55 +0900 Subject: [PATCH 2/3] . --- src/layouts/TheTop.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/layouts/TheTop.vue b/src/layouts/TheTop.vue index 2cf92eb..0e7766f 100644 --- a/src/layouts/TheTop.vue +++ b/src/layouts/TheTop.vue @@ -410,10 +410,10 @@ .weather-desc { font-size: 14px; font-weight: 500; - line-height: 1.2; + line-height: 1.6; } .weather-temp { - font-size: 12px; + font-size: 13px; color: #888; line-height: 1.2; } From 869423c7646f66a16afffc5d14de46c1b1c71ba9 Mon Sep 17 00:00:00 2001 From: dyhj625 Date: Tue, 1 Apr 2025 15:21:22 +0900 Subject: [PATCH 3/3] =?UTF-8?q?=EB=A7=91=EC=9D=8C=20=EC=9D=B4=EB=AF=B8?= =?UTF-8?q?=EC=A7=80=20=EB=B3=80=ED=99=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/img/icons/sunny-custom.png | Bin 0 -> 20334 bytes src/layouts/TheTop.vue | 22 ++++++++++++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 public/img/icons/sunny-custom.png diff --git a/public/img/icons/sunny-custom.png b/public/img/icons/sunny-custom.png new file mode 100644 index 0000000000000000000000000000000000000000..b4b1301d621e3b79ae897ae0fa2e0881e712af39 GIT binary patch literal 20334 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 NPMV&0ecb8R{{gBWH=+Ol literal 0 HcmV?d00001 diff --git a/src/layouts/TheTop.vue b/src/layouts/TheTop.vue index 0e7766f..e64e21e 100644 --- a/src/layouts/TheTop.vue +++ b/src/layouts/TheTop.vue @@ -11,9 +11,9 @@
{{ weather.description }} @@ -351,6 +351,20 @@ tempMax: null, }); + const customIconUrl = computed(() => { + if (weather.value.icon === "01d" || weather.value.icon === "01n") { + return "/img/icons/sunny-custom.png"; + } + return `https://openweathermap.org/img/wn/${weather.value.icon}@2x.png`; + }); + + const customIconClass = computed(() => { + if (weather.value.icon === "01d" || weather.value.icon === "01n") { + return "weather-icon custom-sunny-icon"; + } + return "weather-icon"; + }); + const weatherKorean = computed(() => weather.value.description || '날씨 정보 없음'); onMounted(() => { @@ -425,4 +439,8 @@ white-space: nowrap; overflow: hidden; } +.custom-sunny-icon { + width: 5% !important; + height: 5% !important; +}