# 分享 **Repository Path**: sinians/share ## Basic Information - **Project Name**: 分享 - **Description**: vue微信分享功能遇到的坑以及填坑 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-03-19 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README vue 微信分享 请求后前签名接口,获取签名,appid等参数 //判断当前用户使用客户端(微信,或iOS) var ua = navigator.userAgent; var ipad = ua.match(/(iPad).*OS\s([\d_]+)/), isIphone = !ipad && ua.match(/(iPhone\sOS)\s([\d_]+)/), isAndroid = ua.match(/(Android)\s+([\d.]+)/), isMobile = isIphone || isAndroid; //判断 if(isIphone) { //设置当前是iOS的入参url vue在微信跳转路由时会加上# 微信会自动截取#后的参数 上传至后端换取签名时签名会获取不到所以截取#后的参数上传 this.myurl = window.location.href.split("#")[0]; } else if(isAndroid){ //设置当前是Android的入参url this.myurl =encodeURI(window.location.href); } var that = this; wx.config({ debug: false, appId: that.fenxiang_post.appId, // 和获取Ticke的必须一样------必填,公众号的唯一标识 timestamp: that.fenxiang_post.timestamp, // 必填,生成签名的时间戳 nonceStr: that.fenxiang_post.noncestr, // 必填,生成签名的随机串 signature: that.fenxiang_post.signature, // 必填,签名,见附录1 //设置当前要调用的微信jssdk接口 安卓暂不支持新的分享接口("updateAppMessageShareData", "updateTimelineShareData")但iOS支持 可以在jsApiLise中写入旧接口 并用新接口设置 在Android也可以生效 jsApiList: ["onMenuShareAppMessage", "onMenuShareTimeline","updateAppMessageShareData", "updateTimelineShareData"] }); //设置分享连接 wx.updateTimelineShareData({ title: '', // 分享标题 desc: '', // 分享描述 link: window.location.href, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致 imgUrl: '', // 分享图标 success: function(res) { // alert('成功') // alert(res) }, cancel: function(res) { // alert(res) // alert('失败') } });