uniapp微信小程序端登录授权完整版示例(前端+后端)
uniapp微信小程序登录的前端已经发过一篇博客了(地址:https://blog.csdn.net/qq_35616850/article/details/89711597),搞明白API之后会发现很简单很多朋友咨询我后端的写法,由于太忙,没有回答,今天通过博客的方式统一回复大家。首先我们要了解在开发项目的时候你需要哪些参数,微信小程序登录过程中我们需要用户唯一标识,和一些用户信息,主要用到..
·
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;//js_code可以给后台获取unionID或openID作为用户标识
// 获取用户信息
uni.getUserInfo({
provider: 'weixin',
success: function (infoRes) {
//infoRes里面有用户信息需要的话可以取一下
let username=infoRes.userInfo.nickName;//用户名
let gender=infoRes.userInfo.gender;//用户性别
let formdata={code:js_code,username:username,sex:gender};
//login是接口地址,看下面PHP代码
self.$go.post("/login",formdata).then(res=>{//这是我封装的请求方法
if(res.code==200){
//登录成功
}
})
},
fail:function(res){}
})
},
fail:function(res){}
})
}
后台php接口示例,仅供参考,一定要理清逻辑
/**
* 小程序登录
* code 登录时获取的 code
* username 用户名
* sex 用户性别
*/
public function login(){//使用的tp5框架
$appid = 'wx321212121212121';//微信小程序appid
$secret = '211kdshsakdakh121k2j1h2k';//微信小程序secret
$code = input('code');//接收code参数,换取用户唯一标识
$username = input('username');//接收用户名
$sex = input('sex');//接收用户性别
//下面url是请求微信端地址获取用户唯一标识的,对应的appid和secret改成自己的
$url="https://api.weixin.qq.com/sns/jscode2session?appid=".$appid."&secret=".$secret."&js_code=".$code."&grant_type=authorization_code";
$res = $this->https_request($url);//https_request是封装的发送请求的方法
$res = json_decode($res,true);//将返回结果JSON化
if(isset($res['errcode'])){
//如果请求微信那边报错,就返回前端报错信息
}else{
//请求微信那边成功,获取unionid,先判断数据库有没有
$user = db('user')->where(array('unionid'=>$res['unionid']))->find();
if(empty($user)){
//如果没有就将用户信息插入到数据库,这里就不做演示了。
}else{
//存在用户就返回登陆成功
}
}
这就是uniapp微信小程序完整的登陆流程了,仔细看哦!有问题可以评论,或进群:682783851
觉得不错的请点个赞,谢谢!也可以搜索小程序【购靓号】进去体验哦!
更多推荐
已为社区贡献3条内容
所有评论(0)