shareWx.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. // 分享模块
  2. var shareCls = {
  3. getWxCofing (shareBaseUrl){
  4. var url = location.href.split('#')[0];
  5. var activeTitle = $("#activeTitle").text()
  6. // appid
  7. var appid = baseUrl.indexOf('qiubcar.com') >= 0 ? '!z2Yc.aes|6RQI2+w0x2IGaPEw0OrPMrUkJmxBuX/24QMvaWcGjCA=' : '!z2Yc.aes|j/r6hk33Kyyfehctv+KGW0HnQCXBK61W5sJRNoN9JqM='
  8. // 分享内容
  9. var shareObj = {
  10. title: activeTitle, // 分享标题
  11. desc: '网罗海量优质养车项目,超值套餐应有尽有', // 分享描述
  12. link: url, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
  13. imgUrl: baseUrl + '/shareThumb.jpg', // 分享图标
  14. success : function() {
  15. // 用户确认分享后执行的回调函数
  16. console.log("用户确认分享后执行的回调函数")
  17. }
  18. };
  19. //二次分享处理函数调用
  20. this.shareAgainFn(shareObj.link);
  21. $.ajax({
  22. url: "https://wx.chelingzhu.com/clzwx/redirect/jsapi",
  23. type:'get',
  24. dataType:'json',
  25. data: {
  26. url: url
  27. },
  28. headers:{
  29. 'X-HEADER-APPID': appid
  30. },
  31. success:function(res){
  32. var wxData = res
  33. wx.config({
  34. debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
  35. appId: wxData.appId, // 必填,公众号的唯一标识
  36. timestamp: wxData.timestamp, // 必填,生成签名的时间戳
  37. nonceStr: wxData.nonceStr, // 必填,生成签名的随机串
  38. signature: wxData.signature,// 必填,签名
  39. jsApiList: [
  40. 'checkJsApi',
  41. 'onMenuShareAppMessage',
  42. 'onMenuShareTimeline',
  43. 'updateAppMessageShareData',
  44. 'updateTimelineShareData',
  45. 'getLocation',
  46. 'openLocation'
  47. ] // 必填,需要使用的JS接口列表
  48. });
  49. // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
  50. wx.error(function(res){
  51. console.log(res,'wx error')
  52. });
  53. //需在用户可能点击分享按钮前就先调用
  54. wx.ready(function () {
  55. if(wx.onMenuShareAppMessage){
  56. shareObj.title = activeTitle
  57. //分享给朋友
  58. wx.onMenuShareAppMessage(shareObj);
  59. }
  60. if(wx.onMenuShareTimeline){
  61. // 分享到朋友圈
  62. shareObj.title = shareObj.desc
  63. wx.onMenuShareTimeline(shareObj);
  64. }
  65. if(wx.updateAppMessageShareData){
  66. shareObj.title = activeTitle
  67. // 自定义“分享给朋友”及“分享到QQ”按钮的分享内容
  68. wx.updateAppMessageShareData(shareObj)
  69. }
  70. if(wx.updateTimelineShareData){
  71. shareObj.title = shareObj.desc
  72. // 自定义“分享到朋友圈”及“分享到QQ空间”按钮的分享内容
  73. wx.updateTimelineShareData(shareObj)
  74. }
  75. // 获取用户位置信息
  76. wx.getLocation({
  77. type: 'wgs84',
  78. success (res) {
  79. const latitude = res.latitude
  80. const longitude = res.longitude
  81. getStoreData(latitude,longitude)
  82. }
  83. })
  84. });
  85. },
  86. error: function(err,status,msg){
  87. console.log(err,'jsapi error')
  88. }
  89. })
  90. },
  91. getQueryString(name){
  92. var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
  93. var r = window.location.search.substr(1).match(reg);
  94. if (r != null)
  95. return unescape(r[2]);
  96. return null;
  97. },
  98. shareAgainFn(url){
  99. var from = this.getQueryString('from');
  100. var appinstall = this.getQueryString('appinstall');
  101. var sec = this.getQueryString('sec');
  102. var timekey = this.getQueryString('timekey');
  103. if (from || appinstall || sec || timekey) {
  104. window.location.href = url;
  105. }
  106. },
  107. }