H5分享,安卓分享都是正常。在部分ios机型(8P,6SP)下分享不能正常显示图标,部分机型(iphone11,iphoneSE,iphoneXS)可以显示
appid:wxa96611ccb56e336f
复现:https://sitwxp.cardpu.com/wisale-sell-promise/#/
代码:
// utils/wxapi
static config({ appId, timestamp, nonceStr, signature }) {
return new Promise((resolve, reject) => {
wx.config({
debug: process.env.NODE_ENV === 'development', // 开启调试模式
appId, // 必填,公众号的唯一标识
timestamp, // 必填,生成签名的时间戳
nonceStr, // 必填,生成签名的随机串
signature, // 必填,签名
jsApiList: apiList // 必填,需要使用的JS接口列表
})
wx.ready(() => {
resolve()
})
wx.error(res => {
reject(res)
})
})
}
static updateAppMessageShareData(options = {}) {
return new Promise((resolve, reject) => {
let defaultOpts = {
title: '', // 分享标题
desc: '', // 分享描述
link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: '', // 分享图标
success() {
resolve()
},
error(res) {
reject(res)
}
}
wx.ready(function () {
wx.updateAppMessageShareData({ ...defaultOpts, ...options })
})
})
}
// share
async wxCustomShare({ link = window.location.href, title, desc, imgUrl }) {
// if (!title || !desc || !imgUrl) { throw new Error('请设置微信分享的标题title、描述desc和图片imgUrl') }
let res = await this.$Weixin.getJsapiSignature()
let { appid, timestamp, noncestr, signature } = res.data
try {
await wxapi.checkJsApi()
try {
await wxapi.config({ appId: appid, timestamp, nonceStr: noncestr,signature })
wxapi.updateAppMessageShareData({ title, desc, link, imgUrl })
wxapi.updateTimelineShareData({ title, link, imgUrl })
} catch (e) {
helper.toast('微信分享配置失败')
}
} catch (e) {
helper.toast('请升级微信客户端后分享')
}
return res
}
解决了吗?这个问题
后来测试将分享icon地址改成微信系统地址(微信头像地址,微信公众号图片地址)既可正常显示。
图1:正常显示
图二:不正常显示
你好,麻烦提供下不能显示的图标和正常的截图看看。