官方获取小程序页面API 由于小程序参数二维码API提供的帮助有限,以下是我对该功能的一些理解 我主要是通过thinkphp后台接口实现,代码如下: 1、先获取ACCESS_TOKEN: 纯文本查看 复制代码$tokenUrl=https: ...
官方获取小程序页面API

由于小程序参数二维码API提供的帮助有限,以下是我对该功能的一些理解
我主要是通过thinkphp后台接口实现,代码如下:
1、先获取ACCESS_TOKEN:
-
$tokenUrl="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$this->appid."&secret=".$this->secret;
-
-
$getArr=array();
-
-
$tokenArr=json_decode($this->send_post($tokenUrl,$getArr,"GET"));
-
-
-
-
$access_token=$tokenArr->access_token;
send_post:
-
function send_post($url, $post_data,$method='POST') {
-
-
$postdata = http_build_query($post_data);
-
-
$options = array(
-
-
'http' => array(
-
-
'method' => $method, //or GET
-
-
'header' => 'Content-type:application/x-www-form-urlencoded',
-
-
'content' => $postdata,
-
-
'timeout' => 15 * 60 // 超时时间(单位:s)
-
-
)
-
-
);
-
-
$context = stream_context_create($options);
-
-
$result = file_get_contents($url, false, $context);
-
-
-
-
-
-
return $result;
-
-
}
2、生成二维码:
-
$path="pages/index?query=1";
-
-
$width=430;
-
-
$post_data='{"path":"'.$path.'","width":'.$width.'}';
-
-
-
-
$url="https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=".$access_token;
-
-
-
-
-
-
$result=$this->api_notice_increment($url,$post_data);
api_notice_increment:
-
function api_notice_increment($url, $data){
-
-
$ch = curl_init();
-
-
$header = "Accept-Charset: utf-8";
-
-
curl_setopt($ch, CURLOPT_URL, $url);
-
-
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
-
-
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
-
-
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
-
-
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
-
-
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');
-
-
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
-
-
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
-
-
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
-
-
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
-
-
$tmpInfo = curl_exec($ch);
-
-
// var_dump($tmpInfo);
-
-
// exit;
-
-
if (curl_errno($ch)) {
-
-
return false;
-
-
}else{
-
-
// var_dump($tmpInfo);
-
-
return $tmpInfo;
-
-
}
-
-
}
3、根据返回的二进制数据生成图片并上传到自己的服务器
主要代码:
-
file_put_contents($filepath, $result)
我的是上传到阿里云服务器、就不贴上传部分的代码了
|