微信小程序 - 实现简单登录和个人信息页面
接上节简单介绍完wxml,这节实际运用小程序的wxml来实现一套简单登录和个人信息展示。
登录页面
创建好项目后,在pages下新建一个login目录,右键login文件夹,选择新建page,创建login的page,如下图:
创建后的page如下图:
创建好login page后,项目会自动在app.js中添加login的page路劲,新增的page会顺序加在后边,小程序打开默认加载第一个路径,我们将login的路径移到最前边,这样每次编译后,初始化页面就为登录的页面了,如下:
打开login.wxml,看到ide自动生成的代码如下:
<!--pages/login/login.wxml--> <text>pages/login/login.wxml</text>
我们不需要这行代码,直接删掉,自己实现登录界面的代码如下:
login.wxml
login.wxss
/* pages/login/login.wxss */ page{ height: 100%; /* 使用page的height可以使页面占全屏 */ background-color: #fafafa; } .login-container{ padding: 0 10%; height: 100%; } .title{ font-size: large; text-align: center; padding-top: 10%; font-weight: bold; } .login-box{ margin-top: 10%; padding: 10% 5%; background-color: white; border-radius: 10px; box-shadow: 0 4px 4px #888888; } .login-box>input{ margin: 5% 0 8% 0; border-bottom: 1rpx solid lightgray; } .login-btn{ width: 100%!important; background-color: #2f6afd; color: white; font-weight: normal; } .three-line{ margin: 8% 0; text-align: center; font-size: 12px; color: gray; }
login.js 添加login方法
login:function(){ wx.navigateTo({ url: ../personinfo/personinfo }); }
个人信息页面
以同样的方式,在pages文件夹下创建个人信息page,如下:
编辑personinfo.wxml如下:
<!--pages/personinfo/personinfo.wxml--> <view class="container"> <view class="info-box"> <view style="text-align: center;margin-bottom:10%;"> <image class="avatar-img" src="{ {avatarUrl}}" /> </view> <text>昵称: { {nickName}}</text> <text>性别: { {gender}}</text> <text>国家: { {country}}</text> <text>省份: { {province}}</text> </view> <view style="margin-top:20%"> <button open-type="getUserInfo" bindtap="showUserInfoTap">获取个人信息</button> </view> </view>
personinfo.wxss如下:
.info-box{ width: 80%; } .avatar-img { width: 100px; height: 100px; border: 1px solid gray; } .info-box>text{ display: block; margin-left: 20%; margin-top: 4%; }
页面效果如图:
personinfo.js如下:
// pages/personinfo/personinfo.js Page({ /** * 页面的初始数据 */ data: { nickName : "", avatarUrl : "", gender : "", province : "", city : "", country : "" }, showUserInfoTap:function(){ var that = this; wx.getUserInfo({ success: function(res) { console.log(res); var userInfo = res.userInfo console.log(userInfo); var nickName = userInfo.nickName var avatarUrl = userInfo.avatarUrl var gender = userInfo.gender //性别 0:未知、1:男、2:女 var province = userInfo.province var city = userInfo.city var country = userInfo.country if(gender==1){ gender = 男 }else if(gender==2){ gender=女 }else{ gender = 未知 } that.setData({ nickName : nickName, avatarUrl : avatarUrl, gender : gender, country : country, province : province }) } }) }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })
上一篇:
uniapp开发微信小程序-2.页面制作