49 lines
1.4 KiB
PHP
49 lines
1.4 KiB
PHP
<?php
|
|
namespace app\api\wxapi;
|
|
|
|
use app\api\wxapi\Base;
|
|
use app\api\wxapi\WxClient;
|
|
use app\api\wxapi\pay\WxPayConfig;
|
|
use app\api\wxapi\request\AccessTokenRequest;
|
|
use app\api\wxapi\post\QrcodeCreatePost;
|
|
|
|
|
|
class Wxqr extends Base{
|
|
|
|
public function getQr($fileName='', $val=''){
|
|
if(file_exists(trim($fileName,'/'))){
|
|
return $fileName;
|
|
}
|
|
|
|
$WxPayConfig = new WxPayConfig();
|
|
$WxClient =new WxClient();
|
|
$WxClient->appID=$WxPayConfig->GetAppId();
|
|
$WxClient->appsecret=$WxPayConfig->GetAppSecret();
|
|
|
|
$AccessTokenRequest=new AccessTokenRequest();
|
|
$AccessTokenRequest->setAppId($WxClient->appID);
|
|
$AccessTokenRequest->setSecret($WxClient->appsecret);
|
|
$AccessTokenRequest=$WxClient->execute($AccessTokenRequest);
|
|
|
|
$QrcodeCreatePost=new QrcodeCreatePost();
|
|
$QrcodeCreatePost->setAccessToken($AccessTokenRequest->access_token);
|
|
$QrcodeCreatePost->setActionName(QrcodeCreatePost::ACTION_NAME_QR_LIMIT_STR_SCENE);
|
|
//$QrcodeCreatePost->setExpireSeconds(60*60); //临时时间戳
|
|
$QrcodeCreatePost->setSceneVal($val);
|
|
$QrcodeCreatePost->run();
|
|
$WxClient->setTypeCurl(WxClient::TYPE_CURL_POST);
|
|
$QrcodeInfo=$WxClient->execute($QrcodeCreatePost);
|
|
|
|
if($QrcodeInfo->url){
|
|
$url='https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket='.$QrcodeInfo->ticket;
|
|
$current = file_get_contents($url);
|
|
file_put_contents($fileName, $current);
|
|
return $fileName;
|
|
}
|
|
return '';
|
|
}
|
|
|
|
|
|
}
|
|
|
|
?>
|