index.vue 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <template>
  2. <view class="indexBox">
  3. </view>
  4. </template>
  5. <script>
  6. import {
  7. mapState,
  8. mapMutations
  9. } from 'vuex';
  10. // #ifdef MP
  11. import {
  12. share
  13. } from '@/api/wx';
  14. // #endif
  15. import {
  16. loadIndexs,
  17. } from '@/api/index.js';
  18. export default {
  19. data() {
  20. return {
  21. };
  22. },
  23. computed: {
  24. ...mapState('user', ['hasLogin', 'userInfo']),
  25. },
  26. onLoad: function(option) {
  27. // #ifndef MP
  28. if (option.spread) {
  29. // 存储其他邀请人
  30. uni.setStorageSync('spread', option.spread);
  31. }
  32. // #endif
  33. // #ifdef MP
  34. if (option.scene) {
  35. // 存储小程序邀请人
  36. uni.setStorage({
  37. key: 'spread_code',
  38. data: option.scene
  39. });
  40. }
  41. this.share()
  42. // #endif
  43. },
  44. onShow() {
  45. this.loadIndexs();
  46. },
  47. onReady() {
  48. },
  49. // #ifdef MP
  50. onShareAppMessage(options) {
  51. // 设置菜单中的转发按钮触发转发事件时的转发内容
  52. let pages = getCurrentPages(); //获取加载的页面
  53. let currentPage = pages[pages.length - 1]; //获取当前页面的对象
  54. let url = currentPage.route; //当前页面url
  55. let item = currentPage.options; //如果要获取url中所带的参数可以查看options
  56. let shareObj = {
  57. title: this.shareData.title, // 默认是小程序的名称(可以写slogan等)
  58. path: url, // 默认是当前页面,必须是以‘/’开头的完整路径
  59. imageUrl: this.shareData.img,
  60. desc: this.shareData.synopsis,
  61. success: function(res) {
  62. // 转发成功之后的回调
  63. if (res.errMsg == 'shareAppMessage:ok') {}
  64. },
  65. fail: function() {
  66. // 转发失败之后的回调
  67. if (res.errMsg == 'shareAppMessage:fail cancel') {
  68. // 用户取消转发
  69. } else if (res.errMsg == 'shareAppMessage:fail') {
  70. // 转发失败,其中 detail message 为详细失败信息
  71. }
  72. }
  73. };
  74. // 判断是否可以邀请
  75. if (this.userInfo.uid) {
  76. shareObj.path += '&spread=' + this.userInfo.uid;
  77. }
  78. return shareObj;
  79. },
  80. // #endif
  81. methods: {
  82. // #ifdef MP
  83. share() {
  84. // console.log('加载分享');
  85. const that = this;
  86. // 请求获取默认数据
  87. share({}).then(({
  88. data
  89. }) => {
  90. // console.log('分享回调', data);
  91. that.shareData = data.data
  92. });
  93. },
  94. // #endif
  95. // 首页初始化
  96. loadIndexs() {
  97. const that = this;
  98. // 获取首页数据
  99. loadIndexs({
  100. store_id: that.shopDetail.id
  101. }).then((e) => {
  102. }).catch((e) => {
  103. })
  104. },
  105. navTo(url) {
  106. uni.navigateTo({
  107. url: url
  108. })
  109. }
  110. },
  111. };
  112. </script>
  113. <style lang="scss">
  114. </style>