微信小程序(二)登录授权实现

本文详细介绍了在小程序中实现用户登录及授权的过程,通过动态获取数据,展示如何判断用户授权状态并相应调整页面显示。代码示例展示了wxml与js的结合使用,实现了根据用户授权情况动态显示登录信息。
相对于上一节,这一节主要是动态获取数据,主要是对登陆信息的接收,以及页面获取授权按钮的相对相应(未授权时,显示,授权后不显示)
关键在于状态值的判断,以及对页面的不同响应(m-->v)

wxml代码如下:

<!--pages/index2/index2.wxml-->
<view class="index2Container">
<image class="avatar" src="{{userInfo.avatarUrl}}"></image>
<button bindgetuserinfo='handleGetUserInfo' style='display:{{isShow?"block":"none"}}' open-type="getUserInfo">获取用户登录信息</button>
<text class="username">hello {{userInfo.nickName}}</text>
<view class="goStudy">
<text class="test">开启小程序之旅</text>
</view>
</view>

 

js代码如下:

// pages/index2/index2.js
Page({

/**
* 页面的初始数据
*/
data: {
msg:"阿童木",
userInfo: "测试",
isShow:true
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
console.log("this" + this);
this.getUserInfo();
},
getUserInfo(){
//判断用户是否授权了
wx.getSetting({
success: (data) => {
console.log(data);
if (data.authSetting['scope.userInfo']) {
//用户已经授权
this.setData({
isShow: false
});
} else {
//没有授权
this.setData({
isShow: true
});
}
}
})
//获取用户登录的信息
wx.getUserInfo({
success: (data) => {
console.log(data);
//更新data中的userInfo
this.setData({
userInfo: data.userInfo
});
},
fail: () => {
console.log("获取用户失败!")
}
})
},
handleGetUserInfo(data){
console.log("用户点击了",data);
//判断用户点击的是否允许
if(data.detail.rawData){
//用户点击的是允许4
this.getUserInfo();
}
},

/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {

},

/**
* 生命周期函数--监听页面显示
*/
onShow: function () {

},

/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {

},

/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {

},

/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {

},

/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {

},

/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {

}
})

 

 

转载于:https://www.cnblogs.com/ly-520/p/10268806.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值