login.vue 2.05 KB
<template>
  <view class="role-entry-page">
    <!-- 全屏背景图 -->
    <image :src="config.loginImage_api + '/fs/static/bg.png'" class="page-bg" mode="aspectFill"></image>
    
    <!-- 顶部 Logo 区域 -->
    <view class="header-wrapper">
      <view class="logo-box">
        <image :src="config.loginImage_api + '/fs/static/wx_logo.png'" class="logo" mode="aspectFit"></image>
      </view>
    </view>
    
    <!-- 功能按钮区域 -->
    <view class="btn-container">
      <view @click="goToPage('/personal/addVip_per')">
        <image :src="config.loginImage_api + '/fs/static/btn01.png'" class="btn-item"></image>
      </view>
      <view @click="goToPage('/personal/home')">
        <image :src="config.loginImage_api + '/fs/static/btn02.png'" class="btn-item"></image>
      </view>
      <view @click="goToPage('/login/loginC')">
        <image :src="config.loginImage_api + '/fs/static/btn03.png'" class="btn-item"></image>
      </view>
    </view>
  
  
  </view>
</template>
<script setup>
import {ref} from 'vue'
import {onShow} from '@dcloudio/uni-app'
import config from '@/config.js'

onShow(() => {
  uni.hideLoading();
})

const goToPage = (url) => {
  uni.navigateTo({
    url,
  })
}
</script>
<style lang="scss" scoped>
.role-entry-page {
  width: 100%;
  min-height: 100vh;
  position: relative;
  padding: 20rpx;
  box-sizing: border-box;
}

.page-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.header-wrapper {
  text-align: center;
  padding: 40rpx 0;
  border-radius: 16rpx;
  margin-bottom: 40rpx;
}

.btn-container {
  display: flex;
  justify-content: space-between;
  padding: 0 40rpx;
  
  img, image {
    width: 90px;
  }
}

.loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 999;
}

.loading-content {
  color: white;
  font-size: 28rpx;
}
</style>