Parcourir la source

feat(activity): 活动详情报名/签到/分享海报需登录,注册弹窗改为自定义遮罩去内置按钮

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
E2E Test Bot il y a 1 mois
Parent
commit
9952cb4a51
1 fichiers modifiés avec 23 ajouts et 2 suppressions
  1. 23 2
      cfc-frontend/pages/activity/activity-detail/activity-detail.vue

+ 23 - 2
cfc-frontend/pages/activity/activity-detail/activity-detail.vue

@@ -185,7 +185,7 @@
       </modal>
 
       <!-- 报名表单弹窗 -->
-      <modal v-if="showRegModal" class="reg-modal-overlay" :show="showRegModal" @close="showRegModal = false">
+      <view v-if="showRegModal" class="reg-modal-overlay" @click.self="closeRegModal">
         <view class="reg-modal">
           <text class="reg-modal-title">活动报名</text>
 
@@ -234,7 +234,7 @@
             </button>
           </view>
         </view>
-      </modal>
+      </view>
     </scroll-view>
 
     <!-- 空状态 -->
@@ -378,6 +378,12 @@ export default {
       var self = this
       if (self.checkinLoading || self.checkinDone) return
 
+      // 未登录则跳转登录
+      if (!uni.getStorageSync('token')) {
+        uni.navigateTo({ url: '/pages/login/login' })
+        return
+      }
+
       var childId = uni.getStorageSync('currentChildId') || self.registrationChildId
       if (!childId) {
         uni.showToast({ title: '请选择孩子身份', icon: 'none' })
@@ -423,6 +429,11 @@ export default {
     },
     onRegister: function() {
       var self = this
+      // 未登录则跳转登录
+      if (!uni.getStorageSync('token')) {
+        uni.navigateTo({ url: '/pages/login/login' })
+        return
+      }
       // Open registration form modal
       self.showRegModal = true
       self.registrants = []
@@ -430,6 +441,11 @@ export default {
     },
     onCancelRegistration: function() {
       var self = this
+      // 未登录则跳转登录
+      if (!uni.getStorageSync('token')) {
+        uni.navigateTo({ url: '/pages/login/login' })
+        return
+      }
       uni.showModal({
         title: '提示',
         content: '确定要取消报名吗?',
@@ -599,6 +615,11 @@ export default {
     // ===== 分享海报 =====
     async generatePoster() {
       if (!this.activity || !this.activity.id) return
+      // 未登录则跳转登录
+      if (!uni.getStorageSync('token')) {
+        uni.navigateTo({ url: '/pages/login/login' })
+        return
+      }
       uni.showLoading({ title: '生成海报中...' })
       try {
         var res = await getShareQrCode('pages/activity/activity-detail/activity-detail', 'id=' + this.activity.id)