vue 单页面应用 做公众号,微信自定义分享,ios端失败

1.有人说是vue项目ios端地址栏 不会变,我是用的 window.location.href 来传给后台生成config参数的,所以解决了
2.自定的分享不触发,打开

wx.config({
  debug: true

我的项目里报fail imgurl is needed,然后我在 imgUrl 随便填了,就可以了

wx.updateAppMessageShareData({
  title: '红娘端', // 分享标题
  desc: '', // 分享描述
  link: 'http://wwram=1', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
  imgUrl: '123.png', // 分享图标
  success: function () {
    // 设置成功
  }
})

3.有的说ios进入Vue项目不可以使用定向

不可以在第一次进入项目使用定向!否则在ios端会导致首页wx.config失败! { path: '/', redirect:"/home" },

4.分享可以在app.vue 里直接设置,这样就不用每个页面去设置了

<template>
  <div id="app" :class="isGray==1?'gray':''">
    <router-view/>
  </div>
</template>

<script>
  import config from '@/config/index'
  // import wx from 'weixin-jsapi'
  import wx from 'weixin-js-sdk'
  import {configapi} from "@/api/home/home"
  export default {
    name: 'App',
    data () {
      return {
       
        isIos:false,
       
    },
    methods:{
      share(){

        configapi(window.location.href).then(res=>{
          if(res.data.code==200){
            wx.config({
              debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
              appId: res.data.data.appId, // 必填,公众号的唯一标识
              timestamp:res.data.data.timestamp, // 必填,生成签名的时间戳
              nonceStr: res.data.data.nonceStr, // 必填,生成签名的随机串
              signature: res.data.data.signature,// 必填,签名
              jsApiList: [
                'updateTimelineShareData',//1.4.0的分享接口,注意:使用新版本的分享功能,一定要在该列表加上对应的老版本功能接口,否则新接口不起作用
                'updateAppMessageShareData',//1.4.0的分享接口,注意:使用新版本的分享功能,一定要在该列表加上对应的老版本功能接口,否则新接口不起作用
                'onMenuShareAppMessage',//老版本分享接口。
                'onMenuShareTimeline'//老版本分享接口
              ] // 必填,需要使用的JS接口列表
            });

            wx.ready(function () {   //需在用户可能点击分享按钮前就先调用
              console.log('redayle')
              wx.updateAppMessageShareData({
                title: '红娘端', // 分享标题
                desc: '', // 分享描述
                link: 'http://orize?param=1', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
                imgUrl: '123.png', // 分享图标
                success: function () {
                  // 设置成功
                }
              })
              wx.updateTimelineShareData({
                title: '红娘端', // 分享标题
                link: 'httwechat/authorize?param=1', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
                imgUrl: '123.png', // 分享图标
                success: function () {
                  // 设置成功
                }
              })
            });


          }
        })
      }
    },
    watch: {
      $route: {
        handler: function(val, oldVal){
      
          if(!this.isIos){
            this.share();
          }

        },
        // 深度观察监听
        deep: true
      }
    },
    mounted(){
    },
    created(){
      const u = navigator.userAgent;
      this.isIos =  !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
      this.share();
    },
  }
</script>


 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值