invite.vue 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <template>
  2. <all-receive-list v-if="state.page_show == '总邀请者页'"></all-receive-list>
  3. <div v-show="state.page_show != '总邀请者页'">
  4. <invite-layer></invite-layer>
  5. <!-- 邀请页 -->
  6. <div class="area-process" v-show-log="state.log_invite_show">
  7. <div class="area1">
  8. <v-head :left-data="state.detail.postUserInfo || null" :rightData="state.detail.remainAmountUsdValue">
  9. </v-head>
  10. <v-carousel></v-carousel>
  11. </div>
  12. <v-boxs style="margin-top: 30px;"></v-boxs>
  13. <invite-list></invite-list>
  14. </div>
  15. <div class="area-info">
  16. <invite-friends></invite-friends>
  17. <!-- -->
  18. </div>
  19. </div>
  20. <v-dialog v-show="state.dialog.show"></v-dialog>
  21. </template>
  22. <script setup>
  23. import { ref, onMounted, watch, inject } from 'vue'
  24. import AllReceiveList from '@/view/iframe/treasure-hunt/all-receive-list.vue'
  25. import VHead from '@/view/iframe/treasure-hunt/components/head.vue'
  26. import InviteList from '@/view/iframe/treasure-hunt/components/invite-list.vue'
  27. import HoverTip from '@/view/iframe/treasure-hunt/components/hover-tip.vue'
  28. import InviteFriends from '@/view/iframe/treasure-hunt/components/invite-friends.vue'
  29. import VDialog from '@/view/iframe/treasure-hunt/components/dialog.vue'
  30. import VBoxs from '@/view/iframe/treasure-hunt/components/boxs.vue'
  31. import VCarousel from '@/view/iframe/treasure-hunt/components/carousel.vue'
  32. import InviteLayer from '@/view/iframe/treasure-hunt/components/invite-layer.vue'
  33. import Report from "@/log-center/log"
  34. let state = inject('state')
  35. state.log_invite_show = {
  36. businessType: Report.businessType.pageView,
  37. pageSource: Report.pageSource.inviteFriendsPage,
  38. redPacketType: Report.redPacketType.treasure,
  39. shareLinkId: state.invite_code,
  40. myShareLinkId: state.detail.inviteCopyUrl,
  41. currentInvitedNum: state.inviteCount,
  42. postId: state.postId
  43. }
  44. // ---- tab区域 ----
  45. state.tab_index = 0
  46. state.tabs = [{
  47. txt: 'Invite Friends'
  48. }, {
  49. txt: 'Invited'
  50. }]
  51. onMounted(() => {
  52. if (state.timer) {
  53. return
  54. }
  55. state.timer = setInterval(() => {
  56. state.refreshInit()
  57. }, 30000)
  58. })
  59. </script>
  60. <style lang="scss" scoped>
  61. .area-process {
  62. width: 375px;
  63. height: 260px;
  64. background: linear-gradient(179.96deg, #25180D 48.1%, #6A4C1F 62.7%, #24180C 77.69%);
  65. position: relative;
  66. .area1 {
  67. background: rgba(255, 255, 255, 0.1);
  68. }
  69. .area2 {}
  70. }
  71. .area-info {
  72. width: 375px;
  73. }
  74. </style>