فهرست منبع

活动助力弹窗

ylong 7 ماه پیش
والد
کامیت
de812b58be
1فایلهای تغییر یافته به همراه41 افزوده شده و 9 حذف شده
  1. 41 9
      pages/home/components/upsell-share.vue

+ 41 - 9
pages/home/components/upsell-share.vue

@@ -32,7 +32,13 @@
       </view>
 
       <!-- 助力按钮 -->
-      <button class="help-button" @click="handleHelp">点击助力</button>
+      <button class="help-button" @click="inviteClickHelp" v-if="inviteDone == 1">
+        点击助力
+      </button>
+
+      <button class="help-button" @click="close" v-if="inviteDone == 0">
+        助力成功
+      </button>
 
       <!-- 关闭按钮 -->
       <view class="close-button" @click="close">
@@ -53,7 +59,7 @@ export default {
     return {
       showPopup: false,
       avatarUrl: "", // 用户头像URL
-      username: "孙***", // 用户名,带星号
+      username: "", // 用户名,带星号
       // 自定义按钮样式
       rulesButtonStyle: {
         backgroundColor: "#39c248",
@@ -63,14 +69,31 @@ export default {
         height: "80rpx",
         borderRadius: "40rpx",
       },
+      // 邀请可以助力 0-否(完成不能再助力) 1-是
+      inviteDone: 1,
+      upsellCode: "",
     };
   },
   methods: {
-    open(avatarUrl = "", username = "孙***") {
-      this.avatarUrl = avatarUrl;
-      this.username = username;
+    open(upsellCode) {
       this.showPopup = true;
+      this.upsellCode = upsellCode;
+      this.getInviteHelpQuery(upsellCode);
+    },
+    //获取分享的邀请人信息 /token/order/inviteHelpQuery
+    getInviteHelpQuery(upsellCode) {
+      upsellCode = upsellCode || uni.getStorageInfoSync("upsellCode");
+      uni.$u.http
+        .post(`/token/order/inviteHelpQuery?upsellCode=${upsellCode}`)
+        .then((res) => {
+          if (res.code == 200) {
+            this.avatarUrl = res.data.imgPath;
+            this.username = res.data.nickName;
+            this.inviteDone = res.data.inviteDone;
+          }
+        });
     },
+
     close() {
       this.showPopup = false;
     },
@@ -79,10 +102,19 @@ export default {
       this.$emit("view-rules");
       this.close();
     },
-    handleHelp() {
-      // 处理助力逻辑
-      this.$emit("help");
-      this.close();
+
+    //调用助力接口 /api/token/order/inviteClickHelp
+    inviteClickHelp() {
+      let upsellCode = this.upsellCode || uni.getStorageInfoSync("upsellCode");
+      uni.$u.http
+        .post(`/token/order/inviteClickHelp?upsellCode=${upsellCode}`)
+        .then((res) => {
+          if (res.code == 200) {
+            this.close();
+            this.inviteDone = 0;
+            uni.$u.toast("助力成功");
+          }
+        });
     },
   },
 };