【vue】封装的天气展示卡片,在线获取天气信息

20 篇文章 1 订阅
18 篇文章 0 订阅

源码

<template>
  <div class="sen_weather_wrapper">
    <div class="sen_top_box">
      <div class="sen_left_box">
        <div class="sen_top">
          <div class="sen_city">山东</div>
          <qctc-time class="sen_time_box"></qctc-time>
        </div>
        <div class="sen_bot">
          <div class="sen_current">{{ weatherObj.tempData }}<span>℃</span></div>
          <div class="sen_currentDays">
            <el-image style="width: 1.8rem; height: 1.8rem;margin-right: 5px;"
                      :src="weatherObj.weatherImg" fit="cover"/>
            <div>{{ weatherObj.minTemperature }}℃<span
                style="margin: 0 5px;">~</span>{{ weatherObj.maxTemperature }}℃
            </div>
          </div>
        </div>
      </div>
      <div class="sen_right_box">
        <span>风速:{{ weatherObj.degData }}{{ weatherObj.windspeed }}级</span>
        <span>湿度:{{ weatherObj.humidity }}%</span>
        <span>降水量:{{ weatherObj.rainfall }}毫米</span>
      </div>
    </div>
    <div class="sen_bot_box">
      <div class="list_box" v-for="(item,index) in weatherList">
        <div class="text_box">{{ item.day }}</div>
        <div class="text_box">{{ item.date }}</div>
        <div class="text_box">{{ item.description }}</div>
        <div class="img_box">
          <div class="" v-if="item.description == '晴'">
            <svg version="1.1" id="sunGlobe" xmlns="http://www.w3.org/2000/svg"
                 xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 100 100"
                 enable-background="new 0 0 100 100" xml:space="preserve">
							<g id="sunrays">
								<radialGradient id="XMLID_4_" cx="51.1566" cy="21.1667" r="4.7267"
                                gradientUnits="userSpaceOnUse">
									<stop offset="0.3333" style="stop-color:#FBD25A"/>
                  <stop offset="0.7581" style="stop-color:#FAD45D"/>
                  <stop offset="1" style="stop-color:#F5E16E"/>
								</radialGradient>

                <path id="XMLID_3_" fill="url(#XMLID_4_)" stroke="#6D6E71" stroke-width="0.5"
                      stroke-miterlimit="10" stroke-opacity="7.000000e-002" d="
								M56.1,25.3h-9.7c0,0-1.2-6.1,0-7.4c1.2-1.3,8.9-1,9.7,0C56.8,18.9,56.1,25.3,56.1,25.3z"/>
                <radialGradient id="XMLID_12_" cx="71.2457" cy="29.7708" r="6.0292"
                                gradientUnits="userSpaceOnUse">
									<stop offset="0.3333" style="stop-color:#FBD25A"/>
                  <stop offset="0.7581" style="stop-color:#FAD45D"/>
                  <stop offset="1" style="stop-color:#F5E16E"/>
								</radialGradient>

                <path id="XMLID_5_" fill="url(#XMLID_12_)" stroke="#6D6E71" stroke-width="0.5"
                      stroke-miterlimit="10" stroke-opacity="7.000000e-002" d="
								M71.8,35.8l-6.6-7.1c0,0,3.7-5,5.4-5.1s6.8,5.8,6.6,7.1C77.1,32,71.8,35.8,71.8,35.8z"/>
                <radialGradient id="XMLID_13_" cx="79.016" cy="49.1667" r="4.757"
                                gradientUnits="userSpaceOnUse">
									<stop offset="0.3333" style="stop-color:#FBD25A"/>
                  <stop offset="0.7581" style="stop-color:#FAD45D"/>
                  <stop offset="1" style="stop-color:#F5E16E"/>
								</radialGradient>

                <path id="XMLID_6_" fill="url(#XMLID_13_)" stroke="#6D6E71" stroke-width="0.5"
                      stroke-miterlimit="10" stroke-opacity="7.000000e-002" d="
								M75.1,54.2l-0.3-9.7c0,0,6.1-1.3,7.4-0.2c1.3,1.1,1.2,8.9,0.3,9.7C81.5,54.8,75.1,54.2,75.1,54.2z"/>
                <radialGradient id="XMLID_14_" cx="70.2457" cy="69.6002" r="6.0234"
                                gradientUnits="userSpaceOnUse">
									<stop offset="0.3333" style="stop-color:#FBD25A"/>
                  <stop offset="0.7581" style="stop-color:#FAD45D"/>
                  <stop offset="1" style="stop-color:#F5E16E"/>
								</radialGradient>

                <path id="XMLID_7_" fill="url(#XMLID_14_)" stroke="#6D6E71" stroke-width="0.5"
                      stroke-miterlimit="10" stroke-opacity="7.000000e-002" d="
								M64.3,70.7l6.4-7.2c0,0,5.3,3.2,5.5,4.9c0.2,1.7-5.2,7.3-6.4,7.2C68.5,75.6,64.3,70.7,64.3,70.7z"/>

                <radialGradient id="XMLID_15_" cx="50.7987" cy="78.0712" r="4.7789"
                                gradientTransform="matrix(0.998 -6.322496e-002 6.322496e-002 0.998 -4.8396 3.3703)"
                                gradientUnits="userSpaceOnUse">
									<stop offset="0.3333" style="stop-color:#FBD25A"/>
                  <stop offset="0.7581" style="stop-color:#FAD45D"/>
                  <stop offset="1" style="stop-color:#F5E16E"/>
								</radialGradient>

                <path id="XMLID_8_" fill="url(#XMLID_15_)" stroke="#6D6E71" stroke-width="0.5"
                      stroke-miterlimit="10" stroke-opacity="7.000000e-002" d="
								M45.8,74.2l9.7-0.2c0,0,1.3,6.1,0.2,7.4c-1.1,1.3-8.9,1.2-9.7,0.2C45.2,80.6,45.8,74.2,45.8,74.2z"/>
                <radialGradient id="XMLID_16_" cx="30.5864" cy="70.2252" r="6.0153"
                                gradientUnits="userSpaceOnUse">
									<stop offset="0.3333" style="stop-color:#FBD25A"/>
                  <stop offset="0.7581" style="stop-color:#FAD45D"/>
                  <stop offset="1" style="stop-color:#F5E16E"/>
								</radialGradient>

                <path id="XMLID_9_" fill="url(#XMLID_16_)" stroke="#6D6E71" stroke-width="0.5"
                      stroke-miterlimit="10" stroke-opacity="7.000000e-002" d="
								M29.3,64.3l7.3,6.3c0,0-3.1,5.4-4.8,5.6s-7.4-5-7.3-6.3C24.6,68.6,29.3,64.3,29.3,64.3z"/>
                <radialGradient id="XMLID_44_" cx="21.0871" cy="50" r="4.8093"
                                gradientUnits="userSpaceOnUse">
									<stop offset="0.3333" style="stop-color:#FBD25A"/>
                  <stop offset="0.7581" style="stop-color:#FAD45D"/>
                  <stop offset="1" style="stop-color:#F5E16E"/>
								</radialGradient>

                <path id="XMLID_10_" fill="url(#XMLID_44_)" stroke="#6D6E71" stroke-width="0.5"
                      stroke-miterlimit="10" stroke-opacity="7.000000e-002" d="
								M24.8,44.8l0.6,9.6c0,0-6,1.5-7.4,0.5c-1.4-1.1-1.5-8.8-0.6-9.6C18.3,44.4,24.8,44.8,24.8,44.8z"/>
                <radialGradient id="XMLID_45_" cx="29.9614" cy="29.0073" r="6.019"
                                gradientUnits="userSpaceOnUse">
									<stop offset="0.3333" style="stop-color:#FBD25A"/>
                  <stop offset="0.7581" style="stop-color:#FAD45D"/>
                  <stop offset="1" style="stop-color:#F5E16E"/>
								</radialGradient>

                <path id="XMLID_11_" fill="url(#XMLID_45_)" stroke="#6D6E71" stroke-width="0.5"
                      stroke-miterlimit="10" stroke-opacity="7.000000e-002" d="
								M36,28.6L28.7,35c0,0-4.9-3.8-4.9-5.6c0-1.7,6.1-6.6,7.3-6.3C32.4,23.3,36,28.6,36,28.6z"/>
							</g>
              <radialGradient id="XMLID_46_" cx="50" cy="49.1667" r="26.8776"
                              gradientUnits="userSpaceOnUse">
								<stop offset="0.3333" style="stop-color:#E3BF4C"/>
                <stop offset="0.7473" style="stop-color:#F4CE52"/>
                <stop offset="1" style="stop-color:#F5E16E"/>
							</radialGradient>
              <ellipse id="XMLID_1_" fill="url(#XMLID_46_)" stroke="#58595B" stroke-width="0.5"
                       stroke-miterlimit="10" stroke-opacity="7.000000e-002" cx="50" cy="49.2" rx="27.3"
                       ry="26.5"/>
						</svg>
          </div>
          <div class="" v-if="item.description == '多云'">
            <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
                 x="0px" y="0px" viewBox="0 0 100 100" enable-background="new 0 0 100 100"
                 xml:space="preserve">
							<g id="Layer_4">
								<radialGradient id="chubbyMoon_1_" cx="73.25" cy="20.1667" r="71.3092"
                                gradientUnits="userSpaceOnUse">
									<stop offset="0.4082" style="stop-color:#D3D0B2"/>
                  <stop offset="0.42" style="stop-color:#C5C4A0"/>
								</radialGradient>
                <ellipse id="chubbyMoon" fill="url(#chubbyMoon_1_)" stroke="#58595B" stroke-width="0.5"
                         stroke-miterlimit="10" stroke-opacity="7.000000e-002" cx="61.8" cy="31.2" rx="27.3"
                         ry="26.5"/>
                <radialGradient id="mooncrater_2_" cx="248.5072" cy="171.0079" r="71.3092"
                                gradientTransform="matrix(0.2761 0 0 0.2761 -4.5736 -17.9305)"
                                gradientUnits="userSpaceOnUse">
									<stop offset="0.385" style="stop-color:#C2B99D"/>
                  <stop offset="0.4082" style="stop-color:#B5AA86"/>
								</radialGradient>
                <ellipse id="mooncrater" fill="url(#mooncrater_2_)" stroke="#58595B" stroke-width="0.5"
                         stroke-miterlimit="10" stroke-opacity="7.000000e-002" cx="60.9" cy="32.3" rx="7.5"
                         ry="7.3"/>
                <radialGradient id="mooncrater_4_" cx="328.3989" cy="-40.7337" r="71.3092"
                                gradientTransform="matrix(7.215338e-002 0 0 7.215340e-002 25.6009 15.7241)"
                                gradientUnits="userSpaceOnUse">
									<stop offset="0.385" style="stop-color:#C2B99D"/>
                  <stop offset="0.4082" style="stop-color:#B5AA86"/>
								</radialGradient>

                <ellipse id="mooncrater_1_" fill="url(#mooncrater_4_)" stroke="#58595B"
                         stroke-width="0.5" stroke-miterlimit="10" stroke-opacity="7.000000e-002" cx="48.5"
                         cy="13.6" rx="2" ry="1.9"/>
                <radialGradient id="mooncrater_6_" cx="455.6206" cy="33.6355" r="71.3092"
                                gradientTransform="matrix(0.1198 0 0 0.1198 13.506 8.4935)"
                                gradientUnits="userSpaceOnUse">
									<stop offset="0.385" style="stop-color:#C2B99D"/>
                  <stop offset="0.4082" style="stop-color:#B5AA86"/>
								</radialGradient>
                <ellipse id="mooncrater_3_" fill="url(#mooncrater_6_)" stroke="#58595B"
                         stroke-width="0.5" stroke-miterlimit="10" stroke-opacity="7.000000e-002" cx="66.7"
                         cy="13.8" rx="3.3" ry="3.2"/>
                <radialGradient id="mooncrater_7_" cx="532.6715" cy="160.4353" r="71.3092"
                                gradientTransform="matrix(0.1405 0 0 0.1405 6.587 5.366)"
                                gradientUnits="userSpaceOnUse">
									<stop offset="0.385" style="stop-color:#C2B99D"/>
                  <stop offset="0.4082" style="stop-color:#B5AA86"/>
								</radialGradient>
                <ellipse id="mooncrater_5_" fill="url(#mooncrater_7_)" stroke="#58595B"
                         stroke-width="0.5" stroke-miterlimit="10" stroke-opacity="7.000000e-002" cx="79.8"
                         cy="29.4" rx="3.8" ry="3.7"/>
                <radialGradient id="mooncrater_10_" cx="236.5847" cy="186.8517" r="71.3092"
                                gradientTransform="matrix(0.1712 0 0 0.1712 2.2486 -2.7871)"
                                gradientUnits="userSpaceOnUse">
									<stop offset="0.385" style="stop-color:#C2B99D"/>
                  <stop offset="0.4082" style="stop-color:#B5AA86"/>
								</radialGradient>
                <ellipse id="mooncrater_8_" fill="url(#mooncrater_10_)" stroke="#58595B"
                         stroke-width="0.5" stroke-miterlimit="10" stroke-opacity="7.000000e-002" cx="40.8"
                         cy="31.1" rx="4.7" ry="4.5"/>
                <radialGradient id="mooncrater_12_" cx="315.6328" cy="235.365" r="71.3092"
                                gradientTransform="matrix(0.1135 0 0 0.1135 12.8171 17.5574)"
                                gradientUnits="userSpaceOnUse">
									<stop offset="0.385" style="stop-color:#C2B99D"/>
                  <stop offset="0.4082" style="stop-color:#B5AA86"/>
								</radialGradient>
                <ellipse id="mooncrater_9_" fill="url(#mooncrater_12_)" stroke="#58595B"
                         stroke-width="0.5" stroke-miterlimit="10" stroke-opacity="7.000000e-002" cx="47.3"
                         cy="45.5" rx="3.1" ry="3"/>
                <radialGradient id="mooncrater_13_" cx="500.9887" cy="293.8005" r="71.3092"
                                gradientTransform="matrix(0.1135 0 0 0.1135 12.8171 17.5574)"
                                gradientUnits="userSpaceOnUse">
									<stop offset="0.385" style="stop-color:#C2B99D"/>
                  <stop offset="0.4082" style="stop-color:#B5AA86"/>
								</radialGradient>
                <ellipse id="mooncrater_11_" fill="url(#mooncrater_13_)" stroke="#58595B"
                         stroke-width="0.5" stroke-miterlimit="10" stroke-opacity="7.000000e-002" cx="68.4"
                         cy="52.2" rx="3.1" ry="3"/>
							</g>
              <g id="smallcloud">
								<path id="XMLID_3_" fill="#5BCAEB" stroke="#6D6E71" stroke-width="0.5"
                      stroke-miterlimit="10" stroke-opacity="8.000000e-002" d="
								M19,39.9c0,0,5.7,1.7,7-1.2c5.4,3,9.1,0.6,11.5,0c0.5,2.3,6.1,1.2,6.1,1.2s10.7-2.6,9.9-11.7c0,0-1.9-12.4-14-10
								c0,0-9.7-9.5-18.6,2.5c0,0-9-0.5-10.3,10C10.6,30.7,10.9,37.8,19,39.9z"/>
							</g>
              <g id="bigCloud">
								<path id="XMLID_9_" fill="#F4F4F4" stroke="#515251" stroke-width="0.5"
                      stroke-miterlimit="10" stroke-opacity="8.000000e-002"
                      d="	M22.3,65.5c0,0-8.9-2.9-9.3-12.8s10-11.3,11.4-10.1c0,0,2.5-8.4,10.1-8.6c0,0,3.5-13.4,17.8-13.1c0,0,15.6-0.8,17.9,16.4
						c0,0,12.9-1,13.4,15.1c0,0-1.4,10.9-11.9,13.1c0,0-12,2-13.8-2.3c-0.2,2.1-15,6-19.6,0C33.8,68.4,22.3,65.5,22.3,65.5z"/>
							</g>
						</svg>
          </div>
          <div class=""
               v-if="item.description == '小雨' || item.description == '中雨' || item.description == '大雨'">
            <svg class="svg" version="1.1" xmlns="http://www.w3.org/2000/svg"
                 xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 100 100"
                 enable-background="new 0 0 100 100" xml:space="preserve">
							<g id="rain">
								<path class="raindrop" id="drop1" fill="url(#XMLID_19_)" stroke="#000000"
                      stroke-width="0.5" stroke-miterlimit="10" stroke-opacity="0.5" d="
								M33.8,67.2c0,0-10.4,14.3,0,14.3C44.4,81.5,33.8,67.2,33.8,67.2z"/>
                <path class="raindrop" id="drop2" fill="url(#XMLID_19_)" stroke="#000000"
                      stroke-width="0.5" stroke-miterlimit="10" stroke-opacity="0.5" d="
								M48.2,67c0,0-10.4,14.3,0,14.3C58.8,81.3,48.2,67,48.2,67z"/>
                <linearGradient id="XMLID_19_" gradientUnits="userSpaceOnUse" x1="57.7887" y1="74.1052"
                                x2="67.118" y2="74.1052">
									<stop offset="0.4718" style="stop-color:#5CCAEB"/>
                  <stop offset="0.5339" style="stop-color:#51B1CD"/>
								</linearGradient>
                <path class="raindrop" id="drop3" fill="url(#XMLID_19_)" stroke="#000000"
                      stroke-width="0.5" stroke-miterlimit="10" stroke-opacity="0.5" d="
								M62.4,67c0,0-10.4,14.3,0,14.3C73,81.3,62.4,67,62.4,67z"/>
							</g>
              <g id="bigCloudRain">

								<path id="XMLID_1_" fill="#F4F4F4" stroke="#515251" stroke-width="0.5"
                      stroke-miterlimit="10" stroke-opacity="8.000000e-002"
                      d="
								M22.3,65.5c0,0-8.9-2.9-9.3-12.8s10-11.3,11.4-10.1c0,0,2.5-8.4,10.1-8.6c0,0,3.5-13.4,17.8-13.1c0,0,15.6-0.8,17.9,16.4
								c0,0,12.9-1,13.4,15.1c0,0-1.4,10.9-11.9,13.1c0,0-12,2-13.8-2.3c-0.2,2.1-15,6-19.6,0C33.8,68.4,22.3,65.5,22.3,65.5z"/>
							</g>
						</svg>
          </div>
          <div class="" v-if="item.description == '阴'">
            <svg class="svg" version="1.1" xmlns="http://www.w3.org/2000/svg"
                 xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 100 100"
                 enable-background="new 0 0 100 100" xml:space="preserve">
							<g id="bigCloudRain">

								<path id="XMLID_1_" fill="#F4F4F4" stroke="#515251" stroke-width="0.5"
                      stroke-miterlimit="10" stroke-opacity="8.000000e-002"
                      d="
								M22.3,65.5c0,0-8.9-2.9-9.3-12.8s10-11.3,11.4-10.1c0,0,2.5-8.4,10.1-8.6c0,0,3.5-13.4,17.8-13.1c0,0,15.6-0.8,17.9,16.4
								c0,0,12.9-1,13.4,15.1c0,0-1.4,10.9-11.9,13.1c0,0-12,2-13.8-2.3c-0.2,2.1-15,6-19.6,0C33.8,68.4,22.3,65.5,22.3,65.5z"/>
							</g>
						</svg>
          </div>
          <div class="" v-if="item.description == '雷阵雨'">
            <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
                 x="0px" y="0px" viewBox="0 0 100 100" enable-background="new 0 0 100 100"
                 xml:space="preserve">
							<g id="thunder">
								<polygon fill="#FAC73F"
                         points="45.6,61.5 39.4,77.6 47.6,77.4 43.1,91.9 44.3,91.9 59.3,73.5 51.4,73.4 58.7,61.5 	"/>
							</g>
              <g id="smallcloud">

								<path id="XMLID_3_" fill="#F4F4F4" stroke="#6D6E71" stroke-width="0.5"
                      stroke-miterlimit="10" stroke-opacity="8.000000e-002" d="
								M19,39.9c0,0,5.7,1.7,7-1.2c5.4,3,9.1,0.6,11.5,0c0.5,2.3,6.1,1.2,6.1,1.2s10.7-2.6,9.9-11.7c0,0-1.9-12.4-14-10
								c0,0-9.7-9.5-18.6,2.5c0,0-9-0.5-10.3,10C10.6,30.7,10.9,37.8,19,39.9z"/>
							</g>
              <g id="bigClouds">

								<path id="XMLID_16_" fill="#F4F4F4" stroke="#515251" stroke-width="0.5"
                      stroke-miterlimit="10" stroke-opacity="8.000000e-002"
                      d="
								M22.3,65.5c0,0-8.9-2.9-9.3-12.8s10-11.3,11.4-10.1c0,0,2.5-8.4,10.1-8.6c0,0,3.5-13.4,17.8-13.1c0,0,15.6-0.8,17.9,16.4
								c0,0,12.9-1,13.4,15.1c0,0-1.4,10.9-11.9,13.1c0,0-12,2-13.8-2.3c-0.2,2.1-15,6-19.6,0C33.8,68.4,22.3,65.5,22.3,65.5z"/>
							</g>
						</svg>
          </div>
          <div class=""
               v-if="item.description == '小雪' || item.description == '中雪' || item.description == '大雪'">
            <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
                 x="0px" y="0px" viewBox="0 0 100 100" enable-background="new 0 0 100 100"
                 xml:space="preserve">
							<g id="snowflakes">
								<g id="flake3">
									<path fill="#5BCAEB" d="M72,78.1c0.6,0.6,0.6,1.6,0,2.2l0,0c-0.6,0.6-1.6,0.6-2.2,0l-8.7-8.7C60.5,71,60.3,70,61,69.3
									s1.7-0.4,2.3,0.2L72,78.1z"/>
                  <path fill="#5BCAEB" d="M63.1,80.3c-0.6,0.6-1.6,0.6-2.2,0l0,0c-0.6-0.6-0.6-1.6,0-2.2l8.7-8.7c0.6-0.6,1.7-0.8,2.3-0.2
									c0.7,0.7,0.4,1.7-0.2,2.3L63.1,80.3z"/>
                  <path fill="#5BCAEB" d="M60.2,76.3c-0.9,0-1.5-0.7-1.5-1.5l0,0c0-0.9,0.7-1.5,1.5-1.5h12.3c0.9,0,1.8,0.6,1.8,1.5
									c0,0.9-0.9,1.5-1.8,1.5H60.2z"/>
                  <path id="XMLID_8_" fill="#5BCAEB" d="M68,81c0,0.9-0.7,1.5-1.5,1.5l0,0c-0.9,0-1.5-0.7-1.5-1.5V68.8c0-0.9,0.6-1.8,1.5-1.8
									c0.9,0,1.5,0.9,1.5,1.8V81z"/>
								</g>
                <g id="flake2">
									<path fill="#5BCAEB" d="M53.5,78.1c0.6,0.6,0.6,1.6,0,2.2l0,0c-0.6,0.6-1.6,0.6-2.2,0l-8.7-8.7C42,71,41.8,70,42.5,69.3
									c0.7-0.7,1.7-0.4,2.3,0.2L53.5,78.1z"/>
                  <path fill="#5BCAEB" d="M44.6,80.3c-0.6,0.6-1.6,0.6-2.2,0l0,0c-0.6-0.6-0.6-1.6,0-2.2l8.7-8.7c0.6-0.6,1.7-0.8,2.3-0.2
									c0.7,0.7,0.4,1.7-0.2,2.3L44.6,80.3z"/>
                  <path fill="#5BCAEB" d="M41.7,76.3c-0.9,0-1.5-0.7-1.5-1.5l0,0c0-0.9,0.7-1.5,1.5-1.5H54c0.9,0,1.8,0.6,1.8,1.5
									c0,0.9-0.9,1.5-1.8,1.5H41.7z"/>
                  <path id="XMLID_17_" fill="#5BCAEB" d="M49.5,81c0,0.9-0.7,1.5-1.5,1.5l0,0c-0.9,0-1.5-0.7-1.5-1.5V68.8c0-0.9,0.6-1.8,1.5-1.8
									c0.9,0,1.5,0.9,1.5,1.8V81z"/>
								</g>
                <g id="flake1">
									<path fill="#5BCAEB" d="M35.1,78.1c0.6,0.6,0.6,1.6,0,2.2l0,0c-0.6,0.6-1.6,0.6-2.2,0l-8.7-8.7c-0.6-0.6-0.8-1.7-0.2-2.3
									c0.7-0.7,1.7-0.4,2.3,0.2L35.1,78.1z"/>
                  <path fill="#5BCAEB" d="M26.3,80.3c-0.6,0.6-1.6,0.6-2.2,0l0,0c-0.6-0.6-0.6-1.6,0-2.2l8.7-8.7c0.6-0.6,1.7-0.8,2.3-0.2
									c0.7,0.7,0.4,1.7-0.2,2.3L26.3,80.3z"/>
                  <path fill="#5BCAEB" d="M23.4,76.3c-0.9,0-1.5-0.7-1.5-1.5l0,0c0-0.9,0.7-1.5,1.5-1.5h12.3c0.9,0,1.8,0.6,1.8,1.5
									c0,0.9-0.9,1.5-1.8,1.5H23.4z"/>
                  <path fill="#5BCAEB" d="M31.1,81c0,0.9-0.7,1.5-1.5,1.5l0,0c-0.9,0-1.5-0.7-1.5-1.5V68.8c0-0.9,0.6-1.8,1.5-1.8s1.5,0.9,1.5,1.8
									V81z"/>
								</g>
							</g>
              <g id="bigCloudSnow">

								<path id="XMLID_1_" fill="#F4F4F4" stroke="#515251" stroke-width="0.5"
                      stroke-miterlimit="10" stroke-opacity="8.000000e-002"
                      d="
								M22.3,65.5c0,0-8.9-2.9-9.3-12.8s10-11.3,11.4-10.1c0,0,2.5-8.4,10.1-8.6c0,0,3.5-13.4,17.8-13.1c0,0,15.6-0.8,17.9,16.4
								c0,0,12.9-1,13.4,15.1c0,0-1.4,10.9-11.9,13.1c0,0-12,2-13.8-2.3c-0.2,2.1-15,6-19.6,0C33.8,68.4,22.3,65.5,22.3,65.5z"/>
							</g>
						</svg>
          </div>
          <!-- <el-image style="width: 3rem; height: 3rem;":src="item.weatherImg" fit="cover" /> -->
        </div>
        <div class="text_box1">{{ item.minTemperature }}℃<span
            style="margin: 0 5px;">~</span>{{ item.maxTemperature }}℃
        </div>
      </div>
      <div class="chart_box">
        <q-charts :option="weatherOption"></q-charts>
      </div>
    </div>
  </div>
