版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/enjoy_sun_moon/article/details/82023984
public function index(){
// 内容直接显示一张图片
// header('content-type:image/gif');
// header('content-type:image/png');//格式自选,不同格式貌似加载速度略有不同,想加载更快可选择jpg
header('content-type:image/jpg');
$id = 28;
$data = array();
$data['scene'] = "id=" . $id;//自定义信息,可以填写诸如识别用户身份的字段,注意用中文时的情况
$data['page'] = "pages/index/index";//扫描后对应的path
$data['width'] = 800;//自定义的尺寸
$data['auto_color'] = false;//是否自定义颜色
$color = array(
"r"=>"221",
"g"=>"0",
"b"=>"0",
);
$data['line_color'] = $color;//自定义的颜色值
$data = json_encode($data);
$access = json_decode($this->get_access_token(),true);
$access_token= $access['access_token'];
// var_dump($access_token);
$url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" . $access_token;
$qrdata = $this->get_http_array($url,$data);
var_dump($qrdata);
}
//获取access_token
public function get_access_token(){
$access_token = S('access_token');
if(!$access_token) {
$appid = C(WECHAT_APPID);
$appsecret = C(WECHAT_APPSECRET);
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret";
$access_token = httpGet($url);
}
return $access_token;
}
public function get_http_array($url,$post_data) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
// curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //没有这个会自动输出,不用print_r();也会在后面多个1
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$output = curl_exec($ch);
curl_close($ch);
$out = json_decode($output);
return $out;
}
//二进制转图片image/png
public function data_uri($contents, $mime)
{
$base64 = base64_encode($contents);
return ('data:' . $mime . ';base64,' . $base64);
}
主要是获取图片是的参数 一开始不知怎么写 后来看了一些csdn上额例子才知道是json数据
public function build_qrcode(){
$id = I('post.id');
$ajax = I('post.ajax');
if($ajax == 1){
import("@.ORG.Util.WxCode");
$wxcodeobj = new WxCode($id, $page, $width);
$qrcode_path = $wxcodeobj->getwxaqrcode();
if ($qrcode_path != '') {
$res = oss_upload($qrcode_path, $qrcode_path);
if ($res['status'] == 1) {
unlink($data['url']);
}
$this->ajaxReturn($res);
} else {
$data['message'] = '二维码生成失败';
$data['status'] = 0;
$this->ajaxReturn($res);
}
}else {
$data['message'] = '请求无效ajax不等于1';
$data['status'] = 0;
$this->ajaxReturn($res);
}
}