Commit 457979888759e96d369165c924767d5ff25218d0

Authored by fengwotao
1 parent d5b71105

perf(src/packages): 小组件里优化天气自定义样式

... ... @@ -146,18 +146,12 @@ export const option = {
146 146 countyValue: null
147 147 },
148 148 weatherCss: {
149   - temperatureTextSize: '16',
150   - temperatureTextColor: '#000000',
151   - cityTextSize: '16',
152   - cityTextColor: '#000000',
153   - weatherIconSizeWidth: '24',
154   - weatherIconSizeHeight: '24',
155   - airSpeedTextSize: '16',
156   - airSpeedTextColor: '#000000',
157   - airSpeedLevelTextSize: '16',
158   - airSpeedLevelTextColor: '#000000',
  149 + text: 16,
  150 + color: 'black',
159 151 backgroundColor: 'transparent',
160   - borderRadius: '5'
  152 + borderRadius: '5',
  153 + weatherIconSizeWidth: '24',
  154 + weatherIconSizeHeight: '24'
161 155 }
162 156 }
163 157
... ...
... ... @@ -12,61 +12,26 @@
12 12 <n-button size="small" @click="optionData.weatherCss.backgroundColor = 'transparent'"> 恢复默认颜色 </n-button>
13 13 </SettingItem>
14 14 <SettingItem name="圆角">
15   - <n-input v-model:value="optionData.weatherCss.borderRadius" />
  15 + <n-input-number v-model:value="optionData.weatherCss.borderRadius" />
16 16 </SettingItem>
17 17 </SettingItemBox>
18   - <SettingItemBox name="温度文字">
19   - <SettingItem name="大小">
20   - <n-input v-model:value="optionData.weatherCss.temperatureTextSize" />
21   - </SettingItem>
22   - <SettingItem name="颜色">
23   - <n-color-picker v-model:value="optionData.weatherCss.temperatureTextColor" />
24   - </SettingItem>
25   - <SettingItem>
26   - <n-button size="small" @click="optionData.weatherCss.temperatureTextColor = '#000000'"> 恢复默认颜色 </n-button>
27   - </SettingItem>
28   - </SettingItemBox>
29   - <SettingItemBox name="城市名">
30   - <SettingItem name="大小">
31   - <n-input v-model:value="optionData.weatherCss.cityTextSize" />
32   - </SettingItem>
33   - <SettingItem name="颜色">
34   - <n-color-picker v-model:value="optionData.weatherCss.cityTextColor" />
35   - </SettingItem>
36   - <SettingItem>
37   - <n-button size="small" @click="optionData.weatherCss.cityTextColor = '#000000'"> 恢复默认颜色 </n-button>
38   - </SettingItem>
39   - </SettingItemBox>
40   - <SettingItemBox name="天气图标">
  18 + <SettingItemBox name="图标">
41 19 <SettingItem name="宽度">
42   - <n-input v-model:value="optionData.weatherCss.weatherIconSizeWidth" />
  20 + <n-input-number :min="0" v-model:value="optionData.weatherCss.weatherIconSizeWidth" />
43 21 </SettingItem>
44 22 <SettingItem name="高度">
45   - <n-input v-model:value="optionData.weatherCss.weatherIconSizeHeight" />
46   - </SettingItem>
47   - </SettingItemBox>
48   - <SettingItemBox name="风速文字">
49   - <SettingItem name="大小">
50   - <n-input v-model:value="optionData.weatherCss.airSpeedTextSize" />
51   - </SettingItem>
52   - <SettingItem name="颜色">
53   - <n-color-picker v-model:value="optionData.weatherCss.airSpeedTextColor" />
54   - </SettingItem>
55   - <SettingItem>
56   - <n-button size="small" @click="optionData.weatherCss.airSpeedTextColor = '#000000'"> 恢复默认颜色 </n-button>
  23 + <n-input-number :min="0" v-model:value="optionData.weatherCss.weatherIconSizeHeight" />
