|
@@ -163,9 +163,9 @@
|
|
|
<img v-if="item.simpleUserInfoVO.avatarUrl" :src="item.simpleUserInfoVO.avatarUrl"
|
|
|
@click="openTwitterDetail(item)" alt />
|
|
|
<img v-else :src="require('@/assets/svg/icon-twitter.svg')" alt />
|
|
|
- <img class="win" :src="require('@/assets/svg/icon-win-1.svg')" v-if="i==0" alt/>
|
|
|
- <img class="win" :src="require('@/assets/svg/icon-win-2.svg')" v-if="i==1" alt/>
|
|
|
- <img class="win" :src="require('@/assets/svg/icon-win-3.svg')" v-if="i==2" alt/>
|
|
|
+ <img class="win" :src="require('@/assets/svg/icon-win-1.svg')" v-if="i == 0" alt />
|
|
|
+ <img class="win" :src="require('@/assets/svg/icon-win-2.svg')" v-if="i == 1" alt />
|
|
|
+ <img class="win" :src="require('@/assets/svg/icon-win-3.svg')" v-if="i == 2" alt />
|
|
|
<div class="luck-content">
|
|
|
<div class="luck-title" v-if="item.simpleUserInfoVO.nickName">{{ item.simpleUserInfoVO.nickName
|
|
|
}}</div>
|
|
@@ -210,7 +210,7 @@
|
|
|
<div class="mark-area">
|
|
|
<div class="time">
|
|
|
<img :src="require('@/assets/svg/icon-time.svg')" />
|
|
|
- <span>{{ moment(state.detail.endTimestamp).format('HH:mm:ss') }}</span>
|
|
|
+ <span>{{ state.count_down_time }}</span>
|
|
|
</div>
|
|
|
<div class="win">
|
|
|
<img :src="require('@/assets/svg/icon-win.svg')" />
|
|
@@ -247,9 +247,9 @@
|
|
|
<img v-if="item.simpleUserInfoVO.avatarUrl" :src="item.simpleUserInfoVO.avatarUrl" alt
|
|
|
@click="openTwitterDetail(item)" />
|
|
|
<img v-else :src="require('@/assets/svg/icon-twitter.svg')" alt />
|
|
|
- <img class="win" :src="require('@/assets/svg/icon-win-1.svg')" v-if="i==0" alt/>
|
|
|
- <img class="win" :src="require('@/assets/svg/icon-win-2.svg')" v-if="i==1" alt/>
|
|
|
- <img class="win" :src="require('@/assets/svg/icon-win-3.svg')" v-if="i==2" alt/>
|
|
|
+ <img class="win" :src="require('@/assets/svg/icon-win-1.svg')" v-if="i == 0" alt />
|
|
|
+ <img class="win" :src="require('@/assets/svg/icon-win-2.svg')" v-if="i == 1" alt />
|
|
|
+ <img class="win" :src="require('@/assets/svg/icon-win-3.svg')" v-if="i == 2" alt />
|
|
|
<div class="luck-content">
|
|
|
<div class="luck-title" v-if="item.simpleUserInfoVO.nickName">{{ item.simpleUserInfoVO.nickName
|
|
|
}}</div>
|
|
@@ -314,7 +314,7 @@
|
|
|
<p>Announcement Winner</p>
|
|
|
<div class="time">
|
|
|
<img :src="require('@/assets/svg/icon-win-time.svg')" alt />
|
|
|
- <span>{{ moment(state.detail.endTimestamp).format('HH:mm:ss') || '' }}</span>
|
|
|
+ <span>{{ state.count_down_time || '' }}</span>
|
|
|
</div>
|
|
|
<get-more :style_type="2"></get-more>
|
|
|
<div class="notification_switch">
|
|
@@ -345,9 +345,9 @@
|
|
|
<img v-if="item.simpleUserInfoVO.avatarUrl" :src="item.simpleUserInfoVO.avatarUrl" alt
|
|
|
@click="openTwitterDetail(item)" />
|
|
|
<img v-else :src="require('@/assets/svg/icon-twitter.svg')" alt />
|
|
|
- <img class="win" :src="require('@/assets/svg/icon-win-1.svg')" v-if="i==0" alt/>
|
|
|
- <img class="win" :src="require('@/assets/svg/icon-win-2.svg')" v-if="i==1" alt/>
|
|
|
- <img class="win" :src="require('@/assets/svg/icon-win-3.svg')" v-if="i==2" alt/>
|
|
|
+ <img class="win" :src="require('@/assets/svg/icon-win-1.svg')" v-if="i == 0" alt />
|
|
|
+ <img class="win" :src="require('@/assets/svg/icon-win-2.svg')" v-if="i == 1" alt />
|
|
|
+ <img class="win" :src="require('@/assets/svg/icon-win-3.svg')" v-if="i == 2" alt />
|
|
|
<div class="luck-content">
|
|
|
<div class="luck-title" v-if="item.simpleUserInfoVO.nickName">{{ item.simpleUserInfoVO.nickName
|
|
|
}}</div>
|
|
@@ -422,6 +422,7 @@ import { discordAuthUrl, checkGuildJoined } from '@/http/discordApi'
|
|
|
import { discordAuthRedirectUri, faceShareRedirectUrl } from '@/http/configAPI'
|
|
|
import { getFrontConfig } from "@/http/account";
|
|
|
import GlobalTip from '@/view/components/global-tip.vue'
|
|
|
+import { formItemValidateStates } from "element-plus";
|
|
|
var moment = require('moment');
|
|
|
|
|
|
let discordAuthorizeRequired = false;
|
|
@@ -456,7 +457,8 @@ let state = reactive({
|
|
|
reply: false
|
|
|
},
|
|
|
notification_switch: false,
|
|
|
- open_timer_status: false
|
|
|
+ open_timer_status: false,
|
|
|
+ count_down_time: ''
|
|
|
})
|
|
|
|
|
|
let fullName = '';
|
|
@@ -773,6 +775,39 @@ function getValidity() {
|
|
|
}, 1000)
|
|
|
}
|
|
|
|
|
|
+let stop_open_conut_down_time_type = ''
|
|
|
+function openConutDownTime(end_time_ms, type = '未打开', callback) {
|
|
|
+ let now_time_ms, now_time, end_time
|
|
|
+ let _time, _h, _m, _s, _time_str
|
|
|
+ let timer = setInterval(() => {
|
|
|
+ now_time_ms = new Date().getTime()
|
|
|
+ _time = end_time_ms - now_time_ms
|
|
|
+ if (_time > 0) {
|
|
|
+ now_time = moment(now_time_ms)
|
|
|
+ end_time = moment(end_time_ms)
|
|
|
+ _h = moment.duration(end_time.diff(now_time)).hours()
|
|
|
+ _m = moment.duration(end_time.diff(now_time)).minutes()
|
|
|
+ _s = moment.duration(end_time.diff(now_time)).seconds()
|
|
|
+ if (_h < 10) {
|
|
|
+ _h = '0' + _h
|
|
|
+ }
|
|
|
+ if (_m < 10) {
|
|
|
+ _m = '0' + _m
|
|
|
+ }
|
|
|
+ if (_s < 10) {
|
|
|
+ _s = '0' + _s
|
|
|
+ }
|
|
|
+ _time_str = `${_h}:${_m}:${_s}`
|
|
|
+ } else {
|
|
|
+ _time_str = `00:00:00`
|
|
|
+ }
|
|
|
+ if (stop_open_conut_down_time_type == type) {
|
|
|
+ clearInterval(timer)
|
|
|
+ }
|
|
|
+ callback(_time_str)
|
|
|
+ }, 1000);
|
|
|
+}
|
|
|
+
|
|
|
const openFollowTabs = (arr_name) => {
|
|
|
let array_finish = arr_name.filter((item) => { return !item.finished })
|
|
|
// let array_finish = state.detail.taskCondition[0].relatedUsers.filter((item) => { return item.finished == false })
|
|
@@ -927,8 +962,15 @@ const showSuccessPage = () => {
|
|
|
senderId: state.userId,
|
|
|
});
|
|
|
}
|
|
|
+
|
|
|
const showNotOpenPage = () => {
|
|
|
state.status = 'not-open'
|
|
|
+ openConutDownTime(state.detail.endTimestamp, '未打开', (time_str) => {
|
|
|
+ state.count_down_time = time_str
|
|
|
+ if (time_str == '00:00:00') {
|
|
|
+ stop_open_conut_down_time_type = '未打开'
|
|
|
+ }
|
|
|
+ })
|
|
|
Report.reportLog({
|
|
|
pageSource: Report.pageSource.pending_page,
|
|
|
businessType: Report.businessType.pageView,
|
|
@@ -1253,23 +1295,16 @@ const open_timer = () => {
|
|
|
return
|
|
|
}
|
|
|
open_timer_flag = true
|
|
|
- let new_time
|
|
|
- let open_time
|
|
|
- let timer = setInterval(() => {
|
|
|
- open_time = state.detail.endTimestamp || ''
|
|
|
- if (!open_time || state.close_status == '没有抽中') {
|
|
|
- return
|
|
|
- }
|
|
|
- new_time = new Date().getTime()
|
|
|
- // 到时间了
|
|
|
- if (new_time >= open_time) {
|
|
|
- // 调用detail 查看结果
|
|
|
+
|
|
|
+ openConutDownTime(state.detail.endTimestamp,'等待结果', (time_str) => {
|
|
|
+ state.count_down_time = time_str
|
|
|
+ if (time_str == '00:00:00') {
|
|
|
init()
|
|
|
if (state.open_timer_status == true) {
|
|
|
- clearInterval(timer)
|
|
|
+ stop_open_conut_down_time_type = '等待结果'
|
|
|
}
|
|
|
}
|
|
|
- }, 1000)
|
|
|
+ })
|
|
|
}
|
|
|
const showLoadResult = () => {
|
|
|
state.status = 'close'
|
|
@@ -1932,6 +1967,7 @@ body {
|
|
|
margin-left: 3px;
|
|
|
left: 100% !important;
|
|
|
}
|
|
|
+
|
|
|
.content {
|
|
|
position: relative;
|
|
|
width: 375px;
|
|
@@ -2229,13 +2265,15 @@ body {
|
|
|
border-bottom: 1px solid #F2F2F2;
|
|
|
justify-content: space-between;
|
|
|
position: relative;
|
|
|
- .win{
|
|
|
+
|
|
|
+ .win {
|
|
|
position: absolute;
|
|
|
- left:28px;
|
|
|
+ left: 28px;
|
|
|
bottom: 7px;
|
|
|
width: 20px;
|
|
|
height: 20px;
|
|
|
}
|
|
|
+
|
|
|
img:first-child {
|
|
|
border-radius: 50%;
|
|
|
}
|