瀏覽代碼

[add][逻辑]

zhangwei 2 年之前
父節點
當前提交
7035f28d46

+ 1 - 1
src/http/treasure.js

@@ -33,7 +33,7 @@ export function inviteList(params) {
     });
 }
 
-export function inviteList(params) {
+export function treasureOpen(params) {
     return service({
         url: `/post/treasure/open`,
         method: "post",

+ 15 - 5
src/view/iframe/treasure-hunt/components/head.vue

@@ -1,11 +1,11 @@
 <template>
     <div class="head">
-        <div class="left">
-            <img :src="require('@/assets/svg/icon-warning.svg')" alt="" />
+        <div class="left" v-if="leftData">
+            <img :src="leftData.avatarUrl" alt="" />
             <span>from</span>
-            <span>@Alden777</span>
+            <span>{{ leftData.nickName || '' }}</span>
         </div>
-        <div class="right">
+        <div class="right" v-if="rightData">
             <span>
                 Remaining
             </span>
@@ -15,7 +15,17 @@
     </div>
 </template>
 <script setup>
-
+import { defineProps } from 'vue'
+defineProps({
+    leftData: {
+        type: Object,
+        default: null
+    },
+    rightData: {
+        type: Object,
+        default: null
+    }
+})
 </script>
 <style lang="scss" scoped>
 .head {

+ 20 - 8
src/view/iframe/treasure-hunt/components/invite-friends.vue

@@ -4,8 +4,8 @@
             the
             tasks.</div>
         <div class="area-url">
-            <div class="url">{{ state.share_url }}</div>
-            <div class="btn copy-btn" @click="clickCopy" :data-clipboard-text="state.share_url">
+            <div class="url">{{ state.inviteUrl }}</div>
+            <div class="btn copy-btn" @click="clickCopy" :data-clipboard-text="state.inviteCopyUrl">
                 Copy
             </div>
         </div>
@@ -22,16 +22,28 @@
 import VBtn from '@/view/iframe/treasure-hunt/components/btn.vue'
 import VToast from '@/view/iframe/treasure-hunt/components/toast.vue'
 import OpenBox from '@/view/iframe/treasure-hunt/components/dialog.vue'
-import { inject } from 'vue'
+import { inviteChannel } from '@/http/treasure'
+import { inject, onMounted } from 'vue'
 let ClipboardJS = require('clipboard');
 let state = inject('state')
 state.toast = {}
 
-state.share_list = [{
-    iconPath: require('@/assets/svg/icon-btn-box.svg'),
-    redirectPath: 'https://www.baidu.com'
-}]
-state.share_url = '123123123123'
+
+onMounted(() => {
+    // inviteChannel({
+    //     postId: state.post_Id
+    // }).then((res)=>{
+    // if(res.code == 0){
+    //     state.share_list = res.data
+    // }
+    state.share_list = [{
+        iconPath: require('@/assets/svg/icon-btn-box.svg'),
+        redirectPath: 'https://www.baidu.com'
+    }]
+    // })
+
+
+})
 
 const clickShare = (item) => {
     window.open(item.redirectPath)

+ 1 - 0
src/view/iframe/treasure-hunt/components/invite-list.vue

@@ -23,6 +23,7 @@
 <script setup>
 import VBtn from '@/view/iframe/treasure-hunt/components/btn.vue'
 import OpenBox from '@/view/iframe/treasure-hunt/components/dialog.vue'
+import { inviteList } from '@/http/treasure'
 import { inject } from 'vue'
 
 var moment = require('moment')

+ 1 - 4
src/view/iframe/treasure-hunt/cover.vue

@@ -1,7 +1,7 @@
 <template>
     <!-- 封面页 -->
     <div class="cover">
-        <v-head></v-head>
+        <v-head :left-data="state.detail.postUserInfo"></v-head>
         <templat v-if="state.cover_status == '有邀请人' || state.cover_status == '无邀请人'">
             <!-- 邀请人 -->
             <div class="invite">
@@ -43,9 +43,6 @@ import { inject } from 'vue'
 import VBtn from '@/view/iframe/treasure-hunt/components/btn.vue'
 import VHead from '@/view/iframe/treasure-hunt/components/head.vue'
 let state = inject('state')
-state.cover_status = '有邀请人'
-state.cover_status = '无邀请人'
-state.cover_status = '奖励已被领光'
 
 const clickStart = () => {
     state.page = '邀请页'

+ 45 - 2
src/view/iframe/treasure-hunt/index.vue

@@ -16,7 +16,9 @@ let state = reactive({
 provide('state', state)
 
 onMounted(() => {
-    let params = JSON.parse(getQueryString('params') || '')
+
+    let params = JSON.parse(getQueryString('params') || '{}')
+
     if (params.page_type == '邀请链接') {
         // 邀请链接
         // inviteDetail({
@@ -25,7 +27,7 @@ onMounted(() => {
 
         // })
 
-    } else {
+    } else if (params.page_type == '原始链接') {
         // 原始链接
         // treasureDetail({
         //     postId: params.post_Id
@@ -33,7 +35,48 @@ onMounted(() => {
 
         // })
     }
+    handleStatus()
 })
+
+const handleStatus = () => {
+    // 如果 夺宝状态 = 未开始
+    //   显示未开始页面
+    // 如果 夺宝状态 = 进行中
+    //   如果 夺宝参与状态 = 未参与夺宝
+    //      显示封面页
+    //   如果 夺宝参与状态 = 已参与夺宝
+    //      显示邀请页
+    // 如果 夺宝状态 = 已结束
+    //  显示结束页面
+
+    let { status, joinStatus } = state.detail || {}
+    status = 1
+    joinStatus = 0
+    // 如果 夺宝状态 = 未开始
+    if (status == 0) {
+
+    }
+    // 如果 夺宝状态 = 进行中
+    else if (status == 1) {
+        // 如果 夺宝参与状态 = 未参与夺宝
+        if (joinStatus == 0) {
+            // 显示封面页
+            state.page = '封面页'
+            state.cover_status = '有邀请人'
+            // state.cover_status = '无邀请人'
+            // state.cover_status = '奖励已被领光'
+        }
+        // 如果 夺宝参与状态 = 已参与夺宝
+        else if (joinStatus == 1) {
+            state.page = '邀请页'
+        }
+    }
+    // 如果 夺宝状态 = 已结束
+    else {
+        state.page = '封面页'
+        state.cover_status = '奖励已被领光'
+    }
+}
 </script>
 <style lang="scss" >
 html,

+ 0 - 1
src/view/iframe/treasure-hunt/invite.vue

@@ -39,7 +39,6 @@ import VHead from '@/view/iframe/treasure-hunt/components/head.vue'
 import InviteList from '@/view/iframe/treasure-hunt/components/invite-list.vue'
 import HoverTip from '@/view/iframe/treasure-hunt/components/hover-tip.vue'
 import InviteFriends from '@/view/iframe/treasure-hunt/components/invite-friends.vue'
-
 let content_success_message = ref(null)
 let state = inject('state')