|
@@ -297,7 +297,7 @@ export default {
|
|
|
</script>
|
|
|
<script setup>
|
|
|
import { onMounted, reactive, ref } from "vue";
|
|
|
-import { getPostDetail, getRedPacket, finishRedPacket, oneKeyLike, oneKeyReTweet, oneKeyFollow, getTaskDetail, getReceivedList } from '@/http/redPacket.js'
|
|
|
+import { getPostDetail, getRedPacket, finishRedPacket, oneKeyLike, oneKeyReTweet, oneKeyFollow, getTaskDetail, getReceivedList, addFinishEvent } from '@/http/redPacket.js'
|
|
|
import { getQueryString, guid } from '@/uilts/help.js'
|
|
|
import { message } from 'ant-design-vue';
|
|
|
import FontAmount from '@/view/components/font-amount.vue'
|
|
@@ -305,7 +305,7 @@ import GetMore from '@/view/iframe/publish/components/get-more.vue'
|
|
|
import { getChromeStorage } from '@/uilts/chromeExtension.js'
|
|
|
import Report from "@/log-center/log"
|
|
|
import { srcPublishSuccess } from '@/http/publishApi'
|
|
|
-import { discordAuthUrl, checkGuildJoined } from '@/http/discordApi'
|
|
|
+import { discordAuthUrl, checkGuildJoined, saveInviteGuildInfo } from '@/http/discordApi'
|
|
|
import { discordAuthRedirectUri } from '@/http/configAPI'
|
|
|
|
|
|
var moment = require('moment');
|
|
@@ -336,29 +336,41 @@ let state = reactive({
|
|
|
function clickRetry() {
|
|
|
init()
|
|
|
}
|
|
|
+
|
|
|
+let follow_open_tabs = []
|
|
|
+
|
|
|
async function clickLikeBtn() {
|
|
|
let _userInfo = await checkIsLogin()
|
|
|
if (!_userInfo) {
|
|
|
return
|
|
|
}
|
|
|
- state.loading_show = true
|
|
|
- oneKeyLike({
|
|
|
- params: {
|
|
|
- tweetId: state.srcContentId
|
|
|
- }
|
|
|
- }).then((res) => {
|
|
|
- state.loading_show = false
|
|
|
- if (res.code == 0) {
|
|
|
- if (res.data.result) {
|
|
|
- state.done.like = true
|
|
|
- } else {
|
|
|
- state.done.like = false
|
|
|
- }
|
|
|
- } else {
|
|
|
- state.done.like = false
|
|
|
- console.log(res)
|
|
|
- }
|
|
|
- })
|
|
|
+ // state.loading_show = true
|
|
|
+
|
|
|
+
|
|
|
+ // window.parent.postMessage({
|
|
|
+ // actionType: "IFRAME_DO_TASK", task_data: {
|
|
|
+ // tweet_Id: state.tweetId
|
|
|
+ // }, task_type: 'like'
|
|
|
+ // }, "*");
|
|
|
+
|
|
|
+ // oneKeyLike({
|
|
|
+ // params: {
|
|
|
+ // tweetId: state.srcContentId
|
|
|
+ // }
|
|
|
+ // }).then((res) => {
|
|
|
+ // state.loading_show = false
|
|
|
+ // if (res.code == 0) {
|
|
|
+ // if (res.data.result) {
|
|
|
+ // state.done.like = true
|
|
|
+ // } else {
|
|
|
+ // state.done.like = false
|
|
|
+ window.open(`https://twitter.com/intent/like?tweet_id=${state.tweetId}`)
|
|
|
+ // }
|
|
|
+ // } else {
|
|
|
+ // window.open(`https://twitter.com/intent/like?tweet_id=${state.tweetId}`)
|
|
|
+ // state.done.like = false
|
|
|
+ // }
|
|
|
+ // })
|
|
|
// 埋点
|
|
|
Report.reportLog({
|
|
|
objectType: Report.objectType.like,
|
|
@@ -418,25 +430,27 @@ async function clickRetweetBtn() {
|
|
|
if (!_userInfo) {
|
|
|
return
|
|
|
}
|
|
|
+ // state.loading_show = true
|
|
|
|
|
|
- state.loading_show = true
|
|
|
- oneKeyReTweet({
|
|
|
- params: {
|
|
|
- tweetId: state.srcContentId
|
|
|
- }
|
|
|
- }).then((res) => {
|
|
|
- state.loading_show = false
|
|
|
- if (res.code == 0) {
|
|
|
- if (res.data.result) {
|
|
|
- state.done.retweet = true
|
|
|
- } else {
|
|
|
- state.done.retweet = false
|
|
|
- }
|
|
|
- } else {
|
|
|
- state.done.retweet = false
|
|
|
- console.log(res)
|
|
|
- }
|
|
|
- })
|
|
|
+ // oneKeyReTweet({
|
|
|
+ // params: {
|
|
|
+ // tweetId: state.srcContentId
|
|
|
+ // }
|
|
|
+ // }).then((res) => {
|
|
|
+ // state.loading_show = false
|
|
|
+ // if (res.code == 0) {
|
|
|
+ // if (res.data.result) {
|
|
|
+ // state.done.retweet = true
|
|
|
+ // } else {
|
|
|
+ window.open(`https://twitter.com/intent/retweet?tweet_id=${state.tweetId}`)
|
|
|
+ // state.done.retweet = false
|
|
|
+ // }
|
|
|
+ // } else {
|
|
|
+ // window.open(`https://twitter.com/retweet/like?tweet_id=${state.tweetId}`)
|
|
|
+ // state.done.retweet = false
|
|
|
+ // console.log(res)
|
|
|
+ // }
|
|
|
+ // })
|
|
|
// 埋点
|
|
|
Report.reportLog({
|
|
|
objectType: Report.objectType.retweet,
|
|
@@ -482,48 +496,61 @@ async function clickFollowAll(item, is_all) {
|
|
|
if (!_userInfo) {
|
|
|
return
|
|
|
}
|
|
|
- state.loading_show = true
|
|
|
+ // state.loading_show = true
|
|
|
let arr_name = []
|
|
|
for (let i in item) {
|
|
|
- arr_name.push(item[i].name)
|
|
|
- }
|
|
|
- oneKeyFollow({
|
|
|
- params: {
|
|
|
- names: arr_name
|
|
|
+ if (!item[i].finished) {
|
|
|
+ arr_name.push(item[i].name)
|
|
|
}
|
|
|
- }).then((res) => {
|
|
|
- state.loading_show = false
|
|
|
- if (res.code == 0) {
|
|
|
- res.data.forEach((item1) => {
|
|
|
- state.detail.taskCondition[0].relatedUsers.forEach(item2 => {
|
|
|
- if (item1.name == item2.name) {
|
|
|
- item2.finished = true
|
|
|
- }
|
|
|
- });
|
|
|
- })
|
|
|
- let _len = state.detail.taskCondition[0].relatedUsers.filter((item) => { return item.finished == false }).length
|
|
|
- if (_len > 0) {
|
|
|
- state.done.follow = false
|
|
|
- } else {
|
|
|
- state.done.follow = true
|
|
|
+ }
|
|
|
+
|
|
|
+ // oneKeyFollow({
|
|
|
+ // params: {
|
|
|
+ // names: arr_name
|
|
|
+ // }
|
|
|
+ // }).then((res) => {
|
|
|
+ // state.loading_show = false
|
|
|
+ // if (res.code == 0) {
|
|
|
+ // res.data.forEach((item1) => {
|
|
|
+ // state.detail.taskCondition[0].relatedUsers.forEach(item2 => {
|
|
|
+ // if (item1.name == item2.name) {
|
|
|
+ // item2.finished = true
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ // })
|
|
|
+ // let _len = state.detail.taskCondition[0].relatedUsers.filter((item) => { return item.finished == false }).length
|
|
|
+ // if (_len > 0) {
|
|
|
+ // state.done.follow = false
|
|
|
+ // } else {
|
|
|
+ // state.done.follow = true
|
|
|
+ // }
|
|
|
+ // } else {
|
|
|
+ let url
|
|
|
+ // 打开标签页的方法
|
|
|
+ arr_name.forEach((item) => {
|
|
|
+ url = `https://twitter.com/intent/follow?screen_name=${item}&tweet_id=${state.tweetId}`
|
|
|
+ chrome.tabs.create({ url }, (tab) => {
|
|
|
+ if (follow_open_tabs.filter((item) => { return item.url == tab.url }).length == 0) {
|
|
|
+ follow_open_tabs.push(tab)
|
|
|
}
|
|
|
- } else {
|
|
|
- state.detail.taskCondition[0].relatedUsers.forEach(item => {
|
|
|
- item.finished = false
|
|
|
- });
|
|
|
- }
|
|
|
+ })
|
|
|
})
|
|
|
+ // state.detail.taskCondition[0].relatedUsers.forEach(item => {
|
|
|
+ // item.finished = false
|
|
|
+ // });
|
|
|
+ // }
|
|
|
+ // })
|
|
|
+
|
|
|
+ // -------- 埋点 --------
|
|
|
let _log_obj = {
|
|
|
pageSource: Report.pageSource.task_page,
|
|
|
businessType: Report.businessType.buttonClick,
|
|
|
objectType: Report.objectType.follow
|
|
|
}
|
|
|
if (is_all) {
|
|
|
- // 埋点
|
|
|
_log_obj.objectType = Report.objectType.follow_button
|
|
|
}
|
|
|
Report.reportLog(_log_obj);
|
|
|
-
|
|
|
}
|
|
|
|
|
|
|
|
@@ -769,9 +796,72 @@ function initTaskDetail() {
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
+
|
|
|
+let tab_index = 0
|
|
|
+const doTaskReport = (type, { follow_name = '' }, sender) => {
|
|
|
+ // 1 Twitter follow Twitter ScreenName
|
|
|
+ // 2 Tweet like
|
|
|
+ // 3 Retweet
|
|
|
+ let event_type = 0
|
|
|
+ switch (type) {
|
|
|
+ case 'retweet':
|
|
|
+ event_type = 3
|
|
|
+ state.done.retweet = true
|
|
|
+ chrome.tabs.remove(sender.tab.id)
|
|
|
+ break;
|
|
|
+ case 'like':
|
|
|
+ event_type = 2
|
|
|
+ state.done.like = true
|
|
|
+ chrome.tabs.remove(sender.tab.id)
|
|
|
+
|
|
|
+ break
|
|
|
+ case 'follow':
|
|
|
+ event_type = 1
|
|
|
+ chrome.tabs.remove(sender.tab.id)
|
|
|
+ for (let i = 0; i < follow_open_tabs.length; i++) {
|
|
|
+ if (follow_open_tabs[i].id == sender.tab.id) {
|
|
|
+ follow_open_tabs.splice(i, 1)
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ chrome.tabs.getCurrent((tab) => {
|
|
|
+ if (follow_open_tabs.length > 0) {
|
|
|
+ tab_index = follow_open_tabs[follow_open_tabs.length - 1].index
|
|
|
+ } else {
|
|
|
+ tab_index = tab.index
|
|
|
+ }
|
|
|
+ chrome.tabs.highlight({ windowId: tab.windowId, tabs: tab_index })
|
|
|
+ })
|
|
|
+
|
|
|
+ let has_no_finished = false
|
|
|
+ state.detail.taskCondition[0].relatedUsers.forEach((item) => {
|
|
|
+ if (follow_name == item.name) {
|
|
|
+ item.finished = true
|
|
|
+ }
|
|
|
+ })
|
|
|
+ state.detail.taskCondition[0].relatedUsers.forEach((item) => {
|
|
|
+ if (!item.finished) {
|
|
|
+ has_no_finished = true
|
|
|
+ }
|
|
|
+ })
|
|
|
+ if (!has_no_finished) {
|
|
|
+ state.done.follow = true
|
|
|
+ state.done.follow_red = false
|
|
|
+ }
|
|
|
+ break
|
|
|
+ }
|
|
|
+ addFinishEvent({
|
|
|
+ params: {
|
|
|
+ eventData: follow_name,
|
|
|
+ eventType: event_type,
|
|
|
+ luckdropId: state.detail.taskLuckdropId
|
|
|
+ }
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
onMounted(() => {
|
|
|
state.process_mode = process.env.NODE_ENV
|
|
|
- console.log('state.process_mode',state.process_mode)
|
|
|
state.postId = getQueryString('postId')
|
|
|
state.tweetId = getQueryString('tweetId')
|
|
|
init()
|
|
@@ -780,6 +870,7 @@ onMounted(() => {
|
|
|
// state.close_status = '没有领到钱'
|
|
|
})
|
|
|
|
|
|
+
|
|
|
// 点击领取
|
|
|
function clickOpenRedPacket() {
|
|
|
chrome.runtime.sendMessage({
|
|
@@ -1114,6 +1205,12 @@ function onRuntimeMsg() {
|
|
|
case 'BACK_DISCORD_LOGIN_SUCCESS':
|
|
|
discordLoginSuccess();
|
|
|
break;
|
|
|
+ case 'DO_TASK':
|
|
|
+ if (!req.task_type || state.tweetId != req.tweet_Id) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ state.loading_show = false
|
|
|
+ doTaskReport(req.task_type, req.task_data, sender)
|
|
|
}
|
|
|
})
|
|
|
}
|
|
@@ -1182,7 +1279,7 @@ async function joinDiscord() {
|
|
|
state.done.join_discord = true;
|
|
|
} else {
|
|
|
state.done.join_discord = false;
|
|
|
- if(discordAuthorizeRequired) {
|
|
|
+ if (discordAuthorizeRequired) {
|
|
|
discordAuth('authAndJoinIng');
|
|
|
} else {
|
|
|
openInviteUrl();
|
|
@@ -1259,7 +1356,7 @@ function discordLoginSuccess() {
|
|
|
if (joinDiscordActionState == 'authAndJoinIng') {
|
|
|
openInviteUrl();
|
|
|
}
|
|
|
- if(discordAuthorizeRequired) {
|
|
|
+ if (discordAuthorizeRequired) {
|
|
|
discordAuthorizeRequired = false;
|
|
|
}
|
|
|
}
|
|
@@ -1436,6 +1533,7 @@ body {
|
|
|
}
|
|
|
|
|
|
p {
|
|
|
+ width: 100%;
|
|
|
margin: 0;
|
|
|
padding: 0;
|
|
|
color: #fff;
|