微信开发者工具中使用
home.wxml
<view class="box">
<view class="top" wx:if="{{userInfo.avatarUrl}}">
<image src="{{userInfo.avatarUrl}}"></image>
<view class="name">{{userInfo.nickName}}</view>
<button bindtap="outLogin">退出登录</button>
</view>
<view class="login" wx:else><button type="primary" bindtap="getUser">获取用户信息</button></view>
</view>
home.js
// pages/home/home.js
Page({
/**
* 页面的初始数据
*/
data: {
userInfo: {}
},
getUser() {
// 获取用户信息
wx.getUserProfile({
desc: 'desc',
success: (res) => {
this.setData({
userInfo: res.userInfo
});
// 将获取到的信息存储到Storage
wx.setStorage({
key: 'info',
data: res.userInfo
});
// 登录
this.login()
}
});
},
login() {
wx.login({
success: (res) => {
// 获取码之后发起网络请求
if (res.code) {
//发起网络请求
wx.request({
url: 'https://api.weixin.qq.com/sns/jscode2session',
data: {
js_code: res.code,
secret: '57993283b09d259209867a1b5c49ef1d',
appid: 'wx8e599842ea889b19'
},
success: (res) => {
console.log(res);
}
})
} else {
console.log('登录失败!' + res.errMsg)
}
},
})
},
// 退出登录
outLogin() {
wx.removeStorage({
key: 'info',
success(res) {
wx.navigateTo({
url: '/pages/home/home',
})
}
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
// 讲storge中的值存储到data的userInfo中
wx.getStorage({
key: 'info',
success: (res) => {
// console.log(res)
this.setData({
userInfo: res.data
})
}
})
},
})