小程序开发二维码代码示例
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2018/7/14 0014
* Time: 下午 3:01
*/
class topapi_api_v1_qrcode implements topapi_interface_api
{
/**
* 接口作用说明
*/
public $apiDescription = '获取页面模块配置';
/**
* 参数scence为有关商品角色的id
* @return array
*/
public function setParams()
{
return [
'scene' => ['type'=>'string', 'valid'=>'required', 'example'=>'1', 'desc'=>'seller_id', 'msg'=>''],
'url' => ['type'=>'string', 'valid'=>'required', 'example'=>'1', 'desc'=>'seller_id', 'msg'=>''],
];
}
public function handle($params)
{
kernel::single('topapi_qrcode')->mpCode($params['url'], $params['scene']);
}
}
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2018/7/16 0016
* Time: 上午 9:46
*/
class topapi_qrcode
{
//TODO:目前为1.0配置
private $appid = '******';
private $secret = '********';
public function mpCode($page,$scene)
{
header('content-type:image/jpg');
$data['page'] = $page;
$data['scene'] = $scene;
$data = json_encode($data);
$access = json_decode($this->get_access_token(), true);
$access_token = $access['access_token'];
$url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" . $access_token;
$this->get_http_array($url, $data);
}
//获取access_token
public function get_access_token()
{
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$this->appid}&secret={$this->secret}";
return $data = $this->curl_get($url);
}
public function curl_get($url)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
return $data;
}
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;
}
}