博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微信小程序项目实战之天气预报
阅读量:6638 次
发布时间:2019-06-25

本文共 4330 字,大约阅读时间需要 14 分钟。

概述

微信小程序项目实战之天气预报

详细

代码下载:

一、准备工作

1、注册微信小程序

QQ截图20170717112223.png

2、注册和风天气账号

QQ截图20170717112355.png

3、注册百度地图开放平台(小程序应用)

QQ截图20170717112300.png

4、在小程序设置中设置request合法域名

QQ截图20170717112727.png

二、程序实现

项目代码截图:

image.png

具体实现如下:

1、前端页面的实现

{
{city}} {
{district}}
{
{street}}
{
{tmp}}°
{
{txt}} | 空气 {
{qlty}}
{
{dir}}
微风
{
{sc}}级
相对湿度
{
{hum}}%
体感温度
{
{fl}}°
{
{day[i]}}
{
{item.cond.txt_d}}|{
{qlty}}
{
{item.tmp.min}}°/ {
{item.tmp.max}}°

2、css实现

/**index.wxss**//**common css**/.w{  color: white;}.b{  font-weight: bold;}.l{  border: 1rpx solid #fff;}.center{  text-align: center;  margin: auto 0;}.hor{  display: flex;}.f50{  font-size: 50rpx;}/**index css**/.bg {  width: 100%;  height: 700rpx;}.temp{  font-size: 170rpx;}.container {  position: absolute;  left: 0;  top: 0;  width: 100%;  padding: 0;  margin: 0;  height: 700rpx;  display: block;}.nowWeather{  padding: 60rpx;}.weahterDetail{  width: 100%;  display: flex;  flex-direction: row;  justify-content: space-around;  position: absolute;  bottom: 50rpx;}.forcast{  padding: 30rpx;  margin-left: 16rpx;  margin-right: 16rpx;  border-bottom: 1rpx solid #eee;  justify-content: space-around;}.img{  width: 60rpx;  height: 60rpx;  margin-right: 16rpx;}

3、js实现动态数据绑定

//index.js//获取应用实例var app = getApp()var day = ["今天","明天","后天"];Page({  data: {    day : day,  },  onLoad: function () {    console.log('onLoad')    var that = this    that.getLocation();  },  //获取经纬度方法  getLocation: function () {    var that = this    wx.getLocation({      type: 'wgs84',      success: function (res) {        var latitude = res.latitude        var longitude = res.longitude        console.log("lat:" + latitude + " lon:" + longitude);        that.getCity(latitude, longitude);      }    })  },  //获取城市信息  getCity: function (latitude, longitude) {    var that = this    var url = "https://api.map.baidu.com/geocoder/v2/";    var params = {      ak: "1G50Crx5QIKWy5o4R5Q1ONFSgmFIxfIR",      output: "json",      location: latitude + "," + longitude    }    wx.request({      url: url,      data: params,      success: function (res) {        var city = res.data.result.addressComponent.city;        var district = res.data.result.addressComponent.district;        var street = res.data.result.addressComponent.street;        that.setData({          city: city,          district: district,          street: street,        })        var descCity = city.substring(0, city.length - 1);        that.getWeahter(descCity);      },      fail: function (res) { },      complete: function (res) { },    })  },  //获取天气信息  getWeahter: function (city) {    var that = this    var url = "https://free-api.heweather.com/v5/weather"    var params = {      city: city,      key: "894fc2a749104d679fa022c3e71afe83"    }    wx.request({      url: url,      data: params,      success: function (res) {        var tmp = res.data.HeWeather5[0].now.tmp;        var txt = res.data.HeWeather5[0].now.cond.txt;        var code = res.data.HeWeather5[0].now.cond.code;        var qlty = res.data.HeWeather5[0].aqi.city.qlty;        var dir = res.data.HeWeather5[0].now.wind.dir;        var sc = res.data.HeWeather5[0].now.wind.sc;        var hum = res.data.HeWeather5[0].now.hum;        var fl = res.data.HeWeather5[0].now.fl;        var daily_forecast = res.data.HeWeather5[0].daily_forecast;        that.setData({          tmp: tmp,          txt: txt,          code: code,          qlty: qlty,          dir: dir,          sc: sc,          hum: hum,          fl: fl,          daily_forecast: daily_forecast        })      },      fail: function (res) { },      complete: function (res) { },    })  }})

三、运行效果

导入到微信web开发者工具,运行即可:

运行后,界面如下:

QQ截图20170714144814.png

 

代码下载:

注:本文著作权归作者,由demo大师发表,拒绝转载,转载需要作者授权

你可能感兴趣的文章
高级文件系统管理_学习笔记
查看>>
去掉主页 breadcrumb导航条上的<Liferay>字样
查看>>
Linux(一) 基本操作
查看>>
结合SSH2+Maven+EasyUI+MySQL技术实战开发易买网电子商务交易平台教程
查看>>
SDN in Action: OpenDaylight MD-SAL Programming
查看>>
Java8 十大新特性详解
查看>>
【51CTO学院三周年】在51cto的成长之路
查看>>
设计模式——抽象工厂模式
查看>>
我的友情链接
查看>>
Maven学习总结(七)——eclipse中使用Maven创建Web项目
查看>>
JEESZ分布式框架简介
查看>>
学科前沿技术作业二(下)
查看>>
tar
查看>>
vsftpd服务
查看>>
一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之创建输出验证码图片的控制器...
查看>>
UITextView实现占位文字的两种方法
查看>>
问题MySQL server has gone away
查看>>
SpriteKit-SKView
查看>>
Log4j 配置文件(log4j.properties)的所在路径问题(转)
查看>>
柜子和托的取值
查看>>