元素水平+垂直居中

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

今日切换机型进行适配,发现对不同尺寸大小的屏幕不匹配。所以对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. [改错_19/04/01] 学习Java.IO 对象数据流时出现 Exception in thread "main" java.io.EOFException ...at cn.sxt.test.Test_DataStream.main(Test_DataStream.java:31) 错误 .

    过程描述:编译可以通过,就是每次运行时出现如下的图片,百思不得其解. 错误原因: byte[] datas=baos.toByteArray(); 放在了oos.writeInt(14);oos.fl ...

  2. 面试准备——(二)专业知识(1)Linux

    面试的问题: 腾讯: 1. 查看进程的命令 美团: 1. 常用的命令——美团/滴滴 2. 如何在性能测试的时候查看进程 3. kill -9/-15区别 滴滴: 1.如何找到一个特定文件 2. 如何替 ...

  3. $.ajax方法success方法窗口弹不出

  4. 去掉Win7资源管理器左侧不需要的项目

    通过修改注册表去掉win7资源管理器左侧你不喜欢的项目: 1,打开注册表WIN+R, 输入:regedit 2,找到HKEY_CLASSES_ROOT \ CLSID \, 再找到对应项, 其包含一个 ...

  5. Linux 常用命令整理

    系统 切换用户 su 关机/重新启动 shoutdown,reboot,halt,poweroff 内存数据写入磁盘 sync 查询命令用法  "命令 –help" 或 " ...

  6. js中哪些值会被认为false?

    在javascript中,只有 false null undefined 空字符串 即 “” 数字  0 数字 NaN 会被当作false,其余都是真. 注:字符串 “false” 也会被当作真.

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

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

  8. Vue路由钩子 afterEach beforeEach区别

    ​ vue-router作为vue里面最基础的服务,学习一段时间,对遇到的需求进行一些总结 使用vue-cli作为开发前提 vue-router已经配置好了 路由写法 routes: [ { path ...

  9. spring-集成redis

    Redis是key-value存储的非关系型数据库.Spring Data Redis包含了多个模板实现,用来完成Redis数据库的数据存取功能 1.如何连接Redis? Spring Data Re ...

  10. Debian中CodeIgniter+nginx+MariaDB+phpMyAdmin配置

    本文不讲述软件安装过程,记述本人在Debia中配置CodeIgniter时遇到的问题及解决方法,希望能够为有需要的人提供帮助. 一.Debian版本及所需的软件 Debian 9.8 stretch ...