index.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. /**
  2. * MixinIndex v1.0.0
  3. * @description shopro-mixin-index 1.0.0 shopro全局入口组件
  4. * @Author lidongtony
  5. * @Date 2021-04-18
  6. * @Email lidongtony@qq.com
  7. */
  8. import store from '@/common/store'
  9. import share from '@/common/share'
  10. import http from '@/common/request'
  11. import $platform from '@/common/platform'
  12. import {
  13. router
  14. } from '@/common/router'
  15. export default {
  16. onLoad(options) {
  17. let that = this;
  18. // 后端拼接的具体page页面 直接进入 (如订阅消息场景下直接跳转)
  19. // #ifdef MP
  20. console.log(options);
  21. console.log(options.scene);
  22. if (options?.scene) {
  23. let scene = decodeURIComponent(options.scene);
  24. let sceneObj = scene.split('=');
  25. options[sceneObj[0]] = sceneObj[1];
  26. }
  27. // #endif
  28. if (options?.page) {
  29. router.replace({
  30. path: decodeURIComponent(options.page)
  31. })
  32. }
  33. if (options?.custom_id) {
  34. router.replace({
  35. path: '/pages/index/view',
  36. query: {
  37. id: options.custom_id
  38. }
  39. })
  40. }
  41. if (options?.spm) {
  42. let shareParams = share.getShareQuery(options.spm);
  43. // 保存推荐信息
  44. if (shareParams.shareUserId) {
  45. if (store.getters.isLogin) {
  46. http('commission.addTeam', {
  47. spm: options.spm
  48. });
  49. } else {
  50. uni.setStorageSync('spm', options.spm);
  51. }
  52. }
  53. // 跳转分享路径
  54. let page = {};
  55. if (shareParams.page) {
  56. page.path = shareParams.page;
  57. }
  58. if (shareParams.pageId) {
  59. page.query = {
  60. id: shareParams.pageId
  61. }
  62. }
  63. if (page.path) {
  64. router.replace(page);
  65. }
  66. }
  67. },
  68. // #ifdef MP-WEIXIN
  69. onShareAppMessage(res) {
  70. let that = this;
  71. // uni.$emit('ON_WX_SHARE')
  72. let shareInfo = store.getters.shareInfo;
  73. // console.log(shareInfo)
  74. return {
  75. title: shareInfo.title,
  76. path: shareInfo.path,
  77. imageUrl: shareInfo.image,
  78. // success(res) {
  79. // uni.showToast({
  80. // title: '分享成功'
  81. // })
  82. // },
  83. // fail(res) {
  84. // uni.showToast({
  85. // title: '分享失败',
  86. // icon: 'none'
  87. // })
  88. // },
  89. complete() {}
  90. }
  91. },
  92. onShareTimeline(res) {
  93. let that = this;
  94. let shareInfo = store.getters.shareInfo;
  95. let query = shareInfo.query;
  96. // console.log(query);
  97. //携带当前页面资源ID参数
  98. let currentPage = getCurrentPages()[getCurrentPages().length - 1];
  99. let options = currentPage.options;
  100. if (JSON.stringify(options) != '{}' && options.id) {
  101. query += `&id=${options.id}`;
  102. }
  103. // console.log(query)
  104. return {
  105. title: shareInfo.title,
  106. query: query,
  107. imageUrl: shareInfo.image,
  108. // success(res) {
  109. // uni.showToast({
  110. // title: '分享成功'
  111. // })
  112. // },
  113. // fail(res) {
  114. // uni.showToast({
  115. // title: '分享失败',
  116. // icon: 'none'
  117. // })
  118. // },
  119. complete() {}
  120. }
  121. }
  122. // #endif
  123. }