获取小程序码乱码

大家好,接下来是广告时间。。不对,接下来是你们百度过来的时间。

欢迎关注我有事没事就吐槽的个人公众号:零零糖。一个萌萌哒的程序员每天陪你在枕边聊天(就问你怕不怕)。公众号发送"获取小程序二维码+邮箱",给你发送完整源码。


好了,进入正题

以我开发获取小程序码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。

可加以下微信,拉你进微信小程序开发交流群,请发送验证信息"小程序"。



猜你喜欢

转载自blog.csdn.net/yoperman/article/details/79484775