想要的效果是点击图片弹出预览图,并且提示用户长按识别小程序码
模拟器上妥妥的没有任何问题,结果到真机上....完戏苹果是直接不弹出toast,安卓手机上显示一下,当预览图出来就没有了。
各种百度,没有找到合理的解释。最后从微信的开发社区里面找到了官方的解释。https://developers.weixin.qq.com/community/develop/doc/000aa47b100dc82abd489d73a51400?highLine=previewImage
理解万岁。只能尝试从其他方向提示用户长按识别小程序码。
于是又给出了一个方案,预览图为一个带背景的小程序码图,在背景图上写上长按识别。
我便想了想,在哪里实现两张图的合并呢?
在预览文章的时候,合并图片,保存图片,并把图片地址返回
//在此之前我已经做了小程序码的上传,下面只需把小程序码与背景图合并生成一个新的图片,并保存。
...
$path = './uploads/look/'.$id.'_'.$key.'.png';//文件的存放路径
if(!file_exists($path)){
$QIMG = './uploads/'.$value['app_code_date'].'/thumb/'.$value['app_code'];
$dst_path = './static/images/look.png';//背景图片路径
$src_path = $QIMG;//覆盖图
$dst = imagecreatefromstring(file_get_contents($dst_path));
$src = imagecreatefromstring(file_get_contents($src_path));
//自己算自己小程序码放的位置
imagecopymerge($dst, $src, 188, 240, 0, 0, 344, 344, 100);
header("Content-type: image/png");
imagepng($dst,$path);//根据需要生成相应的图片
}
$arrs['wxApp'][$key]['look'] = $id.'_'.$key.'.png'; //为我保存合并图片的变量
...
小程序上展示很简单了
bindViewTap: function(e) {
var look = e.currentTarget.dataset.look;
var url = app.globalData.imgurl+'/public/uploads/look/'+look
wx.previewImage({
current: url, // 当前显示图片的http链接
urls: [url], // 需要预览的图片http链接列表
})
}