Browse Source

[fix]join discord

wenliming 2 năm trước cách đây
mục cha
commit
5f52ae0429

+ 1 - 1
src/entry/background.js

@@ -75,7 +75,7 @@ function onMessageMethod(req, sender, sendResponse) {
                 });
                 break
             case "CONTENT_SEND_DISCORD_AUTH_CODE":
-                discordLoginCode(req);
+                discordLoginCode(req, sender);
                 break
             case 'RED_PACKET_SAVE_DISCORD_AUTH_WINDOW_ID':
                 saveDiscordAuthWindowId(req);

+ 8 - 5
src/logic/background/twitter.js

@@ -69,12 +69,15 @@ export function saveDiscordAuthWindowId (params) {
     discordAuthWindowId = windowId;
 }
 
-export function discordLoginCode({code}) {
-    if(discordAuthWindowId) {
+export function discordLoginCode({code}, sender) {
+    console.log('sender', sender)
+    let {windowId, id} = sender.tab || {};
+    // chrome.tabs.remove(sender.tab.id)
+    if(windowId) {
         chrome.windows.remove(
-            discordAuthWindowId,
+            windowId,
             function () {
-                 // 发送请求
+                // 发送请求
                 getDiscordUserInfo({
                     authCode: code,
                     redirectUrl: discordAuthRedirectUri
@@ -82,7 +85,7 @@ export function discordLoginCode({code}) {
                     if (res.code == 0) {
                         setTimeout(() => {
                             sendActivetabMessage({
-                                actionType: 'BACK_DISCORD_LOGIN_SUCCESS'
+                                actionType: 'BACK_DISCORD_LOGIN_SUCCESS'    
                             });
                         })
                     }

+ 3 - 2
src/view/iframe/publish/give-dialog.vue

@@ -1074,7 +1074,8 @@ const setDiscordErrTxt = (params = {showPop: false}) => {
             let validata = checkInviteUrl(discordData.text);
             if(validata) {
                 getDiscordInviteInfo(discordData.text, (res) => {
-                    if(res.code != 0) {
+                    // 1012 openApi 超限
+                    if(res.code != 0 && res.code != 1012) {
                         iptErrMsgTxt.value = discordIptErrTxt;
                         iptErrType = 'discord';
                     } else {
@@ -1082,7 +1083,7 @@ const setDiscordErrTxt = (params = {showPop: false}) => {
                             iptErrMsgTxt.value = '';
                             iptErrType = '';
                         }
-                        if(params.showPop) {
+                        if(params.showPop && res.data) {
                             showDiscordInvitePop.value = true;
                             setTimeout(() => {
                                 showDiscordInvitePop.value = false;

+ 11 - 5
src/view/iframe/red-packet/red-packet.vue

@@ -271,6 +271,7 @@ var moment = require('moment');
 
 let discordAuthorizeRequired = false;
 let joinDiscordActionState = 'default'; //authAndJoinIng  joinIng  reAuth
+let joinDiscordIng = false;
 
 let data = reactive({
   status: '',
@@ -656,6 +657,7 @@ function initTaskDetail() {
             data.done.retweet = res.data[i].finished
             break
           case 7:
+            data.done.join_discord = res.data[i].finished
             discordAuthorizeRequired = res.data[i].discordAuthorizeRequired
             break
         }
@@ -1036,6 +1038,13 @@ function checkJoinDiscord() {
  * 加入discord 事件
  */
 function joinDiscord() {
+  if(joinDiscordIng) {
+    return;
+  } 
+  joinDiscordIng = true;
+  setTimeout(() => {
+    joinDiscordIng = false;
+  }, 1500);
   //判断是否需要授权
   if(discordAuthorizeRequired) {
     discordAuth('authAndJoinIng');
@@ -1059,13 +1068,10 @@ function discordAuth(actionState = 'default') {
             let {authorizeUrl = ''} = res.data || {};
             if(authorizeUrl) {
               joinDiscordActionState = actionState; 
-              const width = 500, height = 800;
+              const width = 500;
               chrome.windows.create({
                 width, 
-                height, 
-                left: 0,
-                top: 0,
-                type:'popup', 
+                type:'normal', 
                 url: authorizeUrl}, function(window) {
                   let windowId = window.id;
                   callEventPageMethod("RED_PACKET_SAVE_DISCORD_AUTH_WINDOW_ID", {