<template> <view class="container"> <view class="title-content"> <image src="../../static/emblem-icon.png" mode=""></image> <view class="text-layer"> <!-- <text class="title">哈密市在建项目建设及工作</text> --> <text class="sub-title">哈密市项目管理智慧平台</text> </view> </view> <view class="form-content"> <view class="form-list"> <view class="form-item" @click="goToPage('/pages/mine/verify-email/index')"> <view class="item-right"> <image src="@/static/mine-chnage-pass.svg" mode=""></image> <text>修改密码</text> </view> <u-icon name="arrow-right" color="#343437" size="14" customStyle="margin-left:10rpx"></u-icon> </view> <view class="form-item" @click="goToPage('/pages/mine/account-manage/index')"> <view class="item-right"> <image src="@/static/mine-account.svg" mode=""></image> <text>账号管理</text> </view> <u-icon name="arrow-right" color="#343437" size="14" customStyle="margin-left:10rpx"></u-icon> </view> <view class="form-item"> <view class="item-right"> <image src="@/static/mine-verison.svg" mode=""></image> <text>当前版本</text> </view> <text>{{visionText}}</text> </view> </view> </view> </view> </template> <script setup> import { ref } from "vue" import { onLoad } from "@dcloudio/uni-app" import { getInfo } from "@/api/login.js" function goToPage(url) { uni.navigateTo({ url }) } let userInfo = ref(null) let visionText = ref(null) onLoad(() => { let vision = uni.getStorageSync('visionNow') visionText.value = vision ? 'V ' + vision : '获取版本失败' getInfo().then(res => { userInfo.value = res.data.user; if (userInfo.value.realName.length > 8) { let tempName = userInfo.value.realName userInfo.value.realName = tempName.substring(0, 7) + '...' } }) }) </script> <style lang="scss"> page { height: 100%; background-color: #EAF0FA; } .container { position: relative; padding-top: 0 !important; width: 100%; height: 100%; // background: linear-gradient(108deg, #192DE8 0%, #1DA0FF 53%, #84D8FF 100%); background-color: #002F69; .title-content { display: flex; justify-content: center; align-items: center; gap: 20rpx; width: 100%; height: 318rpx; z-index: 1; // background: url('@/static/login_bg.png'); background-size: 100% 100%; image { width: 144rpx; height: 144rpx; } .text-layer { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; .title { font-size: 36rpx; font-weight: 700; color: #FFFFFF; } .sub-title { font-size: 40rpx; font-weight: 700; color: #FFFFFF; } } } .form-content { position: absolute; bottom: 0; left: 0; width: 100%; height: calc(100vh - var(--status-bar-height) - 318rpx - var(--window-bottom)); background-color: #fff; border-radius: 40rpx 40rpx 0rpx 0rpx; .form-list { margin: auto; margin-top: 100rpx; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 20rpx; width: 642rpx; .form-item { width: 100%; display: flex; justify-content: space-between; align-items: center; .item-right { display: flex; justify-content: flex-start; align-items: center; gap: 20rpx; image { width: 72rpx; height: 72rpx; } text { font-size: 32rpx; font-weight: 500; color: #222222; } } .item-left {} } } } .change-ip { margin-top: 200rpx; text-align: center; .forget-pass { color: #002F69; border-bottom: 2rpx solid #002F69; } } .download-box { display: flex; align-items: center; justify-content: center; height: 100%; .loading-box { display: flex; flex-direction: column; justify-content: space-between; width: 360rpx; height: 360rpx; padding: 20rpx; background-color: #fff; border-radius: 40rpx; } .loading-icon { flex: 4; display: flex; flex-direction: column; justify-content: center; } .loading-text { flex: 1; display: flex; align-items: flex-end; text-align: center; } .loading-progress { flex: 1; display: flex; align-items: flex-end; } } } </style>