大家好,接下来是广告时间。。不对,接下来是你们百度过来的时间。
欢迎关注我有事没事就吐槽的个人公众号:零零糖。一个萌萌哒的程序员每天陪你在枕边聊天(就问你怕不怕)。公众号发送"获取小程序二维码+邮箱",给你发送完整源码。
好了,进入正题
以我开发获取小程序码A、B、C三个接口的经验总结,主要是两个问题~
一、C接口小程序二维码文档示例值错误(2018.03.08)
{"path": "pages/index?query=1", "width": 430}改为
{"path": "pages/index/index?query=1", "width": 430}
如果按照示例的开发,微信扫码会提示页面不存在。
二、接口返回的是"不可描述"的二进制数据(看起来就是很长很长很长很长的乱码),有两种方式处理(A接口B接口C接口适用)
1、将返回的数据base64并赋值,如下,假如$response是接口返回的数据
$data='image/png;base64,'.base64_encode($response);
echo '<img src="data:'.$data.'">';
2、将返回的数据保存成图片,假如$stream是返回的数据
/**
* 将二进制流以图片存入硬盘
* @param string $stream
* @param string $path
*/
function to_image($stream,$dir,$file_name){
$result=['status'=>self::RETURN_STATUS_ERR];
if(empty($stream))
{
$result['message']='nostream';;
return $result;
}
if (!is_dir($dir)){
$is_make=mkdir($dir,0777,true);
chmod($dir,0777);
var_dump($is_make);
}
$file_path=$dir.$file_name;
$file = fopen($file_path,"w");//打开文件准备写入
fwrite($file,$stream);//写入
fclose($file);//关闭
// $is_put=file_put_contents($file_path,$stream);
//图片是否存在
if(!file_exists($file_path))
{
$result['message']="文件写入失败:($file_path)";
return $result;
}
$result['message']='ok';
$result['data']['file_path']=$file_path;
return $result;
}
完。
欢迎加入小程序开发交流群:370648191。
可加以下微信,拉你进微信小程序开发交流群,请发送验证信息"小程序"。