评论

关于小程序分享到朋友圈打开空白问题的解决方案

小程序分享到朋友圈打开空白问题的解决方案,屏蔽发生错误的接口即可。

原因就是对应接口已被屏蔽,但使用的方法依然去做了轮训和引用。

直接说解决方法:

1、如果使用了promisifyAll方法,可以找到miniprogram-api-promise/promise.js,找到相应代码修改如下:

export function promisifyAll(wx = {}, wxp = {}) {
	Object.keys(wx).forEach(key => {
		if (key !== "shareImageMessage") {
			const fn = wx[key];
			if (typeof fn === 'function' && asyncMethods.indexOf(key) >= 0) {
				wxp[key] = args => {
					if (hasCallback(args)) {
						fn(args);
					} else {
						return _promisify(fn)(args);
					}
				};
			} else {
				wxp[key] = fn;
			}
		}
	});
}


2、如果使用了第三方框架,可以在编译后的代码中,搜索 Object.keys(wx),并增加对shareImageMessage接口的判断条件,比如:

Object.keys(wx).forEach((function(e){(A(wx,e)||A(fe,e))&&(Cn[e]=oe(e,we(e,wx[e])))})))

可以替换为

Object.keys(wx).forEach((function(e){if(e!=="shareImageMessage"){(A(wx,e)||A(fe,e))&&(Cn[e]=oe(e,we(e,wx[e])))}})))


基本按以上方式可以解决空白问题,不同第三方框架在编译后的代码有不同,但可以对比按此方式修改。

最后一次编辑于  2020-07-20  
点赞 1
收藏
评论

4 个评论

  • 韦祎龙
    韦祎龙
    04-28

    通过配置模拟朋友圈打开"单页面"模式,就可以发现和处理问题了

    04-28
    赞同 1
    回复
  • 驴蛙
    驴蛙
    2021-06-03

    商品详情页,需要携带id参数你的怎么弄的,大佬

    2021-06-03
    赞同
    回复
  • fankeke
    fankeke
    2020-11-24

    碰到了相同(类似)的问题:参照楼主方案解决了。

    这里汇个总,以供其他小伙伴参考:

    小程序分享朋友圈,iphone打开是空白页? | 微信开放社区 (qq.com)

    2020-11-24
    赞同
    回复
  • 寒尘卉羽
    寒尘卉羽
    发表于小程序端
    2020-07-20
    知道了
    2020-07-20
    赞同
    回复 2
    • 驴蛙
      驴蛙
      2021-06-03
      商品详情页,需要携带id参数你的怎么弄的,大佬
      2021-06-03
      回复
    • 赤黑
      赤黑
      2022-08-21回复驴蛙
      请问解决了嘛
      2022-08-21
      回复
登录 后发表内容