接上节简单介绍完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

<view class="login-container"><view class="title">微信小程序App</view><view class="login-box"><label>用户名</label><input placeholder="请输入用户名"/><label>密码</label><input placeholder="请输入密码"/><button class="login-btn" bindtap="login">立即登录</button><view class="three-line">一一一一一第三方登录一一一一一</view><button class="login-btn" style="background-color:green;">微信登录</button></view>
</view>

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%;
}

页面效果如图:

实现点击‘获取个人信息’按钮显示个人信息,bindtap="showUserInfoTap" 类似于H5中的onclick点击事件,在js文件中添加函数,调用微信小程序的开放接口 wx.getUserInfo(Object object) 获取微信个人信息。使用setDate()的方式动态显示数据,详见官方文档用法:WXML模板

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.userInfoconsole.log(userInfo);var nickName = userInfo.nickNamevar avatarUrl = userInfo.avatarUrlvar gender = userInfo.gender  //性别 0:未知、1:男、2:女var province = userInfo.provincevar city = userInfo.cityvar country = userInfo.countryif(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 () {}
})

点击获取微信个人信息效果:

有兴趣的朋友可以加我的qq群交流学习,群里有更多源码,学习资料

QQ群:741909960

点我进群

微信小程序 - 实现简单登录和个人信息页面相关推荐

  1. 微信小程序的简单登录

    这种在前台直接获取openid的方式已经不可以用了,各位想了解新的登录请去http://blog.csdn.net/m0_37992327/article/details/73469087,不过下面的 ...

  2. 微信小程序的详细登录(上)

    前段时间发布了一个微信小程序的简单登录,那段时间我一直在忙着项目,有一天,我清闲下来准备进入小程序群里面看一下来着,刚好有人问问题了,我一看这哥们的问题好像是我写的东西啊,我感觉是时候秀一波了,是时候 ...

  3. 微信小程token_微信小程序开发之登录换取token

    本文将带你了解微信小程序开发之登录换取token,希望本文对大家学微信有所帮助 前言:这次主要是介绍些业务逻辑,技术点倒是没有多少.不过在开发中,优秀的编程思路同样是非常值得学习的. 最近小程序可以说 ...

  4. 【微信小程序系列】微信小程序超简单教程,基本语法,获取用户基本数据信息,实现对云数据库的增删改查及小程序外部api的引用示例(附源码)

    [微信小程序系列]微信小程序超简单教程 小程序项目结构 静态页面的构成 HTML:结构 css:样式 js:行为 小程序 页面全部存放在pages, 而且pages目录只能存放页面 页面包括4个文件, ...

  5. 微信小程序获取手机号登录流程(个人开发者账号不支持)

    微信小程序获取手机号登录流程 所需条件 1. 非个人开发者账号 2. AppID+AppSecret 流程思路 **注意:** 代码实现 常见问题 所需条件 1. 非个人开发者账号 获取手机号文档 这 ...

  6. 微信登录 后台 java_Java 后端 (Spring boot)+微信小程序的授权登录

    微信小程序的授权登录 第一.Java后端代码如下 登录的接口的参数是微信小程序前端必须要传的参数微信小程序登录.授权的用户基本信息 wx.getUserInfo 特别注意 appid 和secret. ...

  7. 微信小程序设置简单的监听器(转载)

    微信小程序设置简单的监听器 创建一个watch.js文件 /*** 设置监听器 watch.js*/ export function setWatcher(page) {let data = page ...

  8. 微信小程序如何进行登录授权和获取用户信息

    微信小程序如何进行登录授权和获取用户信息

  9. 小程序登录本地服务器,微信小程序实现用户登录模块服务器搭建

    我选用的是node.js来搭建服务器,没有安装的小伙伴可以参考我的node.js其他博客. 服务器安装与配置 初始化项目,将会自动创建package.json配置文件. npm init -y 安装E ...

  10. 微信小程序最简单的轮播图

    小程序轮播图 今天给大家分享一个在微信开发者工具开发微信小程序的简单案例--轮播图(只用wxml和wxss) 话不多说,直接上代码!!! 效果图 WXML代码 基本属性介绍 <!-- indic ...

最新文章

  1. 解读4G发牌事件,了解下4G那点事!
  2. Python入门100题 | 第021题
  3. 模拟人生4修身拉德兰连衣裙MOD下载
  4. 手把手教你在windows10下进行openFoam调试
  5. 嵌入式linux组件,嵌入式Linux系统的几大组件!
  6. USACO-Section2.1 Sorting a Three-Valued Sequence(排序)
  7. ubuntu18.04 ros 使用anaconda创建虚拟环境 python3.7安装 opencv-3.4.6,TensorFlow安装,notebook
  8. createwindow 和 dialogbox的区别
  9. 竹林蹊径:深入浅出Windows驱动开发
  10. 面试必备!Kafka 怎么顺序消费?
  11. # 20145205 《Java程序设计》第1周学习总结
  12. API的小结===一定要看
  13. BoBo买了一箱酸奶,里面有n盒未打开的酸奶,KiKi喜欢喝酸奶,第一时间发现了酸奶。KiKi每h分钟能喝光一盒酸奶,并且KiKi在喝光一盒酸奶之前不会喝另一个,那么经过m分钟后还有多少盒未打开的酸奶
  14. java中unicode编码和utf8编码相互转换
  15. CAD坐标点、经纬度坐标点转ARCGIS矢量,求重叠面积
  16. 鸿蒙系统nas,NAS从入门到入坑:我发现了FreeNAS、My Cloud 、群晖的套路
  17. weblogic的集群与配置--架构师第九天
  18. 《JavaScript AST其实很简单》五、Step4-平坦化控制流
  19. Java23种设计模式之-----访问者模式
  20. Vivado中ILA(集成逻辑分析仪)的使用

热门文章

  1. 分享CFA二级优质复习方法!
  2. 高通MSM8937芯片参考资料免费下载
  3. javaFX学习之颜色选择器(ColorPicker)
  4. php存省市,PHP格式化全国省市区列表
  5. 【ARM 】CMSIS
  6. 计算机ps基础知识教案范文,PS基础教案 一学期全套教案.doc
  7. python需要学什么-学习python需要什么基础吗?老男孩Python
  8. cad快捷栏怎么调出来_如何显示CAD的工具栏?CAD如何调出工具栏
  9. zxr10交换机配置手册vlan_中兴交换机配置命令
  10. 二值图像游程matlab,二值图像游程编码matlab代码.doc