fa.weixin.mixin.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. //微信网页分享
  2. var jweixin = require('jweixin-module')
  3. export const weixinShare = {
  4. methods: {
  5. //初始化sdk配置
  6. initJssdk: function(callback) {
  7. let url = '';
  8. if(window.location.hash != ''){
  9. url = window.location.origin+window.location.pathname;
  10. }else{
  11. url = window.location.href;
  12. }
  13. this.$api.getSigned({url:url}).then(res=>{
  14. if (res.code) {
  15. jweixin.config({
  16. debug: false,
  17. appId: res.data.appId,
  18. timestamp: res.data.timestamp,
  19. nonceStr: res.data.nonceStr,
  20. signature: res.data.signature,
  21. jsApiList: [
  22. 'checkJsApi',
  23. 'updateAppMessageShareData',
  24. 'updateTimelineShareData',
  25. 'onMenuShareWeibo'
  26. ]
  27. });
  28. //配置完成后,再执行分享等功能
  29. if (typeof callback == 'function') {
  30. callback();
  31. }
  32. }else{
  33. this.$u.toast(res.msg)
  34. }
  35. })
  36. },
  37. //在需要自定义分享的页面中调用
  38. wxShare: function(data) {
  39. //每次都需要重新初始化配置,才可以进行分享
  40. this.initJssdk(function() {
  41. jweixin.ready(function() {
  42. var shareData = {
  43. title: data && data.title ? data.title : '分享标题',
  44. desc: data && data.desc ? data.desc : '分享内容',
  45. link: data && data.url?data.url:window.location.origin,
  46. imgUrl: data && data.img ? data.img : '',
  47. success: function(res) {
  48. },
  49. cancel: function(res) {}
  50. };
  51. //自定义“分享给朋友”及“分享到QQ”按钮的分享内容;
  52. jweixin.updateAppMessageShareData(shareData)
  53. //自定义“分享到朋友圈”及“分享到QQ空间”按钮的分享内容;
  54. jweixin.updateTimelineShareData(shareData)
  55. //分享到腾讯微博
  56. jweixin.onMenuShareWeibo(shareData);
  57. });
  58. });
  59. }
  60. }
  61. }