php 抓取网页生成图片(PC端的网站放一个微信小程序的二维码,跳到房源详情页)

优采云 发布时间: 2021-10-17 14:27

  php 抓取网页生成图片(PC端的网站放一个微信小程序的二维码,跳到房源详情页)

  老板最近有点闲。他想在PC端放一个微信小程序的二维码网站,扫描这个二维码后,会跳转到小程序对应的listing详情页。

  这是微信官方给出的文档,连接地址:/miniprogram/dev/framework/open-ability/qr-code.html

  方法一:为小程序生成带参数的二维码

  【方码】如图:官方文档说很简单,页面上没有demo。可能是给大佬的,对我这种一般程序员来说好像有点难度。

  

  【系统环境】

  *敏*感*词*姐这边的系统环境是Linux系统,nginx服务器,thinkPHP5.6框架。

  实现代码如下:

  按照官方微信步骤;

  第一步:首先获取调用API接口的accesstoken;

  public function getAccessToken(){

$appid = '公司的小程序appid';

$secret = '公司的小程序sercret';

$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$secret;

$res = json_decode($this->httpGet($url));

$access_token = @$res->access_token;

return $access_token;

}

  第二步:请求微信接口获取二维码:

  官方文档如图:

  

  *敏*感*词*姐代码:

  public function getXcxCode(){

//获取access token

$ACCESS_TOKEN = $this->getAccessToken();

//创建二维码

$qcode ="https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=".$ACCESS_TOKEN;

$param = json_encode(array("path"=>"pages/detail/detail?id=5084","width"=> 150));

$result = $this->httpRequest( $qcode, $param,"POST");

$path = 'uploads/qrcode/h.jpg';

file_put_contents($path, $result);

$return['status_code'] = 2000;

$return['msg'] = 'ok';

$return['img'] = 'https://公司域名.com/' . $path;

echo ''.$return['img'].'';exit;

echo json_encode($return);exit;

$base64_image ="data:image/jpeg;base64,".base64_encode( $result );

return '';

}

  

  别慌,百度查了资料。这是因为文件读写权限。我们文件夹的权限一般是755,然后把文件夹的权限改成777。

  说老板有点飘飘然,但实在是拦不住。方形二维码难看,只好做一个圆形漂亮的小程序码。. . . . 由于列表数量较多,选择了 wxacode.getUnlimited 接口。

  第一步是先获取访问令牌;

  同上,我就不多说了;

  官方微信文档:

  

  

  虽然可以通过场景传递很多参数,但是在实际传递参数的过程中,页面出现了很多问题。他不能接受我之前传递的参数。虽然生成了二维码,但他也跳转到了详情页。它是一个空页面,没有传递相应的列表id。. .

  请求参数场景也只简单说明

  

  看得出*敏*感*词*姐一头雾水,场景参数有很多问题。网上找了很久的技术帖子,或者找到了合适的demo。这就是为什么我必须下定决心写这篇博客。要知道更多人的原因。

  *敏*感*词*姐的密码在这里

  public function xcxCode() {

$id = trim($this->request->param('id','5084','intval'));

$access_token = $this->getAccessToken();

$url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" . $access_token;

$data['scene'] = 'h' . $id;

//小程序的详情页路径

$data['path'] = 'pages/detail/detail';

//二维码大小

$data['width'] = '430';

$res = $this->http($url, json_encode($data),1);

$path = 'uploads/qrcode/h' . $id . '.jpg';

file_put_contents($path, $res);

$return['status_code'] = 2000;

$return['msg'] = 'ok';

$return['img'] = 'https://公司域名.com/' . $path;

echo ''.$return['img'].'';exit;

echo json_encode($return);exit;

}

  历经千辛万苦,小程序代码终于出现在了我的面前。

  小程序生成带参数的二维码【小程序循环码】,保存为jpg图片上传到服务器

  

  如果还是不明白,可以联系*敏*感*词*姐技术问题或者索取源码。

  不知道能不能给后面看到的程序员一些指导。可以考虑贡献一点余热。哈哈哈哈

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线