微信小程序API:
https://mp.weixin.qq.com/debug/wxadoc/dev/api/qrcode.html
# 参数 $path即页面路径,比如:"pages/index?query=1"
sub get_wxa_code {
my ($fid, $path) = @_;
my $ret = get_access_token(); #获取access_token
my $image_fid = "";
my $json = JSON->new();
if (length($ret->{access_token})) {
my $post_data;
$post_data->{path} = $path;
#$post_data->{width} = 430;
#$post_data->{auth_color} = 1;
#$post_data->{line_color} = {"r"=>"0","g"=>"0","b"=>"0"};
my $param_json_str =$json->encode($post_data);
my $header = HTTP::Headers->new( Content_Type => 'application/json; charset=utf8', );
my $http_request = HTTP::Request->new( POST => "https://api.weixin.qq.com/wxa/getwxacode?access_token=".$ret->{access_token}, $header, $param_json_str );
my $ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => 0, SSL_verify_mode => 0x00 });
$ua->timeout(3);
my $response = $ua->request($http_request);
if ($response->message ne "OK" && $response->is_success ne "1") { #出错,或者timeout了
return "timeout";
} else { # 如果成功,则返回的是图片对应的二进制内容,这里直接写到文件保存
my $file = "/var/www/wechat/files/".$fid; #目录要有读写权限
open(LOCAL, ">$file");
binmode(LOCAL); #内容为二进制格式
print LOCAL $response->content();
close LOCAL;
if (-s $file ) { #判断是否写成功
$image_fid = $fid;
} else {
return "write file failed";
}
}
} else {
return "get access_token failed";
}
return $image_fid;
}
相关推荐
微信小程序是一种新兴的移动应用程序形式,它具有体量轻、无需安装和卸载的特点,用户可以通过扫一扫二维码或搜索应用名称即可访问。自2017年上线以来,微信小程序因其轻便和易用性,正逐步渗透到多个应用领域。本文...
基于微信小程序的高校体育场管理系统采用前端框架、vue、iview、thinkphp、js 、html、css、echart等技术,使用php 语言编写系统后台,PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。能够支持几乎所有...
基于微信小程序的高校体育场管理系统采用前端框架、vue、iview、thinkphp、js 、html、css、echart等技术,使用php 语言编写系统后台,PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。能够支持几乎所有...
基于微信小程序的高校体育场管理系统采用前端框架、vue、iview、thinkphp、js 、html、css、echart等技术,使用php 语言编写系统后台,PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。能够支持几乎所有...
基于微信小程序的高校体育场管理系统采用前端框架、vue、iview、thinkphp、js 、html、css、echart等技术,使用php 语言编写系统后台,PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。能够支持几乎所有...
4. **微信扫一扫**:微信扫一扫是腾讯公司微信团队开发的功能,它不仅包含二维码扫描,还支持条形码、小程序码等多种代码类型。微信扫一扫的成功在于其便捷性和实用性,它优化了用户界面,提高了扫描速度,这可能是...