Files
vpUni/.svn/pristine/86/860d1121b1b7144d52bb4e0760d4f15a088d5ab3.svn-base
2026-03-09 16:39:03 +08:00

347 lines
7.7 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<view class="invite-page">
<!-- 沉浸式状态栏 -->
<view v-if="!isZFB" class="status-bar"></view>
<!-- 顶部导航 -->
<view v-if="!isZFB" class="nav-bar">
<image class="back-icon" src="/static/icons/back.svg" @click="goBack" mode="aspectFit" />
<text class="nav-title">邀请好友</text>
<view class="nav-placeholder"></view>
</view>
<!-- 主要内容区域 -->
<view class="content">
<!-- 邀请规则卡片 -->
<view class="rules-card">
<!-- 顶部装饰 -->
<view class="card-header">
<text class="ri-gift-line header-icon"></text>
<text class="header-title">邀请好友 赢取积分</text>
</view>
<!-- 规则内容 -->
<view class="rules-content">
<!-- 规则条目 -->
<view class="rule-item">
<view class="rule-badge">
<text class="badge-number">1</text>
</view>
<view class="rule-text">
<text class="rule-title">分享邀请二维码</text>
<text class="rule-desc">将您的专属二维码分享给好友,通过微信等方式发送</text>
</view>
</view>
<view class="rule-item">
<view class="rule-badge">
<text class="badge-number">2</text>
</view>
<view class="rule-text">
<text class="rule-title">好友进入V派联盟小程序</text>
<text class="rule-desc">好友通过您的邀请二维码进入小程序,即视为邀请成功</text>
</view>
</view>
<view class="rule-item">
<view class="rule-badge">
<text class="badge-number">3</text>
</view>
<view class="rule-text">
<text class="rule-title">获得积分奖励</text>
<text class="rule-desc">用户到V派联盟商家消费付款时使用积分或优惠券您即可获得积分。</text>
</view>
</view>
<view class="rule-item">
<view class="rule-badge">
<text class="badge-number">4</text>
</view>
<view class="rule-text">
<text class="rule-title">好友也得奖励</text>
<text class="rule-desc">好友在V派联盟商家消费付款时未使用积分或优惠券可获得商家赠送积分。</text>
</view>
</view>
</view>
<!-- 分割线 -->
<view class="divider"></view>
<!-- 奖励说明 -->
<view class="reward-section">
<view class="reward-title">
<text class="ri-medal-line reward-icon"></text>
<text class="title-text">奖励说明</text>
</view>
<view class="reward-list">
<view class="reward-item">
<text class="reward-dot"></text>
<text class="reward-text">邀请人数不限,多邀多得</text>
</view>
<view class="reward-item">
<text class="reward-dot"></text>
<text class="reward-text">积分可用于付款时抵现金,不可提现</text>
</view>
<view class="reward-item">
<text class="reward-dot"></text>
<text class="reward-text">奖励将在好友付款成功后到账</text>
</view>
<view class="reward-item">
<text class="reward-dot"></text>
<text class="reward-text">每个账号仅可被邀请一次</text>
</view>
</view>
</view>
<!-- 温馨提示 -->
<view class="tips-box">
<view class="tips-header">
<text class="ri-error-warning-line tips-icon"></text>
<text class="tips-title">注意事项</text>
</view>
<view class="tips-content">
<text class="tips-item">• 请勿通过恶意刷取积分等违规行为获取奖励</text>
<text class="tips-item">• 一经发现违规行为,平台有权取消奖励并封禁账号</text>
<text class="tips-item">• 本活动最终解释权归平台所有</text>
</view>
</view>
</view>
</view>
</view>
</template>
<script setup>
import { Service } from "@/Service/Service"
import { inject } from 'vue';
const isZFB = inject('isZFB');
// 返回我的页面
const goBack = () => {
Service.GoPageBack()
}
</script>
<style lang="scss" scoped>
.invite-page {
min-height: 100vh;
background: #F5F5F5;
display: flex;
flex-direction: column;
}
/* 状态栏 */
.status-bar {
background: linear-gradient(135deg, #FF6B00, #FF9500);
height: var(--status-bar-height);
width: 100%;
}
/* 导航栏 */
.nav-bar {
display: flex;
align-items: center;
justify-content: space-between;
padding: 60rpx 24rpx 20rpx 24rpx;
background: linear-gradient(135deg, #FF6B00, #FF9500);
}
.back-icon {
width: 48rpx;
height: 48rpx;
padding: 8rpx;
}
.nav-title {
font-size: 36rpx;
font-weight: 600;
color: #FFFFFF;
}
.nav-placeholder {
width: 48rpx;
}
/* 内容区域 */
.content {
flex: 1;
padding: 32rpx 24rpx;
}
/* 规则卡片 */
.rules-card {
background: #FFFFFF;
border-radius: 24rpx;
padding: 32rpx;
box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.06);
}
/* 卡片头部 */
.card-header {
display: flex;
align-items: center;
justify-content: center;
gap: 12rpx;
margin-bottom: 40rpx;
padding-bottom: 24rpx;
border-bottom: 2rpx solid #F5F5F5;
}
.header-icon {
font-size: 48rpx;
color: #FF6B00;
}
.header-title {
font-size: 36rpx;
font-weight: 600;
color: #222222;
}
/* 规则内容 */
.rules-content {
display: flex;
flex-direction: column;
gap: 32rpx;
margin-bottom: 32rpx;
}
.rule-item {
display: flex;
align-items: flex-start;
gap: 20rpx;
}
.rule-badge {
width: 56rpx;
height: 56rpx;
background: linear-gradient(135deg, #FF6B00, #FF9500);
border-radius: 28rpx;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
box-shadow: 0 4rpx 12rpx rgba(255, 107, 0, 0.25);
}
.badge-number {
font-size: 28rpx;
font-weight: 700;
color: #FFFFFF;
}
.rule-text {
flex: 1;
display: flex;
flex-direction: column;
gap: 8rpx;
padding-top: 6rpx;
}
.rule-title {
font-size: 30rpx;
font-weight: 600;
color: #222222;
}
.rule-desc {
font-size: 24rpx;
color: #666666;
line-height: 1.6;
}
/* 分割线 */
.divider {
height: 2rpx;
background: linear-gradient(90deg, transparent, #E0E0E0, transparent);
margin-bottom: 32rpx;
}
/* 奖励说明区域 */
.reward-section {
margin-bottom: 32rpx;
}
.reward-title {
display: flex;
align-items: center;
gap: 12rpx;
margin-bottom: 20rpx;
}
.reward-icon {
font-size: 32rpx;
color: #FF9800;
}
.title-text {
font-size: 28rpx;
font-weight: 600;
color: #222222;
}
.reward-list {
display: flex;
flex-direction: column;
gap: 16rpx;
}
.reward-item {
display: flex;
align-items: flex-start;
gap: 12rpx;
}
.reward-dot {
width: 8rpx;
height: 8rpx;
background: #FF6B00;
border-radius: 50%;
margin-top: 12rpx;
flex-shrink: 0;
}
.reward-text {
flex: 1;
font-size: 24rpx;
color: #666666;
line-height: 1.6;
}
/* 温馨提示 */
.tips-box {
background: #FFF9F0;
border-radius: 16rpx;
padding: 24rpx;
border-left: 4rpx solid #FF9800;
}
.tips-header {
display: flex;
align-items: center;
gap: 8rpx;
margin-bottom: 16rpx;
}
.tips-icon {
font-size: 28rpx;
color: #FF9800;
}
.tips-title {
font-size: 26rpx;
font-weight: 600;
color: #FF9800;
}
.tips-content {
display: flex;
flex-direction: column;
gap: 12rpx;
}
.tips-item {
font-size: 22rpx;
color: #666666;
line-height: 1.6;
}
</style>