极简天气之小夭天气

作者: 执行上下文 | 来源:发表于2019-01-22 11:54 被阅读10次
1、利用周末两天的时间,参考小天气的风格,撸了一个天气小程序,【小夭天气】。
2、功能十分简单,查看当前地区的天气和搜索其他地区的天气,增加了可以生成图片分享出去。
3、上线后发现一个问题,就是极速提供的天气接口对区级市没有区分,例如 上海有宝山区,东北那也有一个。就没有区分。这是一个bug
4、其他有什么问题欢迎大家提意见和建议。

欢迎大家扫码体验

小夭天气

详情如下

首页 首页 首页 空气质量详情 生活指数详情 多日天气详情

部分代码如下:

    <!-- 生成图片 -->
    <view class="saveimage" wx:if="{{canvasPic}}">
      <view class="loading" wx:if="{{loading}}"><image src="../images/loading.gif" class="loading"></image></view>
      <canvasdrawer painting="{{painting}}" bind:getImage="eventGetImage"/>
      <view class="picbox">
          <view class="saveimageCont"><image src="{{shareImage}}" mode="widthFix"></image></view>
          <button class="keep" catchtap='eventSave'>{{shareText}}</button> 
          <text class="keep keep2" bindtap="closesaveimage">返回</text>
      </view>
    </view>
        <!--选择地区-->
        <view class="selectArea {{getLotion === '' ? 'nomargin' :'' }}" wx:if="{{selectArea}}">
            <!-- 返回 -->
            <view class="selectAreaBox" :dss="getLotion">
                <view class="back" wx:if="{{getLotion === 'null' || getLotion !== ''}}">
                    <view class="backIcon" bindtap="back">
                        <image src="../images/back.png" class="img"></image>
                    </view>
                </view>
                <view class="input">
                    <input type="text" class="Jinput" placeholder="请输入地区"  bindinput='writeArea' value="{{inpuText}}" ></input>
                    <image src="../images/serchicon.png" class="imgicon"></image>
                    <view class="clear" bindtap="clearInpuText"><image src="../images/clear.png" class="clearicon"></image></view>
                    <view class="sureBtn" bindtap="inputGoWeather"><image src="../images/surebtn.png" class="sureicon"></image></view>
                </view>
                <view class="tips">历史记录</view>
                <view class="hisCity">
                    <view class="hisCityBtn" data-city="{{list}}" wx:for="{{historyArea}}" wx:for-item="list" wx:key wx:if="historyArea.length > 0"  bindtap="goWeather">{{list}}</view>
                </view>
                <view class="tips">热门城市</view>
                <view class="recCity">
                     <view class="recCityBtn getLocation" bindtap="selectLocation"><image class="getLocationimg" src="../images/hoticon.png"></image>定位</view>
                    <view class="recCityBtn" data-city="{{list}}" wx:for="{{hotArea}}" wx:for-item="list" wx:key bindtap="goWeather">{{list}}</view>
                </view>
            </view>
        </view> 
 getWeatherData:function(city){
    var _this = this,
          thisdata = this.data,
          historyArea = thisdata.historyArea;
    wx.request({
      url: _this.data.api,
      data: {
        "city": city
      },
      method: 'get',
      header: {
        'Content-Type': 'application/json'
      },
      dataType: 'jsonp',
      jsonp: 'callback',
      success: function (res) {
        var res = res.data
        res = JSON.parse(res)
        if (res.status === "0") {
          var data = res['result']
          data.img = '../images/condicon/'+data.img+'b.png'
          _this.setData({
            getSuccess: 'true',
            getLotion: city,
            realdata: data,
            clock: data.updatetime,
            aqi: data['aqi'],
            aqiMsg: data.aqi.aqiinfo['affect'] + ',' + data.aqi.aqiinfo['measure'],
            life: data['index'],
            daily: data['daily'],
            hourly: data['hourly'],
            airPredict: '两小时之后天气' + data.hourly[2].weather + ' ,温度 ' + data.hourly[2].temp + '°',
            quality: data['aqi'].quality
          })
          // 搜索返回成功后 清除 输入框,将搜索结果放入历史记录
          // _this.$refs.clearText.value = ''
          if (thisdata.inpuText !== '') {
            if (thisdata.historyArea.indexOf(thisdata.inpuText) === -1) {
              historyArea.push(thisdata.inpuText)
              _this.setData({
                historyArea: historyArea
              })
            }
          }
          _this.back()
        } else {
          wx.showModal({
            title: '提示',
            content: res.msg,
            success: function (res) {
              if (res.confirm) {
                _this.setData({
                  msgText: '位置获取失败!!!请手动选择',
                  loadingBtn: true
                })
              } else if (res.cancel) {
                console.log('用户点击取消')
              }
            }
          })
        }
      },
// 定位获取
  selectLocation: function () {
    let _this = this
    _this.getlocation();
  },
  getlocation: function () {
    var _this = this
    wx.getLocation({
      type: 'wgs84',
      success: function (res) {
        console.log(res)
        var latitude = res.latitude
        var longitude = res.longitude
        var speed = res.speed
        var accuracy = res.accuracy
        qqmapsdk.reverseGeocoder({
          location: {
            latitude: latitude,
            longitude: longitude
          },
          success: function (res) { 
            console.log(res)
            _this.setData({
              getLotion: res.result.address_component.district ? res.result.address_component.district : res.result.address_component.city
            })
            wx.setNavigationBarTitle({
              title: res.result.address_component.district
            })
            _this.getWeatherData(res.result.address_component.district)
          }
        })
      },
      fail:function(res){
        _this.setData({
          msgText: '位置获取失败!!!请手动选择',
          loadingBtn:true
        })
      }
    })
  },

相关文章

  • 极简天气之小夭天气

    1、利用周末两天的时间,参考小天气的风格,撸了一个天气小程序,【小夭天气】。 2、功能十分简单,查看当前地区的天气...

  • 极简天气App隐私政策

    隐私政策 生效日期:2019年7月2日 <小天气>(“我们”,“我们”或“我们的”)是一款简单的天气应用程序(“服...

  • 极寒天气

    昨天就预报了今天是极寒天气,最低温度零下二十多度,体感温度零下四十多度。本来还想着今天送小的去上学。但是早上的时候...

  • 动手写一款简单的chrome天气插件

    极简天气 一款简单的chrome天气插件。 github https://github.com/yohnz/wea...

  • 大学简日之天气

    南方的天气很是多变,在我的家乡,许多的老人都说过,看天气预报,那不行,一点儿都不准。为什么他们如此不相信现代科技,...

  • 我真的只想看天气,不想看广告——极简天气APP《Pure天气》

    天气作为老生常谈的话题,在手机时代,也作为一个重要的APP类别,各大厂商也竞争激烈,但是现在越来越变样,长达几秒的...

  • 小天气

    每天想你,是我一个人的小天气 有这样的日子, 还没起床,就知道今天会非常想念你; 有这样的日子, 忙到半夜,才惊觉...

  • 青岛极寒天气

    2021年一月七日,青岛迎来了最冷的天气,气温达到了零下近十六度,海上结冰现象在青岛的历史上创了新低,青岛的朋友圈...

  • 《天气预报》极简读书笔记

    #作者:彼得·穆尔 #小铭曰:本笔记包含笔者自学心得,不完全涵盖原书全部内容,仅供参考 ---------- (1...

  • 212班6.0践行第十二周《极简主义系统复盘》

    《6.0极简主义践行地图》回顾 1. 极简主义与效能思维-启动会 2. 物质极简之居家极简 3. 物质极简之饮食极...

网友评论

    本文标题:极简天气之小夭天气

    本文链接:https://www.haomeiwen.com/subject/zxjljqtx.html