微信分享

141 阅读1分钟
import api from "@/utils/api"
import wx from 'weixin-js-sdk'
export function customshare(dynamic){  
const parmas = {   
 url: encodeURIComponent(window.location.href.split('#')[0])  
}  
api.shareparameter(parmas).then(res => {      
const { data } = res      
if(res.code === 0){        
shareapi(data,dynamic)      
}    
}).catch(error => {      
error?console.log(`${error}`):''    
})  
function shareapi(obj,dynamic){    
wx.config({        
  debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。        
appId: obj.appId, // 必填,公众号的唯一标      timestamp: obj.timestamp, // 必填,生成签名的时间戳      nonceStr: obj.nonceStr, // 必填,生成签名的随机串      
signature: obj.signature,// 必填,签名      jsApiList: ["updateAppMessageShareData","updateTimelineShareData","onMenuShareWeibo"]    
})  
  

//通过error接口处理失败验证   wx.error(function(res){      // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。    
});         
wx.ready(function () {   
//需在用户可能点击`分享按钮前就先调用      
wx.updateAppMessageShareData({        
  title:dynamic.title, // 分享标题        
  desc: dynamic.desc, // 分享描述        
  link: dynamic.link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致        
  imgUrl:window.location.origin+"/product/static/zsw.png", // 分享图标        
  success: function () {          
    // 设置成功        
  }      
});     
wx.updateTimelineShareData({        
  title:dynamic.title, // 分享标题        
  desc: dynamic.desc, // 分享描述        
  link: dynamic.link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致        
  imgUrl:window.location.origin+"/product/static/zsw.png", // 分享图标        
  success: function () {          
    // 设置成功        
  }      
});    
})  
}}