You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

146 lines
4.1 KiB

<template>
<view class="container">
<image class="bkg" src="~@/static/me/wave.png" mode="widthFix"></image>
<view class="wrap">
<view class="info">
<image class="info__avatar" :src="vuex_user.headimgurl || vuex_default_icon" mode="aspectFill"></image>
<view class="info__name">
<text v-if="vuex_user.mobile">{{ vuex_user.nickname || '' }}</text>
<u-button v-else shape="circle" size="mini" plain type="primary" @click="$u.route({ url: '/pages/login/login' })">去登录</u-button>
</view>
</view>
<view class="panel">
<view class="row" v-if="vuex_user.mobile">
<image class="row__icon" src="~@/static/me/ico1.png" mode="aspectFill"></image>
<view class="row__text">我的模拟填报</view>
<view class="row__arrow">
<u-icon name="arrow-right" :size="38" color="#a7a7a7"></u-icon>
</view>
</view>
<view class="row" v-if="vuex_user.mobile">
<image class="row__icon" src="~@/static/me/ico2.png" mode="aspectFit"></image>
<view class="row__text">自主招生</view>
<view class="row__arrow">
<u-icon name="arrow-right" :size="38" color="#a7a7a7"></u-icon>
</view>
</view>
<view class="row" v-if="vuex_user.mobile" @click="$u.route({ url: '/package_sub/pages/StudentInfo/StudentInfo' })">
<image class="row__icon" src="~@/static/me/ico3.png" mode="aspectFit"></image>
<view class="row__text">个人资料</view>
<view class="row__arrow">
<u-icon name="arrow-right" :size="38" color="#a7a7a7"></u-icon>
</view>
</view>
<view class="row">
<image class="row__icon" src="~@/static/me/ico4.png" mode="aspectFit"></image>
<view class="row__text">关于我们</view>
<view class="row__arrow">
<u-icon name="arrow-right" :size="38" color="#a7a7a7"></u-icon>
</view>
</view>
<view class="row" v-if="vuex_user.mobile" @click="logout">
<image class="row__icon" src="~@/static/me/ico5.png" mode="aspectFit"></image>
<view class="row__text">退出登录</view>
<view class="row__arrow">
<u-icon name="arrow-right" :size="38" color="#a7a7a7"></u-icon>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {};
},
methods: {
logout() {
uni.showModal({
title: '提示',
content: '确认退出?',
success: status => {
if (status.confirm) {
this.$u.vuex('vuex_token', '')
this.$u.vuex('vuex_user', {})
uni.setStorageSync('lifeData', {})
this.$u.route({
url: '/pages/login/login',
type: 'tab'
})
}
}
})
}
}
}
</script>
<style lang="scss" scoped>
.container {
position: relative;
min-height: 100vh;
width: 100vw;
background: #eaf8fe;
.wrap {
z-index: 3;
position: relative;
padding-top: 4.2vh;
.info {
display: flex;
align-items: center;
margin: 0 50rpx;
&__avatar {
width: 127rpx;
height: 127rpx;
border-radius: 100%;
}
&__name {
font-size: 36rpx;
color: #ffffff;
padding-left: 28rpx;
}
}
.panel {
border-radius: 20px;
filter: drop-shadow(-2.179px 3.355px 2.5px rgba(208,209,209,0.3));
background-color: #ffffff;
margin: 7.4vh 25rpx 0;
padding: 14rpx 26rpx 44rpx 28rpx;
.row {
display: flex;
align-items: center;
padding: 38rpx 18rpx 28rpx 26rpx;
border-bottom: 1rpx solid rgba(152, 152, 152, 0.3);
&__icon {
width: 52rpx;
height: 52rpx;
}
&__text {
flex: 1;
padding-left: 50rpx;
font-size: 28rpx;
text-transform: uppercase;
color: #666666;
}
}
}
}
}
.bkg {
width: 100vw;
position: fixed;
top: 0;
left: 0;
}
</style>