Kaynağa Gözat

[add] [discord]

wenliming 3 yıl önce
ebeveyn
işleme
b1b73fbb48

+ 3 - 0
src/assets/svg/icon-discord.svg

@@ -0,0 +1,3 @@
+<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M17.8611 4.99128C16.5992 4.41222 15.2459 3.9856 13.8309 3.74126C13.8052 3.73654 13.7794 3.74833 13.7661 3.7719C13.5921 4.08145 13.3993 4.48529 13.2643 4.8027C11.7424 4.57486 10.2284 4.57486 8.73772 4.8027C8.60269 4.47823 8.40291 4.08145 8.22808 3.7719C8.21481 3.74911 8.18907 3.73733 8.1633 3.74126C6.74913 3.98482 5.39585 4.41144 4.13308 4.99128C4.12215 4.99599 4.11278 5.00385 4.10656 5.01406C1.53966 8.84896 0.836475 12.5896 1.18143 16.2839C1.18299 16.3019 1.19314 16.3192 1.20719 16.3302C2.90076 17.5739 4.54127 18.329 6.15131 18.8294C6.17708 18.8373 6.20438 18.8279 6.22078 18.8067C6.60164 18.2866 6.94114 17.7382 7.23223 17.1614C7.24941 17.1277 7.23301 17.0876 7.1979 17.0742C6.65939 16.87 6.14663 16.6209 5.65339 16.3381C5.61437 16.3153 5.61125 16.2595 5.64714 16.2328C5.75094 16.155 5.85476 16.0741 5.95387 15.9924C5.9718 15.9774 5.99679 15.9743 6.01787 15.9837C9.25827 17.4632 12.7664 17.4632 15.9685 15.9837C15.9896 15.9735 16.0146 15.9767 16.0333 15.9916C16.1325 16.0733 16.2363 16.155 16.3408 16.2328C16.3767 16.2595 16.3744 16.3153 16.3354 16.3381C15.8421 16.6264 15.3294 16.87 14.7901 17.0735C14.755 17.0868 14.7394 17.1277 14.7565 17.1614C15.0539 17.7373 15.3934 18.2858 15.7672 18.8059C15.7828 18.8279 15.8109 18.8373 15.8367 18.8294C17.4545 18.329 19.095 17.5739 20.7886 16.3302C20.8034 16.3192 20.8128 16.3027 20.8144 16.2846C21.2272 12.0137 20.1229 8.3037 17.8869 5.01484C17.8814 5.00385 17.8721 4.99599 17.8611 4.99128ZM7.71613 14.0344C6.74055 14.0344 5.93669 13.1388 5.93669 12.0388C5.93669 10.9389 6.72496 10.0432 7.71613 10.0432C8.71508 10.0432 9.51115 10.9467 9.49553 12.0388C9.49553 13.1388 8.70727 14.0344 7.71613 14.0344ZM14.2953 14.0344C13.3197 14.0344 12.5159 13.1388 12.5159 12.0388C12.5159 10.9389 13.3041 10.0432 14.2953 10.0432C15.2943 10.0432 16.0903 10.9467 16.0747 12.0388C16.0747 13.1388 15.2943 14.0344 14.2953 14.0344Z" fill="#5865F2"/>
+</svg>

Dosya farkı çok büyük olduğundan ihmal edildi
+ 0 - 6
src/assets/svg/icon-follow.svg


+ 2 - 2
src/assets/svg/icon-like.svg

