diff --git a/apps/vue/src/store/modules/weather.ts b/apps/vue/src/store/modules/weather.ts index 4d43899c4..680b1211f 100644 --- a/apps/vue/src/store/modules/weather.ts +++ b/apps/vue/src/store/modules/weather.ts @@ -1,6 +1,7 @@ import { defineStore } from 'pinia'; import { Position, WeatherInfo } from '/@/api/weather/model'; import { getPosition, getWeather } from '/@/api/weather'; +import { useLocaleStoreWithOut } from './locale'; interface WeatherState { currentCity?: Position; @@ -17,20 +18,23 @@ export const useWeatherStore = defineStore({ }), actions: { async updateWeather() { - const hour = new Date().getHours(); - if (hour - this.lastUpdateHour != 0) { - const position = await getPosition(); - const weatherResult = await getWeather(position.code); - if (weatherResult.code !== 0) { - return Promise.reject(weatherResult.msg); + const localeStore = useLocaleStoreWithOut(); + // 中文环境天气api有效 + if (localeStore.getLocale.includes('zh')) { + const hour = new Date().getHours(); + if (hour - this.lastUpdateHour != 0) { + const position = await getPosition(); + const weatherResult = await getWeather(position.code); + if (weatherResult.code !== 0) { + return Promise.reject(weatherResult.msg); + } + this.currentCity = position; + this.weather = weatherResult.data; + this.lastUpdateHour = hour; + return Promise.resolve(this.weather); } - this.currentCity = position; - this.weather = weatherResult.data; - this.lastUpdateHour = hour; - return Promise.resolve(this.weather); - } else { - return Promise.resolve(this.weather); } + return Promise.resolve(this.weather); } } });