Files
airz-uniapp/pages/index/index.uvue
T
hujun b0ee4f9d7e refactor: 重构移动端页面布局与资源路径,优化打包配置
1. 新增layout.uts统一管理页面尺寸与安全区计算
2. 修正图片资源路径到static/mobile目录
3. 调整App.vue与AppIcon组件样式适配多端
4. 为微信小程序配置打包忽略规则减少包体积
5. 修复API请求错误抛出类型,完善类型定义
6. 补充README文档说明项目运行与维护规范
7. 优化多个页面的样式与生命周期逻辑
2026-09-15 16:16:55 +08:00

42 lines
1.8 KiB
Plaintext

<template>
<view class="splash page-white" @click="enter" :style="pageStyle()">
<view class="splash-status" :style="statusStyle(0)"></view>
<view class="brand-area">
<BrandLogo />
<text class="tagline">智能评估 · 精准匹配</text>
<text class="slogan">让融资更简单</text>
</view>
<image class="splash-art" src="/static/mobile/images/shield.png" mode="aspectFit"></image>
<view class="launch-line"><view class="launch-dot"></view><text>开启智能融资新体验</text></view>
</view>
</template>
<script setup lang="uts">
import { usePageLayout } from '@/services/layout.uts'
const { statusStyle, pageStyle } = usePageLayout()
import BrandLogo from '@/components/BrandLogo.uvue'
import { isLoggedIn } from '@/services/api.uts'
let enterTimer = 0
let entered = false
const enter = () => {
if (entered) return
entered = true
clearTimeout(enterTimer)
uni.redirectTo({ url: isLoggedIn() ? '/pages/home/home' : '/pages/login/login' })
}
onShow(() => { if (!entered) enterTimer = setTimeout(() => enter(), 1800) })
onHide(() => { clearTimeout(enterTimer) })
onUnmounted(() => { clearTimeout(enterTimer) })
</script>
<style>
.splash { align-items: center; position: relative; overflow: hidden; }
.splash-status { }
.brand-area { align-items: center; margin-top: 220rpx; }
.tagline { margin-top: 18rpx; color: #32405a; font-size: 28rpx; font-weight: 600; }
.slogan { margin-top: 42rpx; color: #102557; font-size: 33rpx; font-weight: 800; }
.splash-art { width: 550rpx; height: 420rpx; margin-top: 35rpx; }
.launch-line { position: absolute; bottom: 82rpx; flex-direction: row; align-items: center; color: #9aa7ba; font-size: 22rpx; }
.launch-dot { width: 9rpx; height: 9rpx; border-radius: 50%; background-color: #2d8cff; margin-right: 12rpx; box-shadow: 0 0 18rpx rgba(45, 140, 255, .7); }
</style>