900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > vue 单页面应用 做公众号 微信自定义分享 ios端失败

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

时间:2021-04-12 20:44:28

相关推荐

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>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。