微信H5分享不生效

官方文档 https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html

注意要点
  1. JS域名安全域名;确认 config 中的 appid 与用来获取 jsapi_ticket 的 appid 一致
  2. checkJsApi检验接口权限
  3. config 接口的时候传入参数 debug: true 可以开启 debug 模式排查错误
  4. 分享链接域名一致;确认 url 是页面完整的url(请在当前页面alert(location.href.split(‘#’)[0])确认),包括’http(s)😕/‘部分,以及’?‘后面的 GET 参数部分,但不包括’#'hash后面的部分
  5. imgUrl图片不能过大
  6. 检查微信版本,jssdk使用最新版本,避免使用即将废弃的接口。机型导致的问题使用官方demo验证
  7. 实践发现,通过收藏、公众号菜单、二维码进入分享正常,其他场景分享就是链接现象,可能与微信策略有关。官方回复 “若是点击的是链接形式分享也会是链接形式,若点击的是卡片形式,分享也是卡片形式”
  function openShare(data) {
    {
      // 微信分享
      wx && wx.config({
        debug: false,
        appId: data.app_id,
        timestamp: data.timestamp, // 必填,生成签名的时间戳
        nonceStr: data.noncestr, // 必填,生成签名的随机串
        signature: data.signature, // 必填,签名
        jsApiList: [
          "checkJsApi",
          "onMenuShareWeibo",
          "updateTimelineShareData",
          "updateAppMessageShareData",
          "onMenuShareAppMessage",
          "onMenuShareTimeline",
          "onMenuShareQQ",
        ],
      });

      // 校验接口权限
      wx && wx.checkJsApi({
        jsApiList: [
          "onMenuShareWeibo",
          "updateTimelineShareData",
          "updateAppMessageShareData",
          "onMenuShareAppMessage",
          "onMenuShareTimeline",
          "onMenuShareQQ",
        ],
        success: function (res) {
          console("ok", JSON.stringify(res));
        },
        error: function (res) {
          console("error", res.errMsg);
        },
      });

      /*
      	分享
       title: 标题
       link: 点击分享跳转的链接
       imgUrl: 分享的img 要在服务器上的
       desc: 内容
       */
       wx && wx.ready(function () {
        console.log("wx ready");
        var shareData = {
          title: data.title,
          desc: data.desc,
          link: window.location.href,
          imgUrl: data.cover,
          success: function () {
            console.log("share ok")
          }
        };
        wx.updateAppMessageShareData(shareData); // “分享给朋友”及“分享到QQ”
        wx.updateTimelineShareData(shareData); // “分享到朋友圈”及“分享到QQ空间”
        wx.onMenuShareWeibo(shareData); // 分享到腾讯微博
        wx.onMenuShareTimeline(shareData); // 旧版,分享到朋友圈
        wx.onMenuShareAppMessage(shareData); // 旧版,分享给朋友
        wx.onMenuShareQQ(shareData); // 旧版,分享给qq
      });

      wx && wx.error(function (res) {
        console("wx error", res.errMsg);
      });
    }
  }
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在uniapp开发中,样式失效的问题可能是由于不同平台的差异导致的。以下是一些可能导致样式失效的原因和解决方法: 1. 不同平台的样式差异:不同平台对于某些样式属性的支持程度可能不同,导致样式在某些平台上不生效。可以通过使用条件注释来针对不同平台编写不同的样式代码,以解决样式失效的问题。 2. 样式选择器的优先级问题:在CSS中,样式选择器的优先级决定了样式的应用顺序。如果某个样式选择器的优先级较高,会覆盖其他选择器的样式。可以通过调整样式选择器的优先级来解决样式失效的问题。 3. 样式属性的兼容性问题:某些样式属性在不同平台上的兼容性可能存在差异,导致样式在某些平台上不生效。可以通过使用浏览器前缀或者使用兼容性更好的样式属性来解决样式失效的问题。 4. 样式文件引入问题:如果样式文件没有正确引入或者引入路径不正确,会导致样式文件无法加载,从而导致样式失效。可以检查样式文件的引入路径是否正确,并确保样式文件被正确加载。 5. 样式冲突问题:如果多个样式规则之间存在冲突,会导致样式失效。可以通过检查样式规则之间的冲突,并进行适当的调整来解决样式失效的问题。 6. 缓存问题:有时候样式文件可能被缓存,导致修改后的样式无法立即生效。可以尝试清除缓存或者使用无缓存模式来解决样式失效的问题。 以下是一个示例代码,演示了如何使用条件注释来解决不同平台下样式失效的问题: ```html <template> <view class="container"> <view class="text">Hello World</view> </view> </template> <style> /* 通用样式 */ .text { font-size: 16px; } /* 微信小程序样式 */ #ifdef MP-WEIXIN .text { color: red; } /* H5样式 */ #ifdef H5 .text { color: blue; } </style> ``` 通过使用条件注释,我们可以针对不同平台编写不同的样式代码,从而解决样式在不同平台上失效的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值