接口B:适用于需要的码数量极多,或仅临时使用的业务场景
/**
* 接口B:适用于需要的码数量极多,或仅临时使用的业务场景
* @param $parameter
* @param string $wxpath
* @return array
*
*/
//参数值
$params= 'name='.$name.'&name2='.$name2;
$wxpath = 'pages/index/index';
//根据实际小程序页面路径填入
//说明: 参数可以自己在后面拼接用 & 符连接 ,name为字段名称,可以改为自己的
public function createWxCode($params,$wxpath = 'pages/index/index'){
//文件保存路径
$path = "./uploads/wxcode/" . date('Ymd');
try {
mkdir($path); //创建路径
//微信小程序创建场景码url,可以在微信小程序API文档中查找
$url="https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=".$this->get_access_token();
$data=[
'scene'=> $params,
'page' => $wxpath,
'width'=>430,
'auto_color'=>false,
];
$data = json_encode($data);
$result = Http::sendRequest($url,$data);
Log::record('wx return img data : ' . $result['msg']);
if (!$result['ret']) {
return ['code' => 0, 'msg' => '微信创建二维码失败', 'data' => $result];
}
$fileName = 'wx_code_' . date('YmdHis');
$wxCodeUrl = $path . '/' . $fileName . ".jpeg";
if ($fileName) {
file_put_contents($wxCodeUrl, $result['msg']);
$url = '/uploads/wxcode/' . date('Ymd') . '/' . $fileName . ".jpeg";
return ['code' => 1, 'msg' => '创建成功', 'data' => $url];
}
} catch (Exception $e) {
Log::record('make wx img error : ' . $e->getMessage());
return ['code' => 0, 'msg' => $e->getMessage()];
}
}
示例是基于fastadmin中生成小程序二维码, 主要是接口B, Http::sendRequest 是fastadmin中的http请求工具,可以替换为自己的curl请求
以上示例,供大佬们指教学习