openID的获取:
wxLogin(){
//登录函数方法
uni.login({
success:(res)=>{
//给数据赋值
this.setData({
code: res.code
})
//这是直接赋值,如果上方给数据赋值不行的话
this.code = res.code
}
})
}
弹出框调用的方法和请求的发送:
//点击触发函数
dianji(){
var that = this;//保证this一直是VueComponent
if(store.state.openid){//判断是否有openid,若有openid就直接跳转
that.toindex(that)//跳转到另一个页面的函数
}else{//若没有openid就会弹出登录弹框
uni.getUserProfile({//这个函数是uniapp官方提供的API,弹出弹窗,授权后获取用户信息
desc:'用于完善用户信息',
success(e){
send(e)//这个函数主要是用来向后端发请求的
that.toindex(that)//跳转到另一个页面的函数
},
fail(){
uni.showToast({
icon:null,
title:'您取消了登录授权'
})
}
})
function send(e){//发送请求函数
var data = e.userInfo//这个e是在上面那个函数传过来的
uni.request({
url:'http://localhost:9090/user/login',
method:'POST',
data:{
code: that.$data.code,//这里是最上面那个函数采用第二种赋值的方式
userName: data.nickName,
gender: data.gender
},
success:(res)=>{
console.log(res)
store.commit('userInfo',res.data.data)//提交请求回来的数据给store存储
}
})
}
}
}