元素水平+垂直居中

昨天的用户页的用户头像,是根据已知的像素大小,设置固定的值,达到居中的效果。

今日切换机型进行适配,发现对不同尺寸大小的屏幕不匹配。所以对wxss进行修改,真正达到水平+垂直居中。

参考博客:https://blog.csdn.net/qq_32623363/article/details/77101971

修改部分的wxss代码:

.portrait-user {
position: absolute;
width: 64px;
height: 94px;
/* 水平+垂直居中 */
margin: auto;
top: 0;
bottom: 0;
left: 0;
right: 0;
justify-content: center;
}
/* 该元素的父元素,需要设置position: relative; */

用户页--设置模块

暂时只做了四个部分:

wxml+wxss代码:

<view class='settingMod'>
<view class='settingItem'>
<text class='settingText'>{{weather}}</text>
<switch class='switch-weather' color='#8CBEF5' bindchange='switchChange'></switch>
</view>
<view class='settingItem' bindtap='toEdit'>
<text class='settingText'>分享攻略</text>
<image class='arrow' src='{{arrowUrl}}'></image>
</view>
<view class='settingItem'>
<text class='settingText'>其他设置</text>
<image class='arrow' src='{{arrowUrl}}'></image>
</view>
<view class='settingItem'>
<text class='settingText'>意见反馈</text>
<icon class='settingIcon' type='info' size=''></icon>
<image class='arrow' src='{{arrowUrl}}'></image>
</view>
</view>
.settingItem {
height: 35px;
border-bottom: solid #7676776b;
padding-top: 5px;
}
.settingText,.settingIcon {
font-size: 18px;
vertical-align: middle;/*垂直对齐方式*/
padding-left: 10px;
}
.switch-weather {
float: right;
padding-right: 10px;
}
.arrow {
float: right;
width: 32px;
height: 32px;
padding-right: 10px;
}

开关获取天气

开关用了switch组件,通过bindchange属性来触发开关事件。

天气信息,是从和风天气获取的实时天气信息。

js代码:

  /**
* 获取实时天气数据
*/
switchChange: function(e){
// console.log(e);
if(e.detail.value){
wx.request({
url: 'https://free-api.heweather.com/s6/weather/now?parameters',
data: {
location: "上海",
key: "***"
},
success:(res)=>{
console.log(res);
var location = res.data.HeWeather6[].basic.location;
var weather = res.data.HeWeather6[].now.cond_txt;
var tmp = res.data.HeWeather6[].now.tmp;
this.setData({
weather: location + " " + weather + " " + tmp + "度"
})
}
})
}
else{
this.setData({
weather: "打开开关,获取实时天气"
})
}
}

location,这里暂时设定为固定城市,后续会根据获取的位置信息而改变。

key,需要到和风天气的网站注册后获取。

分享攻略页面

点击分享攻略,会跳转到分享编辑页面。该页面有上传图片、发送位置信息等功能。

用wx.navigateTo进行页面跳转;当然,用navigator组件也是同样的效果。

攻略编辑页面,是一个form表单,里面的数据都要向服务器传输。

第一部分,文字输入框 + 图片输入框

wxml+wxss代码:

<view class='editMod'>
<textarea name="blog" placeholder='分享你的美食'></textarea>
<image src='{{PicUrl}}' class='addPic' wx:if="{{upImg}}"></image>
<image src='{{addPicUrl}}' class='addPic' bindtap='addImg'></image>
</view>
.editMod {
border-bottom: solid #7676776b;
padding-top: 5px;
}
.editMod textarea {
padding: 20px;
}
.addPic {
width: 80px;
height: 80px;
padding-left: 20px;
padding-bottom: 20px;
}

在对图片进行添加后,因为要上传到服务器进行保存,所以我们在腾讯云上,来搭建小程序的服务器。

