开发使用的thinkphp5
一,小程序登录
可参考小程序登录
前端调用 wx.login() 获取 临时登录凭证code 。
二,微信授权
前端请求后端授权登录接口(code参数传递过来),代码实现。
/*
* APPID //定义常量 APPID
* SECRET // 定义常量密钥
* GRANTYPE //定义常量类型
* WX_LOGIN_URL //定义常量微信请求地址 https://api.weixin.qq.com/sns/jscode2session
* */
$js_code=input('post.code');
$url_param='?appid='.APPID.'&secret='.SECRET.'&js_code='.$js_code.'&grant_type='.GRANTYPE;
$requre_url=WX_LOGIN_URL.$url_param;
$wx_data_json=getCurl($requre_url);
$wx_data=json_decode($wx_data_json,true);
if (isset($wx_data['errcode']) !=0){
Log::write('登录失败:错误码是-'.$wx_data_json,'debug');
return json_return('1000','登录失败');
}
$openid = $wx_data['openid'];
$session_key = $wx_data['session_key'];
//信息保存在redis中,可根据需要保存自己可查看到的位置
$openid_redis=$redis->set($openid,$session_key);
//用户是否已获取信息
$status=db('user_record')->where('openid',$openid)->value('id');
$yzk_data['openid']=$openid;