元素水平+垂直居中

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

今日切换机型进行适配,发现对不同尺寸大小的屏幕不匹配。所以对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. mysql 设置无密码登陆

    登入 MySQL 报错: C:\Users\dell>mysql -uroot -p Enter password: **** ERROR 1045 (28000): Access denied ...

  2. 3springboot:springboot配置文件(配置文件、YAML、属性文件值注入<@Value、@ConfigurationProperties、@PropertySource,@ImportResource、@Bean>)

    1.配置文件: springboot默认使用一个全局配置文件 配置文件名是固定的   配置文件有两种(开头均是application,主要是文件的后缀): ->application.prope ...

  3. 记一次重装系统后恢复EFS加密文件过程

    之前用了8年的win7系统被我删注册表给折腾挂了, 无法进入系统, 无法进入安全模式, 无法使用光盘修复 只能重装系统,习惯性的重装前GHOST备份了一下 今天忽然发现有好几个项目文件居然成了绿色的, ...

  4. 【题解】洛谷P2023 [AHOI2009] 维护序列(线段树)

    洛谷P2023:https://www.luogu.org/problemnew/show/P2023 思路 需要2个Lazy-Tag 一个表示加的 一个表示乘的 需要先计算乘法 再计算加法 来自你谷 ...

  5. HDU 1250 Hat's Fibonacci(大数相加)

    传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1250 Hat's Fibonacci Time Limit: 2000/1000 MS (Java/Ot ...

  6. 用javascript编写猜拳游戏(函数)

    const readline = require('readline-sync')//引用readline-sync console.log('欢迎进入猜拳游戏'); //电脑随机出拳 let fn ...

  7. 【Cmd命令行】基础—findstr与for循环

    Findstr命令 findstr是Window系统自带的命令,用途是查找指定的一个或多个文件文件中包含(或通过参数 /V来控制不包含)某些特定字符串的行,并将该行完整的信息打印出来,或者打印查询字符 ...

  8. POJ 2208--Pyramids(欧拉四面体体积计算)

    Pyramids Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3451   Accepted: 1123   Specia ...

  9. acm--1006

    Problem Description The three hands of the clock are rotating every second and meeting each other ma ...

  10. JS中的Symbol数据类型

    最初JS的6种数据类型: null,undefined,boolean,number,string,object 注意:实际上,array和function都是属于object的子类 ES6中,新增了 ...