diff --git a/package2/login/login.vue b/package2/login/login.vue index e53c9a4..39daca7 100644 --- a/package2/login/login.vue +++ b/package2/login/login.vue @@ -57,8 +57,12 @@ {{ phoneLoading ? '正在绑定手机号' : '绑定手机号,解锁完整半径' }} + + - {{ needPhoneAuth ? '最后一步,绑定后即可进入主页' : '使用微信身份轻松进入校园生活世界' }} + {{ needPhoneAuth ? '最后一步,绑定后即可进入主页' : '轻松进入校园生活世界' }} @@ -72,6 +76,19 @@ 《隐私政策》 + + + + + ! + 确认暂不登录吗? + 不登录将无法完整体验半径里的拼团、跑腿、抽奖等相关功能,你仍可先进入首页逛逛。 + + 继续登录 + 先去逛逛 + + + @@ -84,6 +101,7 @@ loginLoading: false, phoneLoading: false, needPhoneAuth: false, + skipConfirmVisible: false, customId: '', saleId: '', redirectKey: '' @@ -247,6 +265,25 @@ this.goAfterLogin(true) }, 200) }, + skipLogin() { + this.skipConfirmVisible = true + }, + closeSkipConfirm() { + this.skipConfirmVisible = false + }, + confirmSkipLogin() { + this.skipConfirmVisible = false + uni.removeStorageSync('authPendingTargetPath') + uni.removeStorageSync('pendingShareTargetPath') + uni.reLaunch({ + url: '/pages/index/index', + fail: () => { + uni.switchTab({ + url: '/pages/index/index' + }) + } + }) + }, goAfterLogin(clearRedirect) { const pendingPath = this.redirectKey ? uni.getStorageSync(this.redirectKey) : '' const fallbackTargetPath = uni.getStorageSync('authPendingTargetPath') || uni.getStorageSync('pendingShareTargetPath') || getEnterShareTarget() || '' @@ -676,6 +713,35 @@ background: linear-gradient(90deg, rgba(227, 255, 150, 0.98), rgba(166, 255, 234, 0.98)); } + .skip-login-btn { + display: flex; + align-items: center; + justify-content: center; + position: absolute; + top: 24rpx; + right: 24rpx; + width: 152rpx; + height: 50rpx; + margin: 0; + padding: 0; + border: 1rpx solid rgba(44, 175, 121, 0.34); + border-radius: 999rpx; + background: rgba(255, 255, 255, 0.72); + color: #2caf79; + font-size: 22rpx; + font-weight: 700; + line-height: 50rpx; + } + + .skip-login-btn::after { + border: 0; + } + + .skip-login-btn-hover { + transform: scale(0.985); + opacity: 0.86; + } + .login-tip { margin-top: 22rpx; color: rgba(43, 83, 70, 0.52); @@ -704,6 +770,112 @@ font-weight: 600; } + .skip-confirm-mask { + position: fixed; + left: 0; + right: 0; + top: 0; + bottom: 0; + z-index: 99; + display: flex; + align-items: center; + justify-content: center; + padding: 48rpx; + background: rgba(20, 48, 39, 0.38); + backdrop-filter: blur(12rpx); + } + + .skip-confirm-card { + position: relative; + width: 100%; + padding: 54rpx 42rpx 38rpx; + box-sizing: border-box; + overflow: hidden; + border: 1rpx solid rgba(255, 255, 255, 0.82); + border-radius: 42rpx; + background: + radial-gradient(circle at 88% 0, rgba(166, 255, 234, 0.56), rgba(255, 255, 255, 0) 260rpx), + linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 255, 249, 0.94)); + box-shadow: 0 36rpx 90rpx rgba(18, 81, 59, 0.24); + } + + .skip-confirm-glow { + position: absolute; + right: -50rpx; + top: -70rpx; + width: 220rpx; + height: 220rpx; + border-radius: 50%; + background: rgba(166, 255, 234, 0.56); + filter: blur(12rpx); + } + + .skip-confirm-icon { + position: relative; + z-index: 1; + width: 78rpx; + height: 78rpx; + margin: 0 auto 24rpx; + border-radius: 28rpx; + background: linear-gradient(135deg, #dcff8d, #8fffe7); + color: #0b5b47; + font-size: 42rpx; + font-weight: 900; + line-height: 78rpx; + text-align: center; + box-shadow: 0 18rpx 42rpx rgba(44, 175, 121, 0.24); + } + + .skip-confirm-title { + position: relative; + z-index: 1; + color: #17372d; + font-size: 34rpx; + font-weight: 800; + text-align: center; + } + + .skip-confirm-desc { + position: relative; + z-index: 1; + margin-top: 20rpx; + color: rgba(43, 83, 70, 0.68); + font-size: 25rpx; + line-height: 1.7; + text-align: center; + } + + .skip-confirm-actions { + position: relative; + z-index: 1; + display: flex; + gap: 20rpx; + margin-top: 38rpx; + } + + .skip-confirm-cancel, + .skip-confirm-ok { + flex: 1; + height: 82rpx; + border-radius: 999rpx; + font-size: 27rpx; + font-weight: 800; + line-height: 82rpx; + text-align: center; + } + + .skip-confirm-cancel { + background: rgba(255, 255, 255, 0.76); + color: rgba(43, 83, 70, 0.72); + border: 1rpx solid rgba(44, 175, 121, 0.18); + } + + .skip-confirm-ok { + background: linear-gradient(90deg, #dcff8d, #8fffe7); + color: #0b5b47; + box-shadow: 0 16rpx 36rpx rgba(44, 175, 121, 0.2); + } + @keyframes ipBreath { 0%, 100% { diff --git a/package2/myCenter/wallet.vue b/package2/myCenter/wallet.vue index aaa5073..9637a03 100644 --- a/package2/myCenter/wallet.vue +++ b/package2/myCenter/wallet.vue @@ -43,6 +43,11 @@ 钱包安全保障中 › + + 提现规则 + 单笔5000 · 每日5次 + 不限时 · 立即到账 + 提现 @@ -142,7 +147,14 @@ 提现金额 - + + + + 提现规则 + • 单笔提现最高 5000 元 + • 每日最多提现 5 次 + • 不限提现时间,全天可提 + • 提现后立即到账 {{submittingWithdraw ? '提现中...' : '确认提现'}} @@ -918,6 +930,30 @@ font-size: 24rpx; } + .hero-rules { + position: absolute; + right: 36rpx; + top: 28rpx; + z-index: 2; + padding: 14rpx 18rpx; + border-radius: 22rpx; + background: rgba(255, 255, 255, 0.18); + border: 1rpx solid rgba(255, 255, 255, 0.26); + color: rgba(255, 255, 255, 0.92); + font-size: 20rpx; + font-weight: 700; + line-height: 1.6; + text-align: left; + backdrop-filter: blur(8rpx); + } + + .hero-rules-title { + margin-bottom: 2rpx; + color: #FFFFFF; + font-size: 22rpx; + font-weight: 900; + } + .withdraw-btn { position: absolute; right: 36rpx; @@ -1407,6 +1443,28 @@ color: #153A2E; } + .popup-rules { + margin-top: 8rpx; + padding: 22rpx 24rpx; + border-radius: 22rpx; + background: #FFF8EE; + border: 2rpx solid rgba(255, 184, 77, 0.35); + } + + .popup-rules-title { + margin-bottom: 12rpx; + font-size: 26rpx; + font-weight: 900; + color: #9A5B00; + } + + .popup-rules-item { + line-height: 1.7; + font-size: 24rpx; + font-weight: 600; + color: rgba(153, 91, 0, 0.85); + } + .popup-btn { margin-top: 36rpx; width: 100%;