小程序生成太阳码,遇到47001 的问题

{"errcode":,"errmsg":"data format error hint: [gLcIIa01102372]"}

        $request_data = [
            'scene'     =>      $order_num,              // 这里我试了如果不传scene 会报这样的错误!!!!
            'page'      =>      "pages/order/destory",            //
        ];

        $access_token = $this->_get_access_token();
        if (!$access_token){
            return false;
        }

        vendor('Func.Http');
        $request_url = 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token='.$access_token;
        $result = Http::doPostJson($request_url,$request_data);

第二种方法:

            $url="https://api.weixin.qq.com/wxa/getwxacode?access_token=".$access_token;
            
            $param = [
                'path' => '/pages/good/index?id='.$goods_flag['id'].'&b_type=2',
                'width' => 280,
            ];

$param = json_encode($param);
$result = $this->_requestPost($url, $param);
$fileName = 'goods_id_' . $goods_flag['id'];
file_put_contents("/home/wwwroot/default/ssyv5/lion/Public/xcx_share_img/".$fileName.".png", $result);


protected function _requestPost($url, $data, $ssl=true)
{
//curl完成
$curl = curl_init();
//设置curl选项
curl_setopt($curl, CURLOPT_URL, $url);//URL
$user_agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0 FirePHP/0.7.4';
curl_setopt($curl, CURLOPT_USERAGENT, $user_agent);//user_agent,请求代理信息
curl_setopt($curl, CURLOPT_AUTOREFERER, true);//referer头,请求来源
curl_setopt($curl, CURLOPT_TIMEOUT, 30);//设置超时时间
//SSL相关
if ($ssl) {
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);//禁用后cURL将终止从服务端进行验证
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);//检查服务器SSL证书中是否存在一个公用名(common name)。
}
// 处理post相关选项
curl_setopt($curl, CURLOPT_POST, true);// 是否为POST请求
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);// 处理请求数据
// 处理响应结果
curl_setopt($curl, CURLOPT_HEADER, false);//是否处理响应头
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);//curl_exec()是否返回响应结果

// 发出请求
$response = curl_exec($curl);
if (false === $response) {
echo '<br>', curl_error($curl), '<br>';
return false;
}
curl_close($curl);
return $response;
}



 
原文地址:https://www.cnblogs.com/pansidong/p/11315719.html