微信小程序上线后canvas生成图片为空白

养成先说结论的好习惯~~~

结论

检查小程序后台配置的域名信息,下载图片的域名是否配置,配置是否正确

事件

  • 项目需求:动态生成小程序码,用户扫码进入活动详情页
  • 技术实现:使用小程序云函数生成小程序码,然后使用canvas画图,用户点击保存时将图片保存到相册
  • 实际背景:云函数生成小程序码,携带页面跳转参数,该页面必须是已发布的小程序页面。初次上线时如果带有跳转参数会报错,无法测试。我们先用不带参数的方法生成了小程序,上线前添加上了页面参数,但无法验证
  • 上线后:上线后测试生成小程序码功能,发现码可以生成,但保存下来的图片为空白,而且开发者工具上保存的是可以的,但手机扫码就不行,可气的是真机调试也可以!!
  • 找问题:发现开发者工具没有校验不合法域名(中间颇多曲折),去掉不校验选项后终于报错了(有时候不报错比报错更令人崩溃)

原因

小程序后台没有配置downloadFile,或配置的域名与下载的域名不符。关闭开发者工具中的不校验合法域名选项可以看到错误信息。

解决

在小程序后台->开发->开发设置->服务器域名中配置downloadFile,配置完成后在开发者工具中右侧详情面板->项目配置刷新域名信息,关闭不校验合法域名选项,再次运行检查是否可下载。

碎碎念

  • 小程序后台配置的域名信息必须为https
  • 上线前一定要记得配置域名信息,有时候因为默认打开不校验选项而忽略了这个问题
  • 附上小程序后台配置域名的截图
    小程序域名配置

你可能感兴趣的:(微信小程序上线后canvas生成图片为空白)