@@ -1,3 +1,3 @@
-<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
-<path d="M15.1868 4.45988L15.1868 4.45992L15.1944 4.4639C17.5169 5.68044 17.8395 8.68879 16.3253 10.3235L15.6735 10.9752L12.4987 14.15L10.3822 16.2665C10.2295 16.4193 10.1141 16.4437 10.0527 16.4437C9.9913 16.4437 9.8759 16.4193 9.72318 16.2665L7.60666 14.15L4.43189 10.9752L3.77048 10.3138C2.14695 8.69031 2.44662 5.85632 4.77231 4.63321C6.04636 4.00006 7.81466 4.30937 8.92708 5.4218L9.45621 5.95092L9.98654 6.48126L10.5169 5.95092L11.046 5.4218C12.2324 4.23543 13.8646 3.74791 15.1868 4.45988Z" fill="#389AFF" fill-opacity="0.01" stroke="black" stroke-width="1.5"/>
+<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M16.5241 5.52953L16.5142 5.52433C15.5782 5.03216 14.225 5.28953 13.0824 6.4054L11.0951 8.34608L9.10786 6.4054C8.15668 5.47651 6.64352 5.24789 5.63883 5.72852C3.6663 6.74997 3.50591 8.96319 4.77916 10.2066L11.1706 16.4483L17.534 10.2339C18.721 8.96254 18.499 6.53976 16.534 5.53461L16.5241 5.52953ZM18.9454 11.6232L12.1519 18.2575C11.548 18.8472 10.7932 18.8472 10.1893 18.2575L3.39579 11.6232C1.13128 9.41173 1.58418 5.57855 4.75449 3.95682C6.56609 3.07224 8.98157 3.51453 10.4912 4.98883L11.0951 5.57855L11.699 4.98883C13.2086 3.51453 15.4732 2.73985 17.4357 3.77185C20.606 5.39358 21.0589 9.41173 18.9454 11.6232Z" fill="#1D9BF0"/>
 </svg>

+ 2 - 2
src/assets/svg/icon-retweet.svg

@@ -1,3 +1,3 @@
-<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
-<path d="M5.14903 4.09573C4.95472 3.90142 4.63969 3.90142 4.44538 4.09573L2.1285 6.41261C1.8905 6.65061 1.8905 7.03649 2.1285 7.27449C2.3665 7.51249 2.75238 7.51249 2.99038 7.27449L4.18776 6.07711V12.6617C4.18776 14.2342 5.4625 15.5089 7.03497 15.5089H10.6154C10.952 15.5089 11.2248 15.2361 11.2248 14.8995C11.2248 14.5629 10.952 14.2901 10.6154 14.2901H7.03497C6.13567 14.2901 5.40664 13.561 5.40664 12.6617V6.07711L6.60403 7.27449C6.84203 7.51249 7.2279 7.51249 7.4659 7.27449C7.70391 7.03649 7.70391 6.65061 7.4659 6.41261L5.14903 4.09573ZM14.851 15.5214C15.0453 15.7157 15.3603 15.7157 15.5546 15.5214L17.8715 13.2045C18.1095 12.9665 18.1095 12.5806 17.8715 12.3426C17.6335 12.1046 17.2476 12.1046 17.0096 12.3426L15.8122 13.54V6.9554C15.8122 5.38294 14.5375 4.1082 12.965 4.1082H9.38462C9.04803 4.1082 8.77517 4.38106 8.77517 4.71764C8.77517 5.05422 9.04803 5.32708 9.38462 5.32708H12.965C13.8643 5.32708 14.5934 6.05611 14.5934 6.9554V13.54L13.396 12.3426C13.158 12.1046 12.7721 12.1046 12.5341 12.3426C12.2961 12.5806 12.2961 12.9665 12.5341 13.2045L14.851 15.5214Z" fill="black" stroke="black" stroke-width="0.1" stroke-linecap="round"/>
+<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M1.50044 8.21628C1.88617 8.60144 2.51136 8.60144 2.89709 8.21628L3.84224 7.27253V14.3496C3.84224 15.169 4.11521 15.9245 4.57523 16.5307C5.23614 17.4015 6.28313 17.9639 7.46136 17.9639L11.6714 17.9639C12.2165 17.9639 12.6593 17.5225 12.6593 16.977C12.6593 16.9429 12.6575 16.9092 12.6542 16.876C12.6035 16.3781 12.1825 15.9902 11.6714 15.9902H7.46136C7.12082 15.9902 6.80456 15.8868 6.54228 15.7099C6.10513 15.4149 5.81789 14.9156 5.81789 14.3496V7.27253L6.76304 8.21628C7.14877 8.60144 7.77396 8.60144 8.15969 8.21628C8.20794 8.1681 8.25016 8.11618 8.28634 8.06145C8.53966 7.67832 8.49744 7.15757 8.15969 6.82032L5.43536 4.1C5.10101 3.76614 4.55912 3.76615 4.22477 4.1L1.50044 6.82032C1.11444 7.20575 1.11444 7.83085 1.50044 8.21628ZM20.3952 13.7829C20.0095 13.3978 19.3843 13.3978 18.9986 13.7829L18.0534 14.7267V7.64963C18.0534 7.40006 18.0281 7.15641 17.9799 6.9211C17.6423 5.27391 16.1828 4.03536 14.4343 4.03536H10.2242C10.1561 4.03536 10.0896 4.04225 10.0253 4.05539C9.57536 4.14733 9.2364 4.54491 9.2364 5.02221C9.2364 5.56769 9.67913 6.00907 10.2242 6.00907H14.4343C15.3424 6.00907 16.0778 6.74403 16.0778 7.64963V14.7267L15.1326 13.7829C14.7469 13.3978 14.1217 13.3978 13.736 13.7829C13.35 14.1684 13.35 14.7935 13.736 15.1789L16.4603 17.8992C16.7947 18.2331 17.3365 18.2331 17.6709 17.8992L20.3952 15.1789C20.4435 15.1307 20.4857 15.0788 20.5219 15.0241C20.7752 14.6409 20.733 14.1202 20.3952 13.7829Z" fill="#1D9BF0"/>
 </svg>

