| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255 |
- <template>
- <view class="splash-root">
- <!-- 背景装饰 -->
- <view class="splash-bg-decor">
- <view class="bg-circle bg-circle-1"></view>
- <view class="bg-circle bg-circle-2"></view>
- <view class="bg-circle bg-circle-3"></view>
- </view>
- <view class="splash-content">
- <!-- Logo 图标 -->
- <view class="splash-logo-wrap">
- <image class="splash-logo-img" src="/static/logo.png" mode="aspectFit" />
- </view>
- <!-- Brand Name -->
- <text class="splash-brand-name">浠艾福</text>
- <text class="splash-brand-en">Care Family</text>
- <!-- 五维图标行 -->
- <view class="splash-dims-row">
- <view class="splash-dim-item">
- <view class="splash-dim-circle" style="background:rgba(255,140,66,0.3);">
- <text class="splash-dim-icon">🌏</text>
- </view>
- <text class="splash-dim-label">身</text>
- </view>
- <view class="splash-dim-item">
- <view class="splash-dim-circle" style="background:rgba(255,107,157,0.3);">
- <text class="splash-dim-icon">🔥</text>
- </view>
- <text class="splash-dim-label">心</text>
- </view>
- <view class="splash-dim-item">
- <view class="splash-dim-circle" style="background:rgba(99,102,241,0.3);">
- <text class="splash-dim-icon">⚡</text>
- </view>
- <text class="splash-dim-label">智</text>
- </view>
- <view class="splash-dim-item">
- <view class="splash-dim-circle" style="background:rgba(16,185,129,0.3);">
- <text class="splash-dim-icon">🌿</text>
- </view>
- <text class="splash-dim-label">行</text>
- </view>
- <view class="splash-dim-item">
- <view class="splash-dim-circle" style="background:rgba(245,158,11,0.3);">
- <text class="splash-dim-icon">💧</text>
- </view>
- <text class="splash-dim-label">富</text>
- </view>
- </view>
- <!-- Tagline -->
- <text class="splash-tagline">给全家的一站式幸福提案</text>
- </view>
- </view>
- </template>
- <script>
- export default {
- name: 'SplashPage',
- onReady() {
- // 标记需要在首页显示 splash overlay(仅在首次进入时)
- uni.setStorageSync('_showSplashOverlay', '1')
- // 立即跳转首页,首页会展示 splash overlay 并加载数据
- uni.switchTab({ url: '/pages/index/index' })
- }
- }
- </script>
- <style scoped>
- .splash-root {
- position: fixed;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- display: flex;
- align-items: center;
- justify-content: center;
- background: linear-gradient(160deg, #FFF7ED 0%, #FFEDD5 50%, #FED7AA 100%);
- z-index: 9999;
- overflow: hidden;
- }
- /* ===== 背景装饰 ===== */
- .splash-bg-decor {
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- pointer-events: none;
- }
- .bg-circle {
- position: absolute;
- border-radius: 50%;
- opacity: 0.15;
- }
- .bg-circle-1 {
- width: 400rpx;
- height: 400rpx;
- background: #FF8C42;
- top: -100rpx;
- right: -100rpx;
- animation: float 6s ease-in-out infinite;
- }
- .bg-circle-2 {
- width: 300rpx;
- height: 300rpx;
- background: #F59E0B;
- bottom: 100rpx;
- left: -80rpx;
- animation: float 8s ease-in-out infinite reverse;
- }
- .bg-circle-3 {
- width: 200rpx;
- height: 200rpx;
- background: #FF6B9D;
- top: 300rpx;
- right: 50rpx;
- animation: float 5s ease-in-out infinite 1s;
- }
- @keyframes float {
- 0%, 100% { transform: translateY(0) scale(1); }
- 50% { transform: translateY(-20rpx) scale(1.05); }
- }
- /* ===== 主内容 ===== */
- .splash-content {
- display: flex;
- flex-direction: column;
- align-items: center;
- opacity: 0;
- animation: splash-fade-in 0.8s ease forwards;
- }
- @keyframes splash-fade-in {
- from {
- opacity: 0;
- transform: translateY(30rpx);
- }
- to {
- opacity: 1;
- transform: translateY(0);
- }
- }
- /* ===== Logo ===== */
- .splash-logo-wrap {
- width: 160rpx;
- height: 160rpx;
- border-radius: 40rpx;
- background: rgba(255, 255, 255, 0.95);
- display: flex;
- align-items: center;
- justify-content: center;
- margin-bottom: 24rpx;
- box-shadow: 0 8rpx 32rpx rgba(249, 115, 22, 0.25);
- }
- .splash-logo-img {
- width: 100rpx;
- height: 100rpx;
- }
- /* ===== Brand Name ===== */
- .splash-brand-name {
- font-size: 60rpx;
- font-weight: 700;
- color: #7C2D12;
- letter-spacing: 8rpx;
- margin-bottom: 4rpx;
- text-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.1);
- }
- .splash-brand-en {
- font-size: 22rpx;
- color: rgba(124, 45, 18, 0.6);
- letter-spacing: 4rpx;
- margin-bottom: 20rpx;
- }
- /* ===== Tagline ===== */
- .splash-tagline {
- font-size: 28rpx;
- color: rgba(124, 45, 18, 0.8);
- letter-spacing: 2rpx;
- font-weight: 500;
- }
- /* ===== 五维图标行 ===== */
- .splash-dims-row {
- display: flex;
- flex-direction: row;
- align-items: center;
- justify-content: center;
- gap: 20rpx;
- margin: 24rpx 0 24rpx;
- }
- .splash-dim-item {
- display: flex;
- flex-direction: column;
- align-items: center;
- gap: 6rpx;
- opacity: 0;
- transform: translateY(20rpx);
- animation: splash-dim-enter 0.4s ease forwards;
- }
- .splash-dim-item:nth-child(1) { animation-delay: 0.4s; }
- .splash-dim-item:nth-child(2) { animation-delay: 0.55s; }
- .splash-dim-item:nth-child(3) { animation-delay: 0.7s; }
- .splash-dim-item:nth-child(4) { animation-delay: 0.85s; }
- .splash-dim-item:nth-child(5) { animation-delay: 1.0s; }
- .splash-dim-circle {
- width: 68rpx;
- height: 68rpx;
- border-radius: 50%;
- display: flex;
- align-items: center;
- justify-content: center;
- }
- .splash-dim-icon {
- font-size: 30rpx;
- line-height: 1;
- }
- .splash-dim-label {
- font-size: 20rpx;
- color: rgba(124, 45, 18, 0.7);
- line-height: 1;
- font-weight: 500;
- }
- @keyframes splash-dim-enter {
- from {
- opacity: 0;
- transform: translateY(20rpx);
- }
- to {
- opacity: 1;
- transform: translateY(0);
- }
- }
- </style>
|