2022年夏季《移动软件开发》实验二报告

一、实验目标

1、掌握服务器域名配置和临时服务器部署;2、掌握 wx.request 接口的用法。

二、实验步骤

列出实验的关键步骤、代码解析、截图。

步骤一

先是设计UI界面。

顶部城市位置,使用微信自带的picker模块,mode属性调为region,用以更换全国各地区。

  <picker mode='region' bindchange='changeRegion'>
    <view>{{region}}</view>
  </picker>

下面的信息显示,结合html和css的设计,用flex进行排版,设计出基本的UI界面。

css部分

.container{
  height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #000;
  justify-content: space-around;
}
​
.detail{
  width: 100%;
  display: flex;
  flex-direction: column;
}
​
.bar{
  display: flex;
  flex-direction: row;
  margin:20rpx 0;
}
​
.box{
  width: 33%;
  text-align: center;
}
​
text{
  font-size: 80rpx;
  color: #3c5f81;
}
​
image{
  width: 350rpx;
  height: 300rpx;
}

html部分

<view class="detail">
    <view class="bar">
      <view class="box">温度</view>
      <view class="box">气压</view>
      <view class="box">能见度</view>
    </view>
    <view class="bar">
      <view class="box">{{temp}}°C</view>
      <view class="box">{{pressure}}hPa</view>
      <view class="box">{{vis}}Km</view>
    </view>
    <view class="bar">
      <view class="box">风向</view>
      <view class="box">风速</view>
      <view class="box">风力</view>
    </view>
    <view class="bar">
      <view class="box">{{windDir}}</view>
      <view class="box">{{windSpeed}}Km/h</view>
      <view class="box">{{windScale}}Km</view>
    </view>
  </view>

效果如图:

 

步骤二

获取和风天气的api,在微信小程序平台开放许可域名。在和风天气获取key用于request。

 

合法域名配置:

上面的域名用于获取天气,下面的域名用于获取城市id

 

步骤三

开始修改index.js文件,将需要的变量写入data。

data: {
    region: ["北京市", "北京市", "东城区"],
    regionID: 101010100,
    icon:999,
    text:"多云",
    temp:0,
    pressure:0,
    vis:0,
    windDir:0,
    windSpeed:0,
    windScale:0,
  },

步骤四

编写函数,利用每次更新城市的函数,调用getWeather函数。

getWeather函数中,location需要的是城市id,所以只能在添加一个函数getRegion,用于将城市名转换成id

changeRegion: function (e) {
    this.setData({
        region: e.detail.value
    })
    this.getWeather();
},
​
    //用于将城市名转化为城市id
    getRegion:function(){
        var that = this;
​
        wx.request({
            url: 'https://geoapi.qweather.com/v2/city/lookup?',
            data:{
                location:that.data.region[1],
                key:'b3247e83bb714301af7203e3f61b2d61'
            },
            success:function(res){
                // console.log(res.data),
                console.log(res.data.location[0].id),
                    that.data.regionID = res.data.location[0].id
            },
        })
​
    },
​
        getWeather: function () {
            var that = this;
            this.getRegion();
            wx.request({
                url: 'https://devapi.qweather.com/v7/weather/now?',
                data:{
                    // location:that.data.region[1],
                    location:that.data.regionID,
                    key:'b3247e83bb714301af7203e3f61b2d61'
                },
                success:function(res){
                    console.log(res.data);
                    console.log(res.data.now.temp);
                    that.setData({
                        icon:res.data.now.icon,
                        text:res.data.now.text,
                        temp:res.data.now.temp,
                        pressure:res.data.now.pressure,
                        vis:res.data.now.vis,
                        windDir:res.data.now.windDir,
                        windSpeed:res.data.now.windSpeed,
                        windScale:res.data.now.windScale,
                    })
                },
            })
        },

步骤五

添加打开程序自动获取城市信息。在onLoad函数中调用getWeather即可。

onLoad() {
    if (wx.getUserProfile) {
      this.setData({
        canIUseGetUserProfile: true
      })
      this.getWeather();
    }
  },

三、程序运行结果

启动

 

切换城市

 

新城市的天气信息

 

四、问题总结与体会

描述实验过程中所遇到的问题,以及是如何解决的。有哪些收获和体会,对于课程的安排有哪些建议。

问题

因为开发工具版本更新,原先的风和天气url的request申请从城市名变成了城市id,所以一开始一直无法正常获取request。为了正常获取request,又调用了一个新的接口geoapi来实现从城市名到城市id的转换。后面的步骤就非常顺利了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 对于凯立德导航公司而言,2022年夏季3p21j30下载是非常重要的。随着汽车普及率的不断提高,导航设备已成为车内必备的装置之一。凯立德导航公司作为行业领军企业,已经成为了全球导航设备的知名品牌之一。 在2022年夏季,凯立德导航公司将推出3p21j30下载。这款导航设备具有更高的精度和更完善的功能,比如可以提供实时交通信息、路线规划、语音提示等等。同时,它还拥有更加稳定和快速的定位系统,确保用户能够随时随地准确导航。 此外,为了满足用户的个性化需求,凯立德导航公司还设计了多种样式的导航地图,方便用户选择自己喜欢的地图样式,从而增强使用体验。凯立德导航公司还会不断更新和升级导航设备的软件,为用户提供更多的功能和服务。 总之,2022年凯立德导航夏季3p21j30下载代表了导航设备的最新技术和功能,无疑将成为消费者们的首选。它将为人们提供更为便利的出行体验,并且深受广大车主的喜爱和认可。 ### 回答2: 2022年凯立德导航夏季3p21j30版本的下载,需要先确认您使用的设备是属于凯立德导航支持的设备型号,以便您可以正常的下载和使用该版本软件。在下载前,您可以到凯立德官网或应用商店中搜索“凯立德导航”关键词,找到适合您设备型号的软件版本进行下载安装。 在使用凯立德导航时,需要注意以下几点: 1. 软件版本:凯立德导航提供了多个版本,包括免费版和付费版,根据您的实际需求选择相应的版本进行下载使用。 2. 地图更新:为了保证准确的导航,建议您定期更新导航地图,以便获得最新的路况信息和地图数据。 3. 使用标准:在使用凯立德导航时,请遵守交通规则,注意交通安全,不要在驾驶过程中看手机或操作软件,以免发生危险事故。 总之,下载2022年凯立德导航夏季3p21j30版本需要符合设备型号要求,并注意软件的版本和地图更新,遵守交通规则等。相信凯立德导航将会为您提供方便快捷的导航服务,帮助您安全出行。 ### 回答3: 抱歉,作为AI语言模型,我无法提供关于未来产品的下载信息。当时间到了2022年,您可以通过相关官方渠道获取凯立德导航夏季3p21j30版本的下载信息。同时,我们也希望在此提醒您,下载软件时一定要遵循官方正规渠道,并且保持警惕,避免下载和使用未知来源的软件,以免造成损失。谢谢!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

now i see

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

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

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

打赏作者

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

抵扣说明:

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

余额充值