微信小程序二维码php

小程序开发二维码代码示例

<?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;
    }
}

猜你喜欢

转载自blog.csdn.net/ahaotata/article/details/83540392