微信小程序登录

微信小程序登录PHP服务端处理

微信小程序登录

纯新手向的傻瓜式操作指南

微信开发文档:https://developers.weixin.qq.com/miniprogram/dev/api-backend/

在这里插入图片描述
登录凭证校验api: https://api.weixin.qq.com/sns/jscode2session

这个api的作用简单的手就是通过code获取到用户的唯一标识openid 前台无法获取到用户唯一标识

不多bb直接上代码

class Wxapi extends Base{
	protected $appid   		= '';//小程序appid
	protected $secret  		= '';//小程序秘钥 appSecret
	protected $code2Session	= 'https://api.weixin.qq.com/sns/jscode2session';//官方接口
	
	public function Wxlgoin(){
		//api参数获取
		$code = $this->request->param('code');
		//有的时候小程序需要显示其他用户的头像昵称之类的,让前端获取比较方便
		//可以让他把头像和昵称传入存储到数据库中
		//$nickname = $this->request->param('nickname');
		//$face = $this->request->param('face');
		
		if(empty($code)){
			return $this->ajaxError('参数缺失');
		}
		
		$url = $this->code2Session.'?';
		
		//接口请求参数
		$array = [
			'appid'=>$this->appid,
			'secret'=>$this->secret,
			'js_code'=>$code,//前端提交的code
			'grant_type'=>'authorization_code'//这个东西官方文档有说明自己去看为什么
		];
		
		foreach($array as $key=>$vals){
		    $url .=$key.'='.$vals.'&';
		}
		
		$str = json_decode(file_get_contents($url));

		$arr = get_object_vars($str);

		if($arr['errcode'] == 0){
            //成功 对数据库进行操作 在模型内判断是登录还是注册
            $user = userModel::wxlogin($arr['openid']);//,$nickname,$face
			
			if($user['code']){
				return $this->ajaxSuccess($user['msg']);
			}
			
			return $this->ajaxError[$user['error']];
        }

        //返回错误信息
        return $this->ajaxError($arr);
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值