初始化代码
This commit is contained in:
63
application/api/wxapi/Wx.php
Normal file
63
application/api/wxapi/Wx.php
Normal file
@@ -0,0 +1,63 @@
|
||||
<?php
|
||||
namespace app\api\wxapi;
|
||||
|
||||
use app\api\wxapi\Base;
|
||||
use app\api\wxapi\WxClient;
|
||||
use app\api\wxapi\request\GetWechatCodeRequest;
|
||||
use app\api\wxapi\request\AccessTokenCodeRequest;
|
||||
use app\api\wxapi\request\UserInfoRequest;
|
||||
use app\api\wxapi\pay\WxPayConfig;
|
||||
|
||||
class Wx extends Base{
|
||||
|
||||
public function getWxUserInfo(){
|
||||
$WxPayConfig = new WxPayConfig();
|
||||
$WxClient =new WxClient();
|
||||
$WxClient->appID=$WxPayConfig->GetAppId();
|
||||
$WxClient->appsecret=$WxPayConfig->GetAppSecret();
|
||||
|
||||
if(!isset($_GET['code'])){
|
||||
$req = new GetWechatCodeRequest();
|
||||
$req->setAppId($WxClient->appID);
|
||||
$req->setScope(GetWechatCodeRequest::SNSAPI_USERINFO); //SNSAPI_BASE SNSAPI_USERINFO
|
||||
$url=$req->run();
|
||||
header('location:'.$url);
|
||||
return ;
|
||||
}else{
|
||||
$req = new AccessTokenCodeRequest();
|
||||
$req->setAppId($WxClient->appID);
|
||||
$req->setSecret($WxClient->appsecret);
|
||||
$req->setCode($_GET['code']);
|
||||
$resp=$WxClient->execute($req);
|
||||
if(isset($resp->access_token)){
|
||||
$UserInfoRequest = new UserInfoRequest();
|
||||
$UserInfoRequest->setOpenid($resp->openid);
|
||||
$UserInfoRequest->setAccessToken($resp->access_token);
|
||||
$UserInfo=$WxClient->execute($UserInfoRequest);
|
||||
$fileName='/Uploads/headimgurl/'.$UserInfo->openid.'.jpg';
|
||||
$this->userIconSave($UserInfo->headimgurl, $_SERVER['DOCUMENT_ROOT'].$fileName);
|
||||
$UserInfo->headimgurl=$fileName;
|
||||
//error_log(json_encode($UserInfo), 3, 'openid.log');
|
||||
return $UserInfo;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function userIconSave($url,$path){
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_URL, $url);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
||||
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
|
||||
$file = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
$resource = fopen($path ,'a');
|
||||
fwrite($resource, $file);
|
||||
fclose($resource);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user