|
|
- <template>
- <view class="u-page">
- <!-- 头部会员卡片 -->
- <view class="member-header">
- <view class="member-card">
- <view class="card-bg">
- <view class="member-title">
- <uv-icon name="level" size="60rpx" color="#FFD700"></uv-icon>
- <text class="title-text">会员中心</text>
- </view>
- <view class="member-desc">开通永久会员,享受更多专属权益</view>
- </view>
- </view>
- </view>
-
- <!-- 会员权益 -->
- <view class="rights-section">
- <view class="section-title">
- <text>会员专享权益</text>
- </view>
- <view class="rights-list">
- <view class="right-item">
- <view class="right-icon">
- <uv-icon name="map-fill" size="40rpx" color="#FF6B6B"></uv-icon>
- </view>
- <view class="right-content">
- <text class="right-title">查看详细地址</text>
- <text class="right-desc">查看具体定位和村址,普通用户只能看到乡镇</text>
- </view>
- </view>
- <view class="right-item">
- <view class="right-icon">
- <uv-icon name="phone-fill" size="40rpx" color="#4ECDC4"></uv-icon>
- </view>
- <view class="right-content">
- <text class="right-title">查看联系方式</text>
- <text class="right-desc">查看房主手机号,方便直接联系</text>
- </view>
- </view>
- <view class="right-item">
- <view class="right-icon">
- <uv-icon name="star-fill" size="40rpx" color="#FFD700"></uv-icon>
- </view>
- <view class="right-content">
- <text class="right-title">优先查看房源</text>
- <text class="right-desc">抢先查看最新房源信息</text>
- </view>
- </view>
- <view class="right-item">
- <view class="right-icon">
- <uv-icon name="heart-fill" size="40rpx" color="#9B59B6"></uv-icon>
- </view>
- <view class="right-content">
- <text class="right-title">专属客服</text>
- <text class="right-desc">享受一对一专属客服服务</text>
- </view>
- </view>
- <view class="right-item">
- <view class="right-icon">
- <uv-icon name="gift-fill" size="40rpx" color="#E74C3C"></uv-icon>
- </view>
- <view class="right-content">
- <text class="right-title">永久会员标识</text>
- <text class="right-desc">尊贵的永久会员身份标识</text>
- </view>
- </view>
- </view>
- </view>
-
- <!-- 永久会员价格 -->
- <view class="package-section">
- <view class="price-card">
- <view class="price-header">
- <view class="price-tag">
- <text class="currency">¥</text>
- <text class="price">99</text>
- </view>
- <text class="price-desc">永久会员</text>
- </view>
- <view class="price-benefits">
- <text class="benefit-text">• 一次购买,终身享受所有会员权益</text>
- <text class="benefit-text">• 无需续费,永久有效</text>
- </view>
- </view>
- </view>
-
- <!-- 开通按钮 -->
- <view class="action-section">
- <uv-button type="primary" @click="openMember"
- style="background: linear-gradient(135deg, #1EC77A 0%, #16A085 100%); border: none; border-radius: 50rpx; height: 100rpx; font-size: 32rpx; font-weight: bold;">
- 立即开通永久会员 - ¥99
- </uv-button>
- <view class="agreement">
- <text>开通即表示同意</text>
- <text class="link" @click="showAgreement">《永久会员服务协议》</text>
- </view>
- </view>
- </view>
- </template>
-
- <script>
- export default {
- data() {
- return {
- memberPrice: 99 // 永久会员价格
- }
- },
- methods: {
- openMember() {
- uni.showModal({
- title: '确认开通',
- content: `确定开通永久会员吗?\n价格:¥${this.memberPrice}\n终身享受会员权益`,
- confirmText: '确认开通',
- cancelText: '取消',
- success: (res) => {
- if (res.confirm) {
- this.processPay()
- }
- }
- })
- },
- processPay() {
- // 这里应该调用支付接口
- uni.showLoading({
- title: '处理中...'
- })
-
- // 模拟支付处理
- setTimeout(() => {
- uni.hideLoading()
- uni.showToast({
- title: '永久会员开通成功',
- icon: 'success',
- duration: 2000
- })
-
- // 返回上一页并刷新用户信息
- setTimeout(() => {
- uni.navigateBack()
- }, 2000)
- }, 2000)
- },
- showAgreement() {
- uni.showModal({
- title: '永久会员服务协议',
- content: '1. 永久会员享有查看详细地址和联系方式的权限\n2. 会员权益包括但不限于:查看具体定位、村址信息、房主手机号等\n3. 永久会员权益终身有效,无需续费\n4. 其他会员服务条款...',
- showCancel: false,
- confirmText: '我知道了'
- })
- }
- }
- }
- </script>
-
- <style scoped>
- .u-page {
- background: linear-gradient(180deg, #1EC77A 0%, #f5f5f5 30%);
- min-height: 100vh;
- }
-
- .member-header {
- padding: 40rpx 30rpx;
- }
-
- .member-card {
- background: rgba(255, 255, 255, 0.15);
- border-radius: 20rpx;
- padding: 40rpx;
- backdrop-filter: blur(10rpx);
- }
-
- .member-title {
- display: flex;
- align-items: center;
- margin-bottom: 20rpx;
- }
-
- .title-text {
- font-size: 40rpx;
- font-weight: bold;
- color: white;
- margin-left: 20rpx;
- }
-
- .member-desc {
- font-size: 28rpx;
- color: rgba(255, 255, 255, 0.8);
- }
-
- .rights-section, .package-section {
- margin: 30rpx;
- background: white;
- border-radius: 20rpx;
- padding: 40rpx 30rpx;
- }
-
- .section-title {
- font-size: 32rpx;
- font-weight: bold;
- color: #333;
- margin-bottom: 30rpx;
- }
-
- .rights-list {
- display: flex;
- flex-direction: column;
- gap: 30rpx;
- }
-
- .right-item {
- display: flex;
- align-items: center;
- }
-
- .right-icon {
- margin-right: 20rpx;
- }
-
- .right-content {
- flex: 1;
- }
-
- .right-title {
- display: block;
- font-size: 28rpx;
- font-weight: bold;
- color: #333;
- margin-bottom: 8rpx;
- }
-
- .right-desc {
- font-size: 24rpx;
- color: #666;
- }
-
- .price-card {
- text-align: center;
- background: linear-gradient(135deg, #1EC77A 0%, #16A085 100%);
- border-radius: 20rpx;
- padding: 50rpx 30rpx;
- color: white;
- position: relative;
- overflow: hidden;
- }
-
- .price-card::before {
- content: '';
- position: absolute;
- top: -50rpx;
- right: -50rpx;
- width: 200rpx;
- height: 200rpx;
- background: rgba(255, 255, 255, 0.1);
- border-radius: 50%;
- }
-
- .price-header {
- margin-bottom: 30rpx;
- }
-
- .price-tag {
- display: flex;
- align-items: baseline;
- justify-content: center;
- margin-bottom: 10rpx;
- }
-
- .currency {
- font-size: 40rpx;
- font-weight: bold;
- }
-
- .price {
- font-size: 120rpx;
- font-weight: bold;
- line-height: 1;
- }
-
- .price-desc {
- font-size: 32rpx;
- font-weight: bold;
- opacity: 0.9;
- }
-
- .price-benefits {
- display: flex;
- flex-direction: column;
- gap: 15rpx;
- }
-
- .benefit-text {
- font-size: 26rpx;
- opacity: 0.9;
- text-align: left;
- }
-
- .action-section {
- padding: 30rpx;
- }
-
- .agreement {
- text-align: center;
- margin-top: 20rpx;
- font-size: 24rpx;
- color: #666;
- }
-
- .link {
- color: #1EC77A;
- }
- </style>
|