57 24 </SettingItem>
58 25 </SettingItemBox>
59   - <SettingItemBox name="风速等级">
  26 + <SettingItemBox name="文字">
60 27 <SettingItem name="大小">
61   - <n-input v-model:value="optionData.weatherCss.airSpeedLevelTextSize" />
  28 + <n-input-number :min="1" v-model:value="optionData.weatherCss.text" />
62 29 </SettingItem>
63 30 <SettingItem name="颜色">
64   - <n-color-picker v-model:value="optionData.weatherCss.airSpeedLevelTextColor" />
  31 + <n-color-picker v-model:value="optionData.weatherCss.color" />
65 32 </SettingItem>
66 33 <SettingItem>
67   - <n-button size="small" @click="optionData.weatherCss.airSpeedLevelTextColor = '#000000'">
68   - 恢复默认颜色
69   - </n-button>
  34 + <n-button size="small" @click="optionData.weatherCss.color = 'black'"> 恢复默认颜色 </n-button>
70 35 </SettingItem>
71 36 </SettingItemBox>
72 37 </CollapseItem>
... ...
... ... @@ -67,11 +67,11 @@ const onHandleSelectValues = (values: selectValueType) => {
67 67 <template #trigger>
68 68 <n-card class="card" :bordered="false">
69 69 <div class="card-content" v-for="(item, index) in weatherInfoValues.weatherInfo" :key="index">
70   - <div class="weather-temp">{{ item?.casts[0]?.daytemp }}°C</div>
71   - <div class="weather-city">{{ item?.city }}</div>
  70 + <div class="weather-text">{{ item?.casts[0]?.daytemp }}°C</div>
  71 + <div class="weather-text">{{ item?.city }}</div>
72 72 <div><img class="weather-img" :src="loadWeatherImg(item?.casts[0]?.dayweather)" /></div>
73   - <div class="weather-speed">{{ item?.casts[0]?.daywind }}</div>
74   - <div class="weather-speed-level">{{ loadWeatherLevel(item?.casts[0]?.daypower) }}</div>
  73 + <div class="weather-text">{{ item?.casts[0]?.daywind }}</div>
  74 + <div class="weather-text">{{ loadWeatherLevel(item?.casts[0]?.daypower) }}</div>
75 75 </div>
76 76 </n-card>
77 77 </template>
... ... @@ -95,29 +95,13 @@ const onHandleSelectValues = (values: selectValueType) => {
95 95 .card-content {
96 96 display: flex;
97 97 justify-content: space-between;
98   - .weather-temp {
99   - font-size: v-bind('`${weatherCss.temperatureTextSize}px`');
100   - color: v-bind('weatherCss.temperatureTextColor');
101   - }
102   - .weather-city {
103   - text-overflow: ellipsis;
104   - overflow: hidden;
105   - word-break: break-all;
106   - white-space: nowrap;
107   - font-size: v-bind('`${weatherCss.cityTextSize}px`');
108   - color: v-bind('weatherCss.cityTextColor');
109   - }
110 98 .weather-img {
111 99 width: v-bind('`${weatherCss.weatherIconSizeWidth}px`');
112 100 height: v-bind('`${weatherCss.weatherIconSizeHeight}px`');
113 101 }
114   - .weather-speed {
115   - font-size: v-bind('`${weatherCss.airSpeedTextSize}px`');
116   - color: v-bind('weatherCss.airSpeedTextColor');
117   - }
118   - .weather-speed-level {
119   - font-size: v-bind('`${weatherCss.airSpeedLevelTextSize}px`');
120   - color: v-bind('weatherCss.airSpeedLevelTextColor');
  102 + .weather-text{
  103 + font-size: v-bind('`${weatherCss.text}px`');
  104 + color: v-bind('weatherCss.color');
121 105 }
122 106 img {
123 107 width: 24px;
... ...