|
@@ -59,15 +59,17 @@
|
|
|
<img v-if="data.done.retweet" :src="require('@/assets/svg/icon-true.svg')" alt />
|
|
|
<div v-else class="btn" @click="clickRetweetBtn">Retweet</div>
|
|
|
</template>
|
|
|
- </div>
|
|
|
- <div class="item">
|
|
|
- <img :src="require('@/assets/svg/icon-like.svg')" alt />
|
|
|
+ <template v-if="item.type == 7">
|
|
|
+ <img :src="require('@/assets/svg/icon-discord.svg')" alt />
|
|
|
<div class="item-content">
|
|
|
<div class="item-title">Join Discord</div>
|
|
|
</div>
|
|
|
- <div @click="joinDiscord">
|
|
|
- join
|
|
|
+ <img :src="require('@/assets/gif/red-right.gif')" alt class="red-right"
|
|
|
+ v-show="!data.done.join_discord && data.done.join_discord_red" />
|
|
|
+ <div class="btn" @click="joinDiscord">
|
|
|
+ Join
|
|
|
</div>
|
|
|
+ </template>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="people" @click="clickRoad">
|
|
@@ -262,7 +264,8 @@ import { discordAuthRedirectUri } from '@/http/configAPI'
|
|
|
|
|
|
var moment = require('moment');
|
|
|
|
|
|
-let joinDiscordActionState = 'default'; //authAndJoinIng joinIng
|
|
|
+let discordAuthorizeRequired = false;
|
|
|
+let joinDiscordActionState = 'default'; //authAndJoinIng joinIng reAuth
|
|
|
|
|
|
let data = reactive({
|
|
|
status: '',
|
|
@@ -279,7 +282,8 @@ let data = reactive({
|
|
|
done: {
|
|
|
follow: false,
|
|
|
like: false,
|
|
|
- retweet: false
|
|
|
+ retweet: false,
|
|
|
+ join_discord: false
|
|
|
}
|
|
|
})
|
|
|
function clickRetry() {
|
|
@@ -770,6 +774,14 @@ function handleFinishRedPacket() {
|
|
|
|
|
|
}
|
|
|
break
|
|
|
+ case '7':
|
|
|
+ discordAuthorizeRequired = _data[i].discordAuthorizeRequired;
|
|
|
+ if (_data[i].finished) {
|
|
|
+ data.done.join_discord = true
|
|
|
+ } else {
|
|
|
+ data.done.join_discord_red = true
|
|
|
+ }
|
|
|
+ break
|
|
|
}
|
|
|
}
|
|
|
// 埋点
|
|
@@ -780,6 +792,9 @@ function handleFinishRedPacket() {
|
|
|
}, {
|
|
|
get_giveaway_result: Report.extParams.failure
|
|
|
});
|
|
|
+ if(discordAuthorizeRequired) {
|
|
|
+ discordAuth('reAuth');
|
|
|
+ }
|
|
|
}
|
|
|
} else {
|
|
|
// 埋点
|
|
@@ -918,6 +933,10 @@ function handleErrorCode(res) {
|
|
|
//用户没有领取过红包,无法重抽
|
|
|
case '2031':
|
|
|
break
|
|
|
+ // 需要重新授权 discord
|
|
|
+ case '1010':
|
|
|
+ discordAuth();
|
|
|
+ break
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -973,10 +992,10 @@ function onRuntimeMsg() {
|
|
|
function joinDiscord() {
|
|
|
// 1、判断之前有没有授权
|
|
|
//没有授权
|
|
|
- discordAuth();
|
|
|
+ discordAuth('authAndJoinIng');
|
|
|
}
|
|
|
|
|
|
-function discordAuth() {
|
|
|
+function discordAuth(actionState) {
|
|
|
let state = guid();
|
|
|
discordAuthUrl({
|
|
|
params : {
|
|
@@ -987,7 +1006,7 @@ function discordAuth() {
|
|
|
if(res.code == 0) {
|
|
|
let {authorizeUrl = ''} = res.data || {};
|
|
|
if(authorizeUrl) {
|
|
|
- joinDiscordActionState = 'authAndJoinIng';
|
|
|
+ joinDiscordActionState = actionState;
|
|
|
window.open(authorizeUrl)
|
|
|
}
|
|
|
}
|
|
@@ -1000,8 +1019,15 @@ function discordLoginSuccess() {
|
|
|
// 如果是join 并授权 回来后默认打开 邀请链接
|
|
|
if(joinDiscordActionState == 'authAndJoinIng') {
|
|
|
joinDiscordActionState = 'joinIng';
|
|
|
- let url = 'https://discord.com/invite/ZUEgYt7hHb';
|
|
|
- window.open(url);
|
|
|
+ let inviteData = data.detail.taskCondition.find(item => {
|
|
|
+ return item.type == 7;
|
|
|
+ });
|
|
|
+ if(inviteData && inviteData.bizData) {
|
|
|
+ let url = JSON.parse(inviteData.bizData).inviteUrl;
|
|
|
+ if(url) {
|
|
|
+ window.open(url);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|