微信中“下单账号和支付账号不一致,请核实后再支付”原因及解决办法 hideMenuItems 复制链接

如果你出现了如下问题,且你的需求是需要保留分享的功能,但是不想用户支付出现这个问题,那么如下方案可以解决

 

 

例如:
原始A链接  http://***/index.html?activityId=5&staffId=503880
用户进入后授权登录后 就会授权后的B链接  http://***/index.html?activityId=5&staffId=503880&code=071R8ZZv3iSXIU221Y2w3Hd6Ia1R8ZZ6&state=STATE&token=32be19b687e24722a8a8cb32a52c1c11&appId=wx74f58b6ed049369c#/home
【看到了吗 链接上带来用户信息code 或 token 或 openId了, 你看看你的信息有没有】

如果问题出在点击右上角的分享给朋友

那么就是你在写调微信jdk时,里面的wx.config的写法为 shareUrl = window.localtion.href  (看上面的授权后B链接,显然是错的,那么就有了其它用户的信息),
针对这种情况的话,可以用 shareUrl= window.location.href.split("#/")[0].split("&code=")[0];  或者用写法 const shareUrl = `${location.origin}${location.pathname}?id=${common.getQueryString('id')}&activityId=${common.getQueryString('activityId')}`;    完美解决

如果点击右上角分享出去的url处理了,还是出现了支付账号不一致的问题


那么就是第二种问题了,就是用户直接点击了右上角出现的复制链接的按钮,然后把链接直接发给其他人,那么针对这个问题要如何解决呢,

wx.config({
                debug: !1,
                appId: e.appId,
                timestamp: r,
                nonceStr: n,
                signature: s.toString(),
                jsApiList: ['hideMenuItems']   // 第一步
}),
 wx.ready(function() {
      wx.hideMenuItems({  // 第二步
          menuList: ["menuItem:copyUrl"] // 要隐藏的菜单项,只能隐藏“传播类”和“保护类”按钮
      });
});

【传播类】
发送给朋友: "menuItem:share:appMessage"  分享到朋友圈: "menuItem:share:timeline"
分享到QQ: "menuItem:share:qq"  分享到Weibo: "menuItem:share:weiboApp"
收藏: "menuItem:favorite"  分享到FB: "menuItem:share:facebook"
分享到 QQ 空间/menuItem:share:QZone
【保护类】
编辑标签: "menuItem:editTag"  删除: "menuItem:delete"
复制链接: "menuItem:copyUrl"  原网页: "menuItem:originPage"  
阅读模式: "menuItem:readMode"  邮件: "menuItem:share:email"
在QQ浏览器中打开: "menuItem:openWithQQBrowser"
在Safari中打开: "menuItem:openWithSafari"
一些特殊公众号: "menuItem:share:brand"

 

技能拓展:隐藏全部的微信按钮的方案  

在查找如何处理隐藏复制链接的时候,看到这种针对不要分享也不要复制链接,这里也放出来供参考吧

function onBridgeReady() {
    WeixinJSBridge.call('hideOptionMenu');
}

 if (typeof WeixinJSBridge == "undefined") {
            if (document.addEventListener) {
          document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
        } else if (document.attachEvent) {
          document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
          document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
        }
} else {
     onBridgeReady();
}

源文件放置位置

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值