Kaynağa Gözat

[edit][bug]

zhangwei 3 yıl önce
ebeveyn
işleme
ff4bd82fee

+ 2 - 14
src/logic/twitter.js

@@ -507,7 +507,7 @@ function parseDOMRedPacket() {
             let _txt_area = _article.querySelector('[lang][dir=auto]')
             let _postId = _txt_area.innerText
             _postId = _postId.match(/###([\s\S]*?)###/)[1]
-            _dom = _article.querySelector('[aria-labelledby]')
+            _dom = _article.querySelector('div[aria-labelledby]')
             if (_dom) {
                 _type = 'card'
             } else {
@@ -552,11 +552,7 @@ function replaceDOMRedPacket(_type, _dom, postId, tweetId) {
         _dom.appendChild(createIframe(postId, tweetId))
     } else {
         let _parent = _dom.parentNode
-        for (let i = 0; i < _parent.length; i++) {
-            _parent.children[i].style.display = 'none'
-        }
-        _dom.style.display='block'
-        _dom.appendChild(createIframe(postId, tweetId))
+        _parent.appendChild(createIframe(postId, tweetId))
     }
 }
 
@@ -574,12 +570,4 @@ export function setIframeRedPacket() {
     setInterval(() => {
         parseDOMRedPacket()
     }, 1000)
-    // document.addEventListener('scroll', (e) => {
-    // if ((elment.scrollTop - _current_top) > 500 || (_current_top - elment.scrollTop) > 500) {
-    // _current_top = elment.scrollTop
-    // 1.解析推文
-    // 2.替换推文
-    // parseDOMRedPacket()
-    // }
-    // })
 }

+ 3 - 3
src/view/popup/withdraw/confirm.vue

@@ -8,7 +8,7 @@
             <div class="order">
                 <div class="txt">Confirm order</div>
                 <div class="money">{{ withdraw_info.data.amount }} {{ withdraw_info.data.currency_code }}</div>
-                <div class="txt">≈$6.67</div>
+                <!-- <div class="txt">≈$6.67</div> -->
             </div>
             <div class="info">
                 <div class="item">
@@ -24,11 +24,11 @@
                 </div>
                 <div class="item">
                     <div class="key">Amout</div>
-                    <div class="val">{{ withdraw_info.data.amount }} {{ withdraw_info.data.currency_code }}</div>
+                    <div class="val">{{ withdraw_info.data.amount }} {{ withdraw_info.token_symbol }}</div>
                 </div>
                 <div class="item">
                     <div class="key">Network fee</div>
-                    <div class="val">{{ withdraw_info.data.fee_amount }} {{ withdraw_info.data.currency_code }}</div>
+                    <div class="val">{{ withdraw_info.data.fee_amount }} {{ withdraw_info.token_symbol }}</div>
                 </div>
             </div>
 

+ 2 - 1
src/view/popup/withdraw/home.vue

@@ -22,7 +22,8 @@ function selectCurrency(_params) {
     } else {
         withdraw_info.source = 'home'
         withdraw_info.balance = _params.balance
-        withdraw_info.token = _params.currencyName || ''
+        withdraw_info.token_symbol = _params.tokenSymbol || ''
+        withdraw_info.currency_name = _params.currencyName || ''
         withdraw_info.token_chain = _params.tokenChain || 'BNB Chain'
         withdraw_info.currency_code = _params.currencyCode
         withdraw_info.icon_token = _params.iconPath || ''

+ 5 - 9
src/view/popup/withdraw/info.vue

@@ -9,7 +9,7 @@
           <div class="title">Token</div>
           <div class="box">
             <img :src="withdraw_info.icon_token" alt="">
-            <span>{{ withdraw_info.token }}</span>
+            <span>{{ withdraw_info.token_symbol }}</span>
           </div>
         </div>
 
@@ -36,8 +36,7 @@
           <span>Balance: {{ state.balance || 0 }}</span>
         </div>
         <div class="box">
-          <input type="number" placeholder="0" @input="inputText" v-model="state.input_amount" :max="state.balance"
-            min="0">
+          <input type="number" placeholder="0" @input="inputText" v-model="state.input_amount" :max="state.balance">
           <span @click="clickWithdrawalAll">Withdrawal All</span>
         </div>
         <div class="error">{{ state.error_msg }}</div>
@@ -51,9 +50,9 @@
     <!-- 底部 -->
     <div class="footer">
       <div class="left">
-        <div class="txt">Amount Account</div>
+        <div class="txt">Receive Amount</div>
         <div class="money">{{ state.amount || 0 }} {{ state.currency_code }}</div>
-        <div class="txt"> {{ state.withdraw_fee_desc || 'Network Fee:' }}</div>
+        <div class="txt"> Network Fee: {{ state.fee_amount }} {{ withdraw_info.token_symbol }} </div>
       </div>
       <div class="right">
         <div class="btn" @click="clickBtn" :class="{ enter: state.is_enter_state }">Confirm</div>
@@ -74,7 +73,7 @@ let withdraw_info = inject('withdraw_info')
 
 let state = reactive({
   input_address: '',
-  input_amount: 0,
+  input_amount: '',
   is_enter_state: false,
   error_msg: 'Wallet Address不能为空'
 })
@@ -167,9 +166,6 @@ const initConfig = () => {
 
           state.withdraw_fee_desc = res.data.withdrawFeeDesc
           break;
-        case '0':
-
-          break;
 
         default:
           break;

+ 0 - 5
src/view/popup/withdraw/risk-warning.vue

@@ -13,11 +13,6 @@
                         <p>Please make sure that you fully understand how the assets are used and the possible risks
                             involved. Beware of pyramid schemes, illegal fundraising and scams.</p>
 
-                        <p>I fully understand the potential risks associated with asset withdrawal,and confirm that I
-                            would
-                            like to continue withdrawing my assets.</p>
-
-                        <p>Cancel Confirm</p>
                     </div>
                 </div>
             </div>

+ 231 - 153
src/view/red-packet.vue

@@ -2,14 +2,14 @@
 <template>
   <div class="content">
     <!-- open -->
-    <div v-if="data.status == 'opened'" class="opened">
+    <div v-show="data.status == 'opened'" class="opened">
       <div class="header" :style="{ 'backgroundImage': `url(${require('@/assets/subject/001-back-head-top.svg')})` }">
         <div class="title">Awesome! You Will Get</div>
         <div class="money">
           <img :src="data.detail.currencyIconPath" alt />
           <!-- <span class="big">{{ data.money }}</span> -->
           <font-amount :amount="data.money" class="big" :fontSize="46"></font-amount>
-          <!-- <span class="small">{{ data.detail.amountCurrencyCode || '' }}</span> -->
+          <!-- <span class="small">{{ data.detail.currencySymbol || '' }}</span> -->
         </div>
       </div>
 
@@ -63,9 +63,9 @@
       </div>
       <div class="people" @click="clickRoad">
         <div class="txt">
-          {{ data.detail.receiveCount || 0 }}/{{ data.detail.totalCount || 0 }} Got,{{
+          {{ data.detail.receiveCount || 0 }}/{{ data.detail.totalCount || 0 }} Get,{{
               data.detail.receiveAmountValue
-          }}/{{ data.detail.amountValue }} {{ data.detail.amountCurrencyCode }}</div>
+          }}/{{ data.detail.amountValue }} {{ data.detail.currencySymbol }}</div>
         <div class="right" v-if="data.detail.allReceived">
           <template v-for="item, i in data.detail.allReceived.slice(0, 3)" v-bind:key="i">
             <img :src="item.simpleUserInfoVO.avatarUrl" alt :style="{ right: `${i * 16 + 14}px` }"
@@ -86,12 +86,12 @@
 
 
     <!-- success -->
-    <div v-else-if="data.status == 'success'" class="success">
+    <div v-if="data.status == 'success'" class="success">
       <div class="header" :style="{ 'backgroundImage': `url(${require('@/assets/subject/001-back-head-top.svg')})` }">
         <div class="money">
           <img :src="data.detail.currencyIconPath" alt />
           <font-amount :amount="data.money" class="big" :fontSize="46"></font-amount>
-          <!-- <span class="small">{{ data.detail.amountCurrencyCode }}</span> -->
+          <!-- <span class="small">{{ data.detail.currencySymbol }}</span> -->
         </div>
         <div class="done" @click="clickDone">
           <img :src="require('@/assets/subject/001-icon-done.svg')" alt class="icon-done" />
@@ -100,9 +100,9 @@
         </div>
       </div>
       <div class="luck-list-title">
-        <div>{{ data.detail.receiveCount || 0 }}/{{ data.detail.totalCount || 0 }} Got</div>
+        <div>{{ data.detail.receiveCount || 0 }}/{{ data.detail.totalCount || 0 }} Get</div>
         <div> {{ data.detail.receiveAmountValue }} / {{ data.detail.amountValue || '' }} {{
-            data.detail.amountCurrencyCode || ''
+            data.detail.currencySymbol || ''
         }}</div>
       </div>
       <div class="luck-list" @scroll="handleScroll($event)">
@@ -139,7 +139,7 @@
         <span>{{ data.detail.postUserInfo.nickName || 'FutureDoctor' }}</span>
       </div>
       <div class="money-area">
-        <div class="txt">{{ data.detail.amountCurrencyCode }} GIVEAWAY</div>
+        <div class="txt">{{ data.detail.currencySymbol }} GIVEAWAY</div>
         <div class="coin">
           <img :src="data.detail.currencyIconPath" alt />
           <font-amount :amount="data.detail.amountValue"></font-amount>
@@ -155,9 +155,9 @@
         <img :src="require('@/assets/svg/icon-back.svg')" alt @click="clickBack" />
       </div>
       <div class="luck-list-title">
-        <div>{{ data.detail.receiveCount || 0 }}/{{ data.detail.totalCount || 0 }} Got</div>
+        <div>{{ data.detail.receiveCount || 0 }}/{{ data.detail.totalCount || 0 }} Get</div>
         <div> {{ data.detail.receiveAmountValue }} / {{ data.detail.amountValue || '' }} {{
-            data.detail.amountCurrencyCode || ''
+            data.detail.currencySymbol || ''
         }}</div>
       </div>
       <div class="luck-list" @scroll="handleScroll">
@@ -189,9 +189,9 @@
         <div class="close-title" v-if="data.close_text">{{ data.close_text }}</div>
       </div>
       <div class="luck-list-title">
-        <div>{{ data.detail.receiveCount || 0 }}/{{ data.detail.totalCount || 0 }} People Got</div>
+        <div>{{ data.detail.receiveCount || 0 }}/{{ data.detail.totalCount || 0 }} People Get</div>
         <div> {{ data.detail.receiveAmountValue }} / {{ data.detail.amountValue || '' }} {{
-            data.detail.amountCurrencyCode || ''
+            data.detail.currencySymbol || ''
         }}</div>
       </div>
       <div class="luck-list" @scroll="handleScroll">
@@ -468,53 +468,54 @@ function init() {
       postId: data.postId
     }
   }).then((res) => {
-    switch (res.code.toString()) {
-      case "0":
-        data.srcContentId = res.data.srcContentId
-        // if (data.tweetId != data.srcContentId) {
-        //   data.error_txt = 'Giveaways link Error'
-        //   data.status = 'error'
-        //   return
-        // }
-        data.detail = JSON.parse(res.data.postBizData)
-        console.log(data.detail)
-
-        // 红包未开始
-        if (data.detail.status == 0) {
-          data.status = 'not-open'
-
-          // 任务进行中
-        } else if (data.detail.status == 1) {
-          data.status = 'not-open'
-          // 我领取过的状态
-          if (data.detail.myReceived) {
-            myReceivedState()
-          } else {
-            // 大红包不可以领取了
-            if (data.detail.receiveTimeExpired) {
-              data.status = 'close'
-              data.close_title = `This Giveaways`
-              data.close_text = `expired on ${moment(data.detail.endTimestamp).format('MM-DD')}`
-            }
-            // 任务已经被领完了
-            if (data.detail.totalCount == data.detail.receiveCount) {
-              data.status = 'close'
-              data.close_title = 'Better luck next time!'
-            }
-          }
+    data.loading_show = false
+    if (res.code == 0) {
+      data.srcContentId = res.data.srcContentId
+      // if (data.tweetId != data.srcContentId) {
+      //   data.error_txt = 'Giveaways link Error'
+      //   data.status = 'error'
+      //   return
+      // }
+      data.detail = JSON.parse(res.data.postBizData)
+      console.log(data.detail)
+
+      // 红包未开始
+      if (data.detail.status == 0) {
+        data.status = 'not-open'
 
-          // 任务已经结束了
-        } else if (data.detail.status == 2) {
-          // 我领取过的状态
-          if (data.detail.myReceived) {
-            myReceivedState()
-          } else {
+        // 任务进行中
+      } else if (data.detail.status == 1) {
+        data.status = 'not-open'
+        // 我领取过的状态
+        if (data.detail.myReceived) {
+          myReceivedState()
+        } else {
+          // 大红包不可以领取了
+          if (data.detail.receiveTimeExpired) {
             data.status = 'close'
             data.close_title = `This Giveaways`
             data.close_text = `expired on ${moment(data.detail.endTimestamp).format('MM-DD')}`
           }
+          // 任务已经被领完了
+          if (data.detail.totalCount == data.detail.receiveCount) {
+            data.status = 'close'
+            data.close_title = 'Better luck next time!'
+          }
+        }
+
+        // 任务已经结束了
+      } else if (data.detail.status == 2) {
+        // 我领取过的状态
+        if (data.detail.myReceived) {
+          myReceivedState()
+        } else {
+          data.status = 'close'
+          data.close_title = `This Giveaways`
+          data.close_text = `expired on ${moment(data.detail.endTimestamp).format('MM-DD')}`
         }
-        break
+      }
+    } else {
+      handleErrorCode(res)
     }
   })
 }
@@ -525,28 +526,23 @@ function initTaskDetail() {
       postId: data.postId
     }
   }).then((res) => {
-    switch (res.code.toString()) {
-      case "0":
-        for (let i in res.data) {
-          switch (res.data[i].type) {
-            case 1:
-              data.done.follow = res.data[i].finished
-              data.detail.taskCondition[0].relatedUsers = res.data[i].detail
-              break
-            case 2:
-              data.done.like = res.data[i].finished
-              break
-            case 3:
-              data.done.retweet = res.data[i].finished
-              break
-          }
+    if (res.code.toString()) {
+      for (let i in res.data) {
+        switch (res.data[i].type) {
+          case 1:
+            data.done.follow = res.data[i].finished
+            data.detail.taskCondition[0].relatedUsers = res.data[i].detail
+            break
+          case 2:
+            data.done.like = res.data[i].finished
+            break
+          case 3:
+            data.done.retweet = res.data[i].finished
+            break
         }
-        break
-      case "2009":
-        data.error_txt = `oops, new accounts cannot participate in this event,`
-        data.status = 'error'
-        data.retry = true
-        break
+      }
+    } else {
+      handleErrorCode(res)
     }
   })
 }
@@ -573,31 +569,12 @@ function handleRedPacket() {
       postId: data.postId
     }
   }).then((res) => {
-    switch (res.code.toString()) {
-      case "0":
-        data.status = 'opened'
-        data.money = res.data.receiveAmount
-        init()
-        break
-      case "2003":
-        data.status = 'close'
-        data.close_title = `This Giveaways`
-        data.close_text = `expired on ${moment(data.detail.endTimestamp).format('MM-DD')}`
-        break
-      case "2008":
-        data.status = 'close'
-        data.close_title = 'Better luck next time!'
-        break
-      case "2009":
-        data.error_txt = `oops, new accounts cannot participate in this event,`
-        data.status = 'error'
-        data.retry = true
-        break
-      case "2029":
-        message.error('推文未发布')
-        break
-      default:
-        message.error(res.msg)
+    if (res.code == 0) {
+      data.status = 'opened'
+      data.money = res.data.receiveAmount
+      init()
+    } else {
+      handleErrorCode(res)
     }
   })
 }
@@ -617,6 +594,9 @@ function checkIsLogin() {
     getChromeStorage('userInfo', (_userInfo) => {
       if (!_userInfo) {
         data.loading_show = true
+        setTimeout(() => {
+          data.loading_show = false
+        }, 3000)
         chrome.runtime.sendMessage(
           { method: "POPUP_LOGIN", data: "" },
           (response) => {
@@ -645,65 +625,163 @@ function handleFinishRedPacket() {
       postId: data.postId
     }
   }).then((res) => {
-    data.loading_show = false
-    switch (res.code.toString()) {
-      case '0':
-        if (res.data.finished) {
-          data.status = 'success'
-          data.receiveAmount = res.data.receiveAmount
-          init()
-        } else {
-          let _data = res.data.conditionResult
-          for (let i in _data) {
-            switch (_data[i].type.toString()) {
-              case '1':
-                data.detail.taskCondition[0].relatedUsers = _data[i].detail
-                if (_data[i].finished) {
-                  data.done.follow = true
-                } else {
-                  // alert('Please complete the task: follow')
-                  data.done.follow_red = true
-                }
-                break
-              case '2':
-                if (_data[i].finished) {
-                  data.done.like = true
-                } else {
-                  // alert('Please complete the task: like tweet')
-                  data.done.like_red = true
-                }
-                break
-              case '3':
-                if (_data[i].finished) {
-                  data.done.retweet = true
-                } else {
-                  // alert('Please complete the task: Retweet')
-                  data.done.retweet_red = true
-
-                }
-                break
-            }
+    if (res.code == 0) {
+      data.loading_show = false
+      if (res.data.finished) {
+        data.status = 'success'
+        data.receiveAmount = res.data.receiveAmount
+        init()
+      } else {
+        let _data = res.data.conditionResult
+        for (let i in _data) {
+          switch (_data[i].type.toString()) {
+            case '1':
+              data.detail.taskCondition[0].relatedUsers = _data[i].detail
+              if (_data[i].finished) {
+                data.done.follow = true
+              } else {
+                // alert('Please complete the task: follow')
+                data.done.follow_red = true
+              }
+              break
+            case '2':
+              if (_data[i].finished) {
+                data.done.like = true
+              } else {
+                // alert('Please complete the task: like tweet')
+                data.done.like_red = true
+              }
+              break
+            case '3':
+              if (_data[i].finished) {
+                data.done.retweet = true
+              } else {
+                // alert('Please complete the task: Retweet')
+                data.done.retweet_red = true
+
+              }
+              break
           }
         }
-        break
-      // 没有可提交的任务红包
-      case "2024":
-        data.status = 'not-open'
-        break
-      case "2009":
-        data.error_txt = `oops, new accounts cannot participate in this event,`
-        data.status = 'error'
-        data.retry = true
-        break
-      case "-106":
-        message.error('Clicking too often, wait a moment and click again')
-        break
-      default:
-        console(res)
+      }
+    } else {
+      handleErrorCode(res)
     }
   })
 }
 
+
+function handleErrorCode(res) {
+  switch (res.code.toString()) {
+    // 数据异常,请联系管理员
+    case '-102':
+
+      break
+    //系统错误
+    case '-101':
+
+      break
+
+    // 参数不对
+    case '-103':
+      break
+    // 接口被限流
+    case '-105':
+      break
+
+    // 访问凭证不存在
+    case '-107':
+      break
+    // 重复操作过于频繁
+    case '-106':
+      message.error('Clicking too often, wait a moment and click again')
+      break
+    // 红包不存在
+    case '2001':
+      message.error(res.msg)
+      break
+    // 还未到红包领取时间
+    case '2002':
+      message.error(res.msg)
+      break
+    // 已超过红包领取时间
+    case '2003':
+      // data.status = 'close'
+      // data.close_title = `This Giveaways`
+      // data.close_text = `expired on ${moment(data.detail.endTimestamp).format('MM-DD')}`
+      init()
+      break
+    // 红包支付状态异常 没有可提交的任务红包
+    case '2004':
+      data.status = 'not-open'
+      break
+    // 红包活动已结束
+    case '2006':
+      // data.status = 'close'
+      // data.close_title = `This Giveaways`
+      // data.close_text = `expired on ${moment(data.detail.endTimestamp).format('MM-DD')}`
+      init()
+      break
+    // 红包金额已经被领取完了
+    case '2007':
+      message.error(res.msg)
+      break
+    // 红包个数已经被领取完了
+    case '2008':
+      message.error(res.msg)
+      break
+    // 该用户不满足领取条件
+    case '2009':
+      data.error_txt = `oops, new accounts cannot participate in this event,`
+      data.status = 'error'
+      data.retry = true
+      break
+    // 无法校验用户Twitter信息
+    case '2010':
+      message.error(res.msg)
+      break
+    // 用户已经领过该红包
+    case '2011':
+      message.error(res.msg)
+      break
+    // 推文不存在
+    case '2022':
+      message.error(res.msg)
+      break
+    // 推文未发布 and 不是红包任务的推文
+    case '2023':
+      message.error(res.msg)
+      break
+    // 没有可提交的任务红包
+    case '2024':
+      message.error(res.msg)
+      break
+    // 红包任务已完成
+    case '2025':
+      break
+    // 任务已经过期
+    case '2026':
+      break
+    // 任务未完成
+    case '2027':
+      break
+    // 红包金额每人不足1分钱
+    case '2028':
+      break
+    // 推文未发布
+    case '2029':
+      message.error('推文未发布')
+      break
+    // 不是红包任务的推文
+    case '2030':
+
+      break
+    //用户没有领取过红包,无法重抽
+    case '2031':
+      break
+  }
+}
+
 function clickBack() {
   data.status = 'opened'
 }