一、小程序登录流程
code:用户凭证
1、获取用户的昵称头像信息的请求wx.getUserProfile
2、使用wx.login获取用户code码
3、拿到appid和appSecret后使用wx.request去获取openid和sessionkey
4、自定义登录态存入缓存storage
这里还把用户信息存入缓存storage
// pages/demo3/demo3.js
Page({
/**
* 页面的初始数据
*/
data: {
hdsrc:"/img/weixin.png",
name:"登录/注册"
},
getLogin: function () {
// 获取用户信息
wx.getUserProfile({
desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
success: (res) => {
console.log(res);
var hdsrc = res.userInfo.avatarUrl;
var nickName = res.userInfo.nickName;
wx.login({
timeout: 3000,
success:(res)=>{
// console.log(res.code);
wx.request({
url: 'https://api.weixin.qq.com/sns/jscode2session',
method:"GET",
data:{
appid:"wxd4229379d53b0345",
secret:"bf27c58cf21d60710b8b44eeb66f836a",
js_code:res.code,
grant_type:"authorization_code"
},
success:(res)=>{
if(res.data.openid) {
this.setData({
hdsrc:hdsrc,
name:nickName
})
var logObj = {
islogin:1,
userinfo:{
hdsrc:hdsrc,
name:nickName
}
}
wx.setStorageSync('islogin', logObj)
}
}
})
}
})
}
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})
在onShow里面判断缓存
// pages/demo1/demo1.js
Page({
/**
* 页面的初始数据
*/
data: {
islogin:0
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
console.log(33333);
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
var islogin = wx.getStorageSync("islogin");
console.log(islogin);
if(islogin) {
this.setData({
islogin:1
})
}else {
this.setData({
islogin:0
})
wx.showModal({
content:"是否前往登录",
success:(res)=>{
// 用户点击确定
if(res.confirm) {
wx.switchTab({
url: '/pages/demo3/demo3',
})
}else {
}
}
})
}
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})
二、服务器连接数据库、获取数据库数据返回前端
CSDN