+ 10 - 4
src/view/iframe/publish/give-dialog.vue

@@ -192,6 +192,10 @@
                                             class="control"
                                             v-if="item.nodeType == 'input'"
                                         >
+                                            <!-- <div class="">
+                                                <img :src="discordInviteInfo.icon" />
+                                                <span>{{discordInviteInfo.name}}</span>
+                                            </div> -->
                                             <input v-model="item.text" 
                                                 placeholder="Enter link address"
                                                 class="discord-address" 
@@ -463,7 +467,7 @@ let formList = reactive([
     },
     {
         label: "Join Discord",
-        icon: require("@/assets/svg/icon-like.svg"),
+        icon: require("@/assets/svg/icon-discord.svg"),
         nodeType: "input",
         text: '',
         type: 7,
@@ -471,6 +475,8 @@ let formList = reactive([
     },
 ]);
 
+const discordInviteInfo = ref({});
+
 const props = defineProps({
     dialogVisible: {
         type: Boolean,
@@ -1006,7 +1012,7 @@ const onIptDiscordAddress = (e, index) => {
 const onBlurDiscordAddress = (e, index) => {
     let val = formList[index].text;
 
-    getInviteGuildInfoa(val);
+    getDiscordInviteInfo(val);
 }
 
 const checkInviteUrl = (inviteUrl) => {
@@ -1022,7 +1028,7 @@ const checkInviteUrl = (inviteUrl) => {
     return flag;
 }
 
-const getInviteGuildInfoa = (inviteUrl) => {
+const getDiscordInviteInfo = (inviteUrl) => {
     let validata = checkInviteUrl(inviteUrl);
     console.log(validata, 'validata')
     if(!validata) return;
@@ -1032,7 +1038,7 @@ const getInviteGuildInfoa = (inviteUrl) => {
         }
     }).then(res => {
         if(res.code == 0) {
-
+            discordInviteInfo.value = res.data;
         }
     })
 }

+ 38 - 12
src/view/iframe/red-packet/red-packet.vue

@@ -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);
+      }
+    }
   } 
 }
 

Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor