微信小程序登录
Posted 初雨诗清风
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信小程序登录相关的知识,希望对你有一定的参考价值。
小程序端
Page({ // 点击登录事件 login:function(event){ // 调用登录接口 wx.login({ success:function (res){ var code = res.code; console.log(code); wx.getUserInfo({ success:function(info){ var rawData = info[‘rawData‘]; var signature = info[‘signature‘]; var encryptedData = info[‘encryptedData‘]; var iv = info[‘iv‘]; // 发送请求 wx.request({ url:‘http://www.test.com/api/login/login‘, data:{ "code": code, "rawData": rawData, "signature": signature, ‘iv‘: iv, ‘encryptedData‘: encryptedData }, success:function(res){ console.log(res); } }) } }) } }) } })
php端_thinkphp5.1
方式一:使用easyWeChat
class Login extends Controller { public function login(Request $request){ $code = $request->param(‘code‘); $rawData = $request->param(‘rawData‘); $signature = $request->param(‘signature‘); $iv = $request->param(‘iv‘); $encryptedData = $request->param(‘encryptedData‘); $config = [ ‘app_id‘ => ‘xxxxxxxxxxxxxxxxxxxxx‘, ‘secret‘ => ‘xxxxxxxxxxxxxxxxxxxxxxxxxxx‘, ]; $app = Factory::miniProgram($config); $value = $app->auth->session($code); dump($value); // // 获取随机唯一id字符串 $noncestr = uniqid(); $rd_session = Session::set($noncestr,$value[‘session_key‘],); return json($rd_session); } }
方式二
class Login extends Controller { public static $app_id = "wx8fee3f5cad70de33"; public static $secret = "99afc99bb4b08fc5a9825d63ae757a62"; public function login(Request $request){ // 获取$code $code = $request->param(‘code‘); $code = ‘043cdZMH1CgPq40tciLH1RQUMH1cdZM-‘; $url = "https://api.weixin.qq.com/sns/jscode2session?appid=".self::$app_id."&secret=".self::$secret."&js_code=".$code."&grant_type=authorization_code"; $this->doCurl($url); $id = $info[‘openid‘] = @$data->openid; return json([‘status‘=>1]); } public function doCurl($url) { $curl = curl_init(); // 使用curl_setopt()设置要获取的URL地址 curl_setopt($curl,CURLOPT_URL,$url); // 设置是否输出header curl_setopt($curl,CURLOPT_HEADER,false); // 设置是否输出结果 curl_setopt($curl,CURLOPT_RETURNTRANSFER,1); // 设置是否检查服务器证书 curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false); // 使用curl_exec()将CURL返回的结果转换成正常数据并保存到一个变量 $data = curl_exec($curl); // 使用curl_close()关闭curl会话 curl_close($curl); return json_decode($data); } }
以上是关于微信小程序登录的主要内容,如果未能解决你的问题,请参考以下文章