/*获取带参数的二维码*/
function get_qrcode($scene_id, $type){
    //获取票据
    $param['access_token'] = get_token();

    $url = 'https://api.weixin.qq.com/cgi-bin/qrcode/create?'.http_build_query($param);

    if(1 == $type){ //永久
        $data = '{"action_name": "QR_LIMIT_SCENE", "action_info": {"scene": {"scene_id": '.$scene_id.'}}}';
    }else if(2 == $type){//临时
        $data = '{"expire_seconds": 60, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": '.$scene_id.'}}}';
    }else {
        return '';
    }

    $res = post_send_message($url, $data);
    $r = json_decode($res, true);
    //file_put_contents('./text.txt', $res, FILE_APPEND|LOCK_EX); 
    if(!$r['ticket']){
        return $r['errcode'];
    }

    //通过票据换去二维码
    $url = 'https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket='.$r['ticket'];

    return $url;
}
/*获取token*/
function get_token(){    
    $param['appid'] = '**************';
    $param ['secret'] = '************************************';

    $url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&'.http_build_query($param); 
    $result = file_get_contents($url);
    $result = json_decode($result, true);
    $access_token = $result["access_token"];

    return $access_token;
}
/* post推送消息*/
function post_send_message($url, $data){
    $opts = array(
        'http' => array(
            'method' => 'POST',
            'Content-Length' => strlen($data),
            'Host' => 'api.weixin.qq.com',
            'Content-Type' => 'application/json',
            'content' => $data
        )
    );
    $context = stream_context_create($opts);
    $result = file_get_contents($url, true, $context);

    return $result;
}
点赞(2) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部