获取小程序任意页面的小程序码

先获取access_token

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=你的appid&secret=你的密钥

使用raw方式,测试用postman
请求

body填json:
(scene)是参数

{
“path”: “pages/index/index”,
“scene”: “”
}

POST请求:

  • url (access_token)替换自己的

https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=10_d4P_drI7q30_vBzhFH4gW3F2GwIeysenTyAmqPjqC6dn1HWqaNt9xZEO6L2J2YXXVuZNQx8SN_w0HZywGeHHc3wj_V-ozy-ocb-NxLrupfVj-7wde3zNXA_Gv0sY8TEgetIyVikSXNkkz2FsWIVjAIAPBO

#####这只是其中的一种请求获取的方式,更多的方式查看
小程序获取二维码


#上面的是通过postman来获取小程序码,下面的是通过代码获取

public function getWxappQrCode($id)
    {
        $appid='xxxx';
        $secert='xxxxxxx';
        //处理获取二维码
        $tokenurl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$secert";
        $tokeninfo = $this->curlget($tokenurl);
        $access_token = $tokeninfo['access_token'];

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

        $postparam = array(
            'scene'=>$id
        );

        $qrdata = $this->getcomponent2($url,json_encode($postparam));
        $qCodePath = $qrdata;

        $qCodeImg = imagecreatefromstring($qCodePath);

//        list($qCodeWidth, $qCodeHight, $qCodeType) = getimagesize($qCodePath);
//        list($qCodeWidth, $qCodeHight, $qCodeType) = getimagesize($qCodeImg);
        // imagecopymerge使用注解
        $filename = time().rand(100,900).".jpg";

        $path =PATH_UPLOAD."qrcode";
        if (file_exists($path))
        {
            imagejpeg($qCodeImg,$path."/".$filename);
            $p = URL."/www/data/upload/diyqr/";
            $fn = $filename;

            $data['img'] = $p.$fn;
            ob_end_clean();
            header("content-disposition:attachment;filename=wxqrcode.png");
            header("content-length:" . filesize($path.'/'.$filename));
            readfile($path.'/'.$filename);
        }
        //保存文件
        imagedestroy($qCodeImg);
    }


        //保存文件
        imagedestroy($qCodeImg);
    }


/**
     * get请求
     * @param $url
     * @return mixed
     */
    public function curlget($url){
        $ch = curl_init();

        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, FALSE );
        curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, FALSE );
        $response = curl_exec($ch);
        curl_close( $ch );
        $rest = json_decode($response,true);
        return $rest;
    }

public function getcomponent2($url,$postdata){

        $ch = curl_init(); //用curl发送数据给api
        // curl_setopt( $ch, CURLOPT_POST, true );
        curl_setopt( $ch, CURLOPT_POST, true );
        curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
        curl_setopt( $ch, CURLOPT_URL, $url );
        curl_setopt( $ch, CURLOPT_POSTFIELDS, $postdata );
        curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, FALSE );
        curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, FALSE );
        curl_setopt($ch, CURLOPT_HTTPHEADER,0);
        $response = curl_exec($ch);
        curl_close( $ch );
        $rest = json_decode($response,true);
        return $response;
    }

个人博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值