微信小程序—day04的更多相关文章

  1. 微信小程序开发心得

    微信小程序也已出来有一段时间了,最近写了几款微信小程序项目,今天来说说感受. 首先开发一款微信小程序,最主要的就是针对于公司来运营的,因为,在申请appid(微信小程序ID号)时候,需要填写相关的公司 ...

  2. 微信小程序体验(2):驴妈妈景区门票即买即游

    驴妈妈因为出色的运营能力,被腾讯选为首批小程序内测单位.驴妈妈的技术开发团队在很短的时间内完成了开发任务,并积极参与到张小龙团队的内测问题反馈.驴妈妈认为,移动互联网时代,微信是巨大的流量入口,也是旅 ...

  3. 微信小程序(微信应用号)组件讲解

    这篇文章主要讲解微信小程序的组件. 首先,讲解新建项目.现在有句话:招聘三天以上微信小程序开发,这个估计只能去挖微信的工程师了.技术新,既然讲解,那我们就从开始建项目讲解. 打开微信web开发者工具, ...

  4. 神技!微信小程序(应用号)抢先入门教程(附最新案例DEMO-豆瓣电影)持续更新

    微信小程序 Demo(豆瓣电影) 由于时间的关系,没有办法写一个完整的说明,后续配合一些视频资料,请持续关注 官方文档:https://mp.weixin.qq.com/debug/wxadoc/de ...

  5. 通过微信小程序看前端

    前言 2016年9月22日凌晨,微信官方通过“微信公开课”公众号发布了关于微信小程序(微信应用号)的内测通知.整个朋友圈瞬间便像炸开了锅似的,各种揣测.介绍性文章在一夜里诞生.而真正收到内测邀请的公众 ...

  6. 快速了解微信小程序的使用,一个根据小程序的框架开发的todos app

    微信官方已经开放微信小程序的官方文档和开发者工具.前两天都是在看相关的新闻来了解小程序该如何开发,这两天官方的文档出来之后,赶紧翻看了几眼,重点了解了一下文档中框架与组件这两个部分,然后根据简易教程, ...

  7. 来自于微信小程序的一封简讯

    9月21晚间,微信向部分公众号发出公众平台-微信应用号(小程序)的内测邀请,向来较为低调的微信在这一晚没人再忽视它了. 来自个人博客:Damonare的个人博客 一夜之间火了的微信应用号你真的知道吗? ...

  8. 微信小程序前端源码逻辑和工作流

    看完微信小程序的前端代码真的让我热血沸腾啊,代码逻辑和设计一目了然,没有多余的东西,真的是大道至简. 废话不多说,直接分析前端代码.个人观点,难免有疏漏,仅供参考. 文件基本结构: 先看入口app.j ...

  9. 微信小程序初探

    做为码农相信大家最近肯定都会听到微信小程序,虽然现阶段还没有正式开放注册,但大家可以还是可以开发测试. 到微信的WIKI(http://mp.weixin.qq.com/wiki?t=resource ...

随机推荐

  1. DataGrid添加滚动条

    DataGrid中是没有滚动条的,要添加滚动条需要借助<div>层 <div style="overflow:auto;width:95%;height:95%" ...

  2. Google Guava -缓存cache简单使用

    package guavacache; import java.util.concurrent.ExecutionException; import java.util.concurrent.Time ...

  3. IP Addressing

    IP Addressing(处理) Each host on Internet has unique 32 bit IP address Each address has two parts: net ...

  4. Xcode 7.0 SDK(Software Development Kit) 及 Sandbox(沙盒) 存放路径

    1. Sandbox(沙盒) 存放路径 我的硬盘/Users/wj121/Library/Developer/CoreSimulator/Devices/879D7E35-BE50-4620-97E1 ...

  5. Xcode4.4(LLVM4.0编译器)中NSArray, NSDictionary, NSNumber优化写法

    Xcode4.4(LLVM4.0编译器)中NSArray, NSDictionary, NSNumber优化写法 从xcode4.4开始,LLVM4.0编译器为Objective-C添加一些新的特性. ...

  6. ng2-bootstrap的modal嵌套时无法滚动的情况

    在ng2-bootstrap的弹窗modal中再弹出另外一个弹窗,关闭子弹窗后,父弹窗会出现无法上下滚动的情况. 通过观察样式可知,关闭子弹窗前,父弹窗的body上是有modal-open样式的,关闭 ...

  7. hdu 1394 Minimum Inversion Number(逆序数对) : 树状数组 O(nlogn)

    http://acm.hdu.edu.cn/showproblem.php?pid=1394  //hdu 题目   Problem Description The inversion number ...

  8. Linux Centos6.5 升级默认Python2.6.6到Python2.7.13

    以下例子基于python 2.7.9,其他版本同理.大致的命令都是差不多的,安装完成之后,输入Python --vertion ,看到系统默认的版本已经替换为2.7版本了 1.下载python wge ...

  9. 搭建Apache服务器并使用自签证书实现https访问

    实验环境:两台Centos7.2的虚拟机,一台作CA服务器,一台作Apache服务器,此处安装httpd-2.4.6的版本. 1)CA服务器 # 私钥一般存放位置:/etc/pki/CA/privat ...

  10. foreach传值