</template>

资料包:https://download.csdn.net/download/galaxyJING/89331774

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要根据当前位置获取天气信息,你需要使用浏览器的定位功能来获取用户的经纬度,然后将经纬度传递给一个天气 API 接口,获取天气信息。 以下是一个使用 Vue.js 实现这一功能的示例: 首先,你需要使用 HTML5 的 Geolocation API 来获取用户的当前位置信息,代码如下: ```javascript if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(position => { const { latitude, longitude } = position.coords // 在这里调用天气 API 接口,传递经纬度参数 }) } else { console.error("Geolocation is not supported by this browser.") } ``` 接下来,你需要调用一个天气 API 接口来获取天气信息。这里我们使用 OpenWeatherMap 提供的免费天气 API 接口。你可以在 OpenWeatherMap 注册一个账号,然后获取一个 API Key。 以下是一个可以获取天气信息Vue.js 组件,代码中使用了 axios 库来发送 HTTP 请求: ```vue <template> <div> <h1>{{ city }}</h1> <p>{{ description }}</p> <p>{{ temperature }}°C</p> </div> </template> <script> import axios from 'axios' export default { data() { return { city: '', description: '', temperature: '' } }, mounted() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(position => { const { latitude, longitude } = position.coords const apiKey = 'your-api-key' // 替换成你自己的 OpenWeatherMap API Key const apiUrl = `https://api.openweathermap.org/data/2.5/weather?lat=${latitude}&lon=${longitude}&appid=${apiKey}&units=metric` axios.get(apiUrl) .then(response => { const { name, weather, main } = response.data this.city = name this.description = weather[0].description this.temperature = main.temp }) .catch(error => { console.error(error) }) }) } else { console.error("Geolocation is not supported by this browser.") } } } </script> ``` 在上面的代码中,我们使用了 Vue.js 的 data 属性来存储获取到的天气信息,并在模板中展示出来。在组件的 mounted 钩子函数中,我们调用了浏览器的 Geolocation API 获取用户的位置信息,并将经纬度参数传递给 OpenWeatherMap 的 API 接口,获取天气信息。在获取成功后,我们更新 data 属性中的值,以便在模板中展示出来。 你可以将上面的代码复制到一个 Vue.js 单文件组件中,然后在你的应用程序中使用这个组件,就可以根据用户的位置获取天气信息了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LXXgalaxy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值