uniapp微信小程序登录的前端已经发过一篇博客了(地址:https://blog.csdn.net/qq_35616850/article/details/89711597),搞明白API之后会发现很简单
很多朋友咨询我后端的写法,由于太忙,没有回答,今天通过博客的方式统一回复大家。
首先我们要了解在开发项目的时候你需要哪些参数,微信小程序登录过程中我们需要用户唯一标识,和一些用户信息,主要用到wx.login()和wx.getUserInfo()两个接口。
获取唯一标识这一步需要后端配合,也就是在你点击登录的时候把需要后端需要的数据传过去就可以了。具体看代码:
<button @click="login"></button>
login(){
var self=this;
uni.showLoading({
mask:true,
title: '正在登录···',
complete:()=>{}
});
uni.login({
provider: 'weixin',
success: function (loginRes) {
let js_code=loginRes.code;
uni.getUserInfo({
provider: 'weixin',
success: function (infoRes) {
let username=infoRes.userInfo.nickName;
let gender=infoRes.userInfo.gender;
let formdata={code:js_code,username:username,sex:gender};
self.$go.post("/login",formdata).then(res=>{
if(res.code==200){
}
})
},
fail:function(res){}
})
},
fail:function(res){}
})
}
后台php接口示例,仅供参考,一定要理清逻辑
public function login(){
$appid = 'wx321212121212121';
$secret = '211kdshsakdakh121k2j1h2k';
$code = input('code');
$username = input('username');
$sex = input('sex');
$url="https://api.weixin.qq.com/sns/jscode2session?appid=".$appid."&secret=".$secret."&js_code=".$code."&grant_type=authorization_code";
$res = $this->https_request($url);
$res = json_decode($res,true);
if(isset($res['errcode'])){
}else{
$user = db('user')->where(array('unionid'=>$res['unionid']))->find();
if(empty($user)){
}else{
}
}
这就是uniapp微信小程序完整的登陆流程了,仔细看哦!有问题可以评论,或进群:682783851
觉得不错的请点个赞,谢谢!也可以搜索小程序【购靓号】进去体验哦!