wangfukang 1 month ago
parent
commit
057995bcc5
  1. 174
      package2/login/login.vue
  2. 60
      package2/myCenter/wallet.vue

174
package2/login/login.vue

@ -57,8 +57,12 @@
<text>{{ phoneLoading ? '正在绑定手机号' : '绑定手机号,解锁完整半径' }}</text>
</button>
<button class="skip-login-btn" hover-class="skip-login-btn-hover" @tap="skipLogin">
暂不登录
</button>
<view class="login-tip">
{{ needPhoneAuth ? '最后一步,绑定后即可进入主页' : '使用微信身份轻松进入校园生活世界' }}
{{ needPhoneAuth ? '最后一步,绑定后即可进入主页' : '轻松进入校园生活世界' }}
</view>
<view class="tui-protocol" hover-class="opcity" :hover-stay-time="150">
@ -72,6 +76,19 @@
<text class="tui-protocol-red" @tap.stop="protocol('2')">隐私政策</text>
</view>
</view>
<view v-if="skipConfirmVisible" class="skip-confirm-mask" @tap="closeSkipConfirm">
<view class="skip-confirm-card" @tap.stop>
<view class="skip-confirm-glow"></view>
<view class="skip-confirm-icon">!</view>
<view class="skip-confirm-title">确认暂不登录吗</view>
<view class="skip-confirm-desc">不登录将无法完整体验半径里的拼团跑腿抽奖等相关功能你仍可先进入首页逛逛</view>
<view class="skip-confirm-actions">
<view class="skip-confirm-cancel" @tap="closeSkipConfirm">继续登录</view>
<view class="skip-confirm-ok" @tap="confirmSkipLogin">先去逛逛</view>
</view>
</view>
</view>
</view>
</template>
@ -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% {

60
package2/myCenter/wallet.vue

@ -43,6 +43,11 @@
<text>钱包安全保障中 </text>
</view>
</view>
<view class="hero-rules">
<view class="hero-rules-title">提现规则</view>
<view>单笔5000 · 每日5次</view>
<view>不限时 · 立即到账</view>
</view>
<view class="withdraw-btn" @tap.stop="userCommion('user', balanceUser.depoBal, balanceUser)">
<text>提现</text>
<!-- <view class="btn-arrow"></view> -->
@ -142,7 +147,14 @@
</view>
<view class="popup-field">
<text>提现金额</text>
<input type="digit" v-model="commionAmount" placeholder="请输入金额" />
<input type="digit" v-model="commionAmount" placeholder="请输入金额(单笔最高5000元)" />
</view>
<view class="popup-rules">
<view class="popup-rules-title">提现规则</view>
<view class="popup-rules-item"> 单笔提现最高 5000 </view>
<view class="popup-rules-item"> 每日最多提现 5 </view>
<view class="popup-rules-item"> 不限提现时间全天可提</view>
<view class="popup-rules-item"> 提现后立即到账</view>
</view>
<view class="popup-btn" :class="{disabled: submittingWithdraw}" :style="{opacity: submittingWithdraw ? 0.6 : 1}" @tap="wxPayment">
{{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%;

Loading…
Cancel
Save