微信小程序 PHP生成带参数二维码

网友投稿 313 2023-06-09


微信小程序 PHP生成带参数二维码

微信小程序 php生成带参数二维码

官方获取小程序页面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,"GRSgxHlwpET"));

$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.'}';

RSgxHlwp $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)

上传服务部分代码,不贴了!感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java 从int数组中获取最大数的方法
下一篇:Angular实现购物车计算示例代码
相关文章

 发表评论

暂时没有评论,来抢沙发吧~