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
觉得不错的请点个赞,谢谢!也可以搜索小程序【购靓号】进去体验哦!

在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