Appearance
问题现象
用户在小程序商品详情页或个人中心点击“生成分销海报 / 分享海报”时,页面进度条长时间停滞,提示 海报生成失败 或生成了一张缺少商品图片/缺少太阳码的空白图。
根本原因与排查步骤
小程序前端通过 Canvas 绘图生成海报,在绘制前需通过 wx.downloadFile 或 wx.getImageInfo 将海报所需的商品主图、用户头像、小程序太阳码下载到本地临时文件。
检查【downloadFile 合法域名】配置(最常见原因)
- 现象:微信控制台报错
downloadFile:fail url not in domain list。 - 排查:
- 登录微信小程序公众平台 -> 【开发管理】 -> 【开发设置】 -> 【服务器域名】。
- 检查 downloadFile 合法域名 中是否包含:
- 当前商城主域名(如
https://www.yourdomain.com)。 - 若启用了对象存储(七牛云 / 阿里云 OSS / 腾讯云 COS),必须将 云存储的自定义访问域名 也同步添加到
downloadFile列表中。 - 若包含用户微信头像绘制,微信头像域名(
https://thirdwx.qlogo.cn)微信已默认放行,但需确保证书正常。
- 当前商城主域名(如
小程序太阳码生成接口状态
- 太阳码(小程序码)依赖后端接口调用微信
getUnlimitedQRCode。 - 确认小程序在微信官方已审核发布过至少一个版本,且当前小程序 AppID/Secret 配置正确。
图片资源 HTTPS 与 CORS 跨域
- 海报引用的所有图片资源必须支持 HTTPS 访问。
- 若使用云存储,需在云存储控制台开启 CORS 跨域访问规则(放行小程序请求)。