diff --git a/apps/vue/src/api/weather/index.ts b/apps/vue/src/api/weather/index.ts new file mode 100644 index 000000000..7e8976bb1 --- /dev/null +++ b/apps/vue/src/api/weather/index.ts @@ -0,0 +1,75 @@ +/* + 天气接口 + 数据来源: http://www.nmc.cn (中央气象台) +*/ +import { defHttp } from '/@/utils/http/axios'; +import { Position, Province, WeatherResult } from './model'; +import { format } from '/@/utils/strings'; + +//const Host = 'http://www.nmc.cn'; +const Api = { + GetProvinces: '/wapi/rest/province/all', + GetPosition: '/wapi/rest/position', + GetCitys: '/wapi/rest/province/{province}', + GetWeather: '/wapi/rest/weather?stationid={code}', +}; + +export const getProvinces = () => { + return defHttp.get({ + url: Api.GetProvinces, + //baseURL: Host, + headers: { + 'X-Requested-With': 'XMLHttpRequest' + } + }, { + apiUrl: '', + joinTime: false, + withToken: false, + withAcceptLanguage: false, + }); +}; + +export const getPosition = () => { + return defHttp.get({ + url: Api.GetPosition, + //baseURL: Host, + headers: { + 'X-Requested-With': 'XMLHttpRequest', + } + }, { + apiUrl: '', + joinTime: false, + withToken: false, + withAcceptLanguage: false, + }); +} + +export const getCitys = (provinceCode: string) => { + return defHttp.get({ + url: format(Api.GetCitys, {province: provinceCode}), + //baseURL: Host, + headers: { + 'X-Requested-With': 'XMLHttpRequest' + } + }, { + apiUrl: '', + joinTime: false, + withToken: false, + withAcceptLanguage: false, + }); +} + +export const getWeather = (cityCode: string) => { + return defHttp.get({ + url: format(Api.GetWeather, {code: cityCode}), + //baseURL: Host, + headers: { + 'X-Requested-With': 'XMLHttpRequest' + } + }, { + apiUrl: '', + joinTime: false, + withToken: false, + withAcceptLanguage: false, + }); +} diff --git a/apps/vue/src/api/weather/model/index.ts b/apps/vue/src/api/weather/model/index.ts new file mode 100644 index 000000000..dc3553b9d --- /dev/null +++ b/apps/vue/src/api/weather/model/index.ts @@ -0,0 +1,101 @@ +/* + 天气数据模型 + 数据来源: http://www.nmc.cn (中央气象台) +*/ + +/** + * 定位 + */ +export interface Position { + /** 城市 */ + city: string; + /** 代码 */ + code: string; + /** 省份 */ + province: string; + /** 专用页面 */ + url: string; +} + +/** + * 省份 + */ +export interface Province { + /** 代码 */ + code: string; + /** 名称 */ + name: string; + /** 专用页面 */ + url: string; +} + +export interface Air { + aq: number; + aqi: number; + aqiCode: string; + forecasttime: Date; + text: string; +} + +export interface Weather { + airpressure: number; + feelst: number; + humidity: number; + icomfort: number; + img: string; + info: string; + rain: number; + rcomfort: number; + temperature: number; + temperatureDiff: number; +} + +export interface Wind { + degree: number; + direct: string; + power: string; + speed: number; +} + +export interface PredictDetail { + date: Date; + pt: Date; + day: { weather: Weather; wind: Wind }; + night: { weather: Weather; wind: Wind }; +} + +export interface Predict { + detail: PredictDetail[]; + publish_time: Date; + station: Position; +} + +export interface Real { + publish_time: Date; + station: Position; + weather: Weather; + wind: Wind; +} + +export interface Tempchart { + day_img: string; + day_text: string; + max_temp: number; + min_temp: number; + night_img: string; + night_text: string; + time: Date; +} + +export interface WeatherInfo { + air: Air; + predict: Predict; + real: Real; + tempchart: Tempchart; +} + +export interface WeatherResult { + code: number; + msg: string; + data: WeatherInfo; +} diff --git a/apps/vue/src/components/Form/src/components/ApiTree.vue b/apps/vue/src/components/Form/src/components/ApiTree.vue index 0ec6917dd..44d6b5a2c 100644 --- a/apps/vue/src/components/Form/src/components/ApiTree.vue +++ b/apps/vue/src/components/Form/src/components/ApiTree.vue @@ -1,12 +1,12 @@ diff --git a/apps/vue/src/views/dashboard/workbench/components/MenuReference.vue b/apps/vue/src/views/dashboard/workbench/components/MenuReference.vue new file mode 100644 index 000000000..a325098df --- /dev/null +++ b/apps/vue/src/views/dashboard/workbench/components/MenuReference.vue @@ -0,0 +1,86 @@ + + + + + \ No newline at end of file diff --git a/apps/vue/src/views/dashboard/workbench/components/ProjectCard.vue b/apps/vue/src/views/dashboard/workbench/components/ProjectCard.vue index 0c4990bf2..f990e802d 100644 --- a/apps/vue/src/views/dashboard/workbench/components/ProjectCard.vue +++ b/apps/vue/src/views/dashboard/workbench/components/ProjectCard.vue @@ -4,7 +4,7 @@ 更多 - + {{ item.title }} diff --git a/apps/vue/src/views/dashboard/workbench/components/WorkbenchHeader.vue b/apps/vue/src/views/dashboard/workbench/components/WorkbenchHeader.vue index ef4d90d79..089b7fe38 100644 --- a/apps/vue/src/views/dashboard/workbench/components/WorkbenchHeader.vue +++ b/apps/vue/src/views/dashboard/workbench/components/WorkbenchHeader.vue @@ -2,32 +2,88 @@
-

早安, {{ userinfo.realName }}, 开始您一天的工作吧!

- 今日晴,20℃ - 32℃! +

{{ getWelcomeTitle }}

+ {{ getWeatherInfo }}
-
- 待办 - 2/10 -
- -
- 项目 - 8 -
- 团队 - 300 + {{ t('routes.dashboard.workbench.header.notifier.title') }} + {{ t('routes.dashboard.workbench.header.notifier.count', [unReadNotiferCount]) }}
diff --git a/apps/vue/src/views/dashboard/workbench/index.vue b/apps/vue/src/views/dashboard/workbench/index.vue index 5ee292e22..7858089f3 100644 --- a/apps/vue/src/views/dashboard/workbench/index.vue +++ b/apps/vue/src/views/dashboard/workbench/index.vue @@ -3,30 +3,59 @@
- - +
- + - +