wechat.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. var jweixin = require("jweixin-module");
  2. import { getShareGzh } from "@/utils/bill";
  3. export default {
  4. //判断是否在微信中
  5. isWechat: function () {
  6. var ua = window.navigator.userAgent.toLowerCase();
  7. return ua.match(/micromessenger/i) == "micromessenger";
  8. },
  9. //初始化sdk配置
  10. initJssdkShare: function (callback) {
  11. getShareGzh().then((result) => {
  12. jweixin.config({
  13. debug: true,
  14. appId: result.appid,
  15. timestamp: result.timestamp,
  16. nonceStr: result.nonceStr,
  17. signature: result.signature,
  18. jsApiList: ["updateTimelineShareData", "updateAppMessageShareData"],
  19. });
  20. //配置完成后,再执行分享等功能
  21. if (callback) {
  22. callback(result);
  23. }
  24. });
  25. },
  26. //在需要自定义分享的页面中调用
  27. share: function (data) {
  28. // if (!this.isWechat()) {
  29. // return;
  30. // }
  31. //每次都需要重新初始化配置,才可以进行分享
  32. this.initJssdkShare(function (signData) {
  33. let { title, desc, link, imgUrl } = data;
  34. jweixin.ready(function () {
  35. var shareData = {
  36. title,
  37. desc,
  38. link: link || window.location.href,
  39. imgUrl,
  40. success: function (res) {
  41. // 分享后的一些操作,比如分享统计等等
  42. console.log("分享成功");
  43. },
  44. cancel: function (res) {},
  45. };
  46. //分享给朋友接口
  47. // jweixin.updateAppMessageShareData(shareData);
  48. //分享到朋友圈接口
  49. jweixin.updateTimelineShareData(shareData);
  50. });
  51. });
  52. },
  53. };