|
@@ -40,7 +40,7 @@
|
|
|
<span :class="{ finished: item2.finished }">@{{ item2.name }}</span>
|
|
|
<img :src="require('@/assets/svg/icon-true-ed.svg')" alt />
|
|
|
</div>
|
|
|
- <div class="item-follow" v-else @click="clickFollowAll([{ name: item2.name }])">
|
|
|
+ <div class="item-follow" v-else @click="clickFollowAll([item2])">
|
|
|
<span :class="{ finished: item2.finished }">@{{ item2.name }}</span>
|
|
|
<img :src="require('@/assets/svg/icon-add.svg')" alt />
|
|
|
</div>
|
|
@@ -350,6 +350,7 @@ import { srcPublishSuccess } from '@/http/publishApi'
|
|
|
import { discordAuthUrl, checkGuildJoined } from '@/http/discordApi'
|
|
|
import { discordAuthRedirectUri } from '@/http/configAPI'
|
|
|
import GlobalTip from '@/view/components/global-tip.vue'
|
|
|
+import { ITEM_RENDER_EVT } from "element-plus/es/components/virtual-list/src/defaults";
|
|
|
|
|
|
var moment = require('moment');
|
|
|
|
|
@@ -387,35 +388,46 @@ async function clickLikeBtn() {
|
|
|
if (!_userInfo) {
|
|
|
return
|
|
|
}
|
|
|
- // window.parent.postMessage({
|
|
|
- // actionType: "IFRAME_DO_TASK", task_data: {
|
|
|
- // tweet_Id: state.tweetId
|
|
|
- // }, task_type: 'like'
|
|
|
- // }, "*");
|
|
|
-
|
|
|
- if (state.detail.finishTaskType && state.detail.finishTaskType == 2) {
|
|
|
- window.open(`https://twitter.com/intent/like?tweet_id=${state.tweetId}`)
|
|
|
- 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
|
|
|
- window.open(`https://twitter.com/intent/like?tweet_id=${state.tweetId}`)
|
|
|
- }
|
|
|
- } else {
|
|
|
+ state.detail.finishTaskTypeV2 = state.detail.finishTaskTypeV2.toString() || ''
|
|
|
+ switch (state.detail.finishTaskTypeV2) {
|
|
|
+ case '1':
|
|
|
+ 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
|
|
|
+ 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
|
|
|
+ }
|
|
|
+ })
|
|
|
+ break
|
|
|
+ case '2':
|
|
|
window.open(`https://twitter.com/intent/like?tweet_id=${state.tweetId}`)
|
|
|
- state.done.like = false
|
|
|
- }
|
|
|
- })
|
|
|
+ break
|
|
|
+ case '3':
|
|
|
+ chrome.tabs.getCurrent((tab) => {
|
|
|
+ chrome.tabs.sendMessage(tab.id, {
|
|
|
+ actionType: "IFRAME_TWITTER_API_DO_TASK", task_data: {
|
|
|
+ tweet_Id: state.tweetId
|
|
|
+ }, task_type: 'like'
|
|
|
+ }, (res) => { console.log(res) });
|
|
|
+ })
|
|
|
+ break
|
|
|
+ default:
|
|
|
+ window.open(`https://twitter.com/intent/like?tweet_id=${state.tweetId}`)
|
|
|
+ break
|
|
|
+ }
|
|
|
+
|
|
|
// 埋点
|
|
|
Report.reportLog({
|
|
|
objectType: Report.objectType.like,
|
|
@@ -475,29 +487,47 @@ async function clickRetweetBtn() {
|
|
|
if (!_userInfo) {
|
|
|
return
|
|
|
}
|
|
|
- if (state.detail.finishTaskType && state.detail.finishTaskType == 2) {
|
|
|
- window.open(`https://twitter.com/intent/retweet?tweet_id=${state.tweetId}`)
|
|
|
- return
|
|
|
+
|
|
|
+ state.detail.finishTaskTypeV2 = state.detail.finishTaskTypeV2.toString() || ''
|
|
|
+ switch (state.detail.finishTaskTypeV2) {
|
|
|
+ case '1':
|
|
|
+ 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 {
|
|
|
+ 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
|
|
|
+ }
|
|
|
+ })
|
|
|
+ break;
|
|
|
+ case '2':
|
|
|
+ window.open(`https://twitter.com/intent/retweet?tweet_id=${state.tweetId}`)
|
|
|
+ break
|
|
|
+ case '3':
|
|
|
+ chrome.tabs.getCurrent((tab) => {
|
|
|
+ chrome.tabs.sendMessage(tab.id, {
|
|
|
+ actionType: "IFRAME_TWITTER_API_DO_TASK", task_data: {
|
|
|
+ tweet_Id: state.tweetId
|
|
|
+ }, task_type: 'retweet'
|
|
|
+ }, (res) => { console.log(res) });
|
|
|
+ })
|
|
|
+ break
|
|
|
+ default:
|
|
|
+ window.open(`https://twitter.com/intent/retweet?tweet_id=${state.tweetId}`)
|
|
|
+ break;
|
|
|
}
|
|
|
- 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 {
|
|
|
- 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
|
|
|
- }
|
|
|
- })
|
|
|
+
|
|
|
// 埋点
|
|
|
Report.reportLog({
|
|
|
objectType: Report.objectType.retweet,
|
|
@@ -539,14 +569,14 @@ function getValidity() {
|
|
|
}
|
|
|
|
|
|
const openFollowTabs = (arr_name) => {
|
|
|
- let array_finish = arr_name.filter((item) => { return !item.finished })
|
|
|
+ let array_finish = arr_name.filter((item) => { return !item.finished })
|
|
|
// let array_finish = state.detail.taskCondition[0].relatedUsers.filter((item) => { return item.finished == false })
|
|
|
let url
|
|
|
if (array_finish.length > 0) {
|
|
|
state.done.follow = false
|
|
|
// 打开标签页的方法
|
|
|
array_finish.forEach((item) => {
|
|
|
- url = `https://twitter.com/intent/follow?screen_name=${item}&tweet_id=${state.tweetId}`
|
|
|
+ url = `https://twitter.com/intent/follow?screen_name=${item.name}&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)
|
|
@@ -564,32 +594,61 @@ async function clickFollowAll(item, is_all) {
|
|
|
let arr_name = []
|
|
|
for (let i in item) {
|
|
|
if (!item[i].finished) {
|
|
|
- arr_name.push(item[i].name)
|
|
|
+ arr_name.push(item[i])
|
|
|
}
|
|
|
}
|
|
|
- if (state.detail.finishTaskType && state.detail.finishTaskType == 2) {
|
|
|
- openFollowTabs(arr_name)
|
|
|
- return
|
|
|
- }
|
|
|
- state.loading_show = 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 && item1.finished) {
|
|
|
- item2.finished = true
|
|
|
- }
|
|
|
- });
|
|
|
+ // ----
|
|
|
+ state.detail.finishTaskTypeV2 = state.detail.finishTaskTypeV2.toString() || ''
|
|
|
+ switch (state.detail.finishTaskTypeV2) {
|
|
|
+ case '1':
|
|
|
+ // openapi
|
|
|
+ state.loading_show = 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 && item1.finished) {
|
|
|
+ item2.finished = true
|
|
|
+ }
|
|
|
+ });
|
|
|
+ })
|
|
|
+ openFollowTabs(arr_name)
|
|
|
+ }
|
|
|
})
|
|
|
+ break
|
|
|
+ case '2':
|
|
|
openFollowTabs(arr_name)
|
|
|
- }
|
|
|
- })
|
|
|
+ break
|
|
|
+ case '3':
|
|
|
+ if (arr_name.filter((item) => { return !item.twitterUserId }).length > 0) {
|
|
|
+ openFollowTabs(arr_name)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ let follow_data = []
|
|
|
+ arr_name.forEach((item) => {
|
|
|
+ follow_data.push(item)
|
|
|
+ })
|
|
|
+ chrome.tabs.getCurrent((tab) => {
|
|
|
+ chrome.tabs.sendMessage(tab.id, {
|
|
|
+ actionType: "IFRAME_TWITTER_API_DO_TASK",
|
|
|
+ task_data: {
|
|
|
+ tweet_Id: state.tweetId,
|
|
|
+ follow_data: follow_data,
|
|
|
+ },
|
|
|
+ task_type: 'follow'
|
|
|
+ }, (res) => { console.log(res) });
|
|
|
+ })
|
|
|
|
|
|
+ break
|
|
|
+ default:
|
|
|
+ openFollowTabs(arr_name)
|
|
|
+ break
|
|
|
+ }
|
|
|
// -------- 埋点 --------
|
|
|
let _log_obj = {
|
|
|
pageSource: Report.pageSource.task_page,
|
|
@@ -859,16 +918,13 @@ const doTaskReport = (req, sender) => {
|
|
|
case 'retweet':
|
|
|
event_type = 3
|
|
|
state.done.retweet = req.task_done
|
|
|
- chrome.tabs.remove(sender.tab.id)
|
|
|
break;
|
|
|
case 'like':
|
|
|
event_type = 2
|
|
|
state.done.like = req.task_done
|
|
|
- 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)
|
|
@@ -900,6 +956,9 @@ const doTaskReport = (req, sender) => {
|
|
|
}
|
|
|
break
|
|
|
}
|
|
|
+ if (req.do_type != 'api') {
|
|
|
+ chrome.tabs.remove(sender.tab.id)
|
|
|
+ }
|
|
|
if (req.task_done) {
|
|
|
addFinishEvent({
|
|
|
params: {
|