微信小程序开发 Day03

任务:1、在“我的” 页面调用微信小程序里的方法,把用户头像、用户名称做一个列表;

           2、 调用微信小程序的接口获取手机信息,在“我的” 页面里把手机信息展示出来(包括手机型号、手机系统、分辨率);

           3、把整个“地图”页面变成地图(最好有浮标定位到当前位置)作业提交形式:有源代码和两个页面的手机截图。

1、在“我的” 页面调用微信小程序里的方法,把用户头像、用户名称做一个列表

2、 调用微信小程序的接口获取你的手机信息,在“我的” 页面里把手机信息展示出来(包括手机型号、手机系统、分辨率)

这个任务其实与第二个任务的形式相似,都是通过访问接口让用户反馈信息的方式,再将信息调用到面板让用户能够看到,在我看来最难的一步就是让控制台的信息放到版面的操作了。

调用小程序,将用户头像,用户名做成列表;手机信息,在“我的” 页面里把手机信息展示出来(包括手机型号、手机系统、分辨率)原码如下:

js原码:

const app = getApp()
Page({
  data: {
    model: '',
    pixelRatio: '',
    windowWidth: '',
    windowHeight: '',
    language: '',
    version: '',
    system: '',
    platform: ''
  },
  onLoad: function () {
  },

  getInfo: function () {
    var _this = this;
    wx.getSystemInfo({
      success: function (res) {
        _this.setData({
          model: res.model,
          pixelRatio: res.pixelRatio,
          windowWidth: res.windowWidth,
          windowHeight: res.windowHeight,
          language: res.language,
          version: res.version,
          system: res.system,
          platform: res.platform
        })
      },
      fail: function (res) {
      },
      complete: function (res) {
      }
    })
  }
})

wxml原码:

<!-- 如果只是展示用户头像昵称,可以使用 <open-data /> 组件 -->
<view class='header'>
 <open-data  type="userAvatarUrl"></open-data>
  </view>
  <view class='wenzi'>
  用户名:<open-data type="userNickName"></open-data>
  </view>
<view class="container">
  <button bindtap='getInfo'>获取系统信息</button>
  <view wx:if="{{model !=''}}">
    <view>手机型号:{{model}}</view>
    <view>设备像素比:{{pixelRatio}}</view>
    <view>窗口宽度:{{windowWidth}}</view>
    <view>窗口高度:{{windowHeight}}</view>
    <view>微信设置的语言:{{language}}</view>
    <view>微信版本号:{{version}}</view>
    <view>操作系统版本:{{system}}</view>
    <view>客户端平台:{{platform}}</view>
  </view>
</view>
<!-- 需要使用 button 来授权登录 -->
<button wx:if="{{canIUse}}" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo" style='width:150px ;hight:40px;'>授权登录</button>

wxss原码:

.header {
  position: relative;
  margin: 90rpx 0 90rpx 50rpx;
  width: 650rpx;
  height: 320rpx;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.wenzi{
  text-align: center;
} 

完成图如下:

 3、把整个“地图”页面变成地图(最好有浮标定位到当前位置)作业提交形式:有源代码和两个页面的手机截图

这个任务相对前两个来说简单很多,只要按照微信文件里面的教程操作就可以完成了,但是这之中有一个以后会经常遇到的问题,就是如果width和height都设置为100%的话,height无论如何都会变为0,无法正常显示模块,因此解决方法就是在classfly.wxss里面添加:

  page{
  height: 100%;
}

原因是菜单下面的元素使用了float属性。而float属性,会导致父元素的高度为0.以前在chrome或者Firefox下查看元素,父元素的高度都会是0.chrome的标尺会直接标出来是0,而Firefox下,则会看不到父元素。

下面是“地图”源代码:

js源代码:

Page({
  data: {
    longitude: 113.324520,
    latitude: 23.099994,
    markers: [{
      id: 0,
      iconPath: "../../images/icon_cur_position.png",
      latitude: 23.099994,
      longitude: 113.324520,
      width: 50,
      height: 50
    }]
  },
  onLoad: function () {
    var that = this;
    wx.getLocation({
      type: "wgs84",
      success: function (res) {
        var latitude = res.latitude;
        var longitude = res.longitude;
        //console.log(res.latitude);
        that.setData({
          latitude: res.latitude,
          longitude: res.longitude,
          markers: [{
            latitude: res.latitude,
            longitude: res.longitude
          }]
        })
      }
    })
  },
  onReady: function () {

  }
})

wxml源代码:

<view class="" hover-class="none" hover-stop-propagation="false" style="width: 100%; height: 100%;">

  <map id="map" longitude="{{longitude}}" latitude=" {{latitude}}" markers="{{markers}}" scale="13" show-location style="width: 100%; height: 100%;"></map>
  {{longitude}}

</view>

wxss源代码:

  page{
  height: 100%;
}

实现图片如下:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值