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.

149 lines
3.4 KiB

2 months ago
<template>
<view class="viewport">
<template v-if="isLoading">
<view class="loading-text">拼命加载中...</view>
</template>
<template v-else>
<CustomNavbar />
<u-row gutter="16">
<u-col span="3">
<view :style="{ padding: '15px' }">
<u-avatar :src="userInfo.avatar" size="100"></u-avatar>
</view>
</u-col>
<u-col span="9">
<view>
<text>{{ userInfo.realName }}</text>
</view>
<view>
<text>{{ userInfo.account }}</text>
</view>
</u-col>
</u-row>
<u-row gutter="16">
<u-col span="12">
<view :style="{ padding: '20px 15px' }">
<image
class="icon"
src="/static/images/my-empty.png"
mode="aspectFit"
></image>
</view>
</u-col>
</u-row>
<u-row gutter="16">
<u-col span="12">
<view :style="{ padding: '15px' }">
<u-button
:custom-style="{ color: '#ffffff', backgroundColor: '#6F89DD' }"
shape="circle"
:plain="false"
@click="fnEditPwd('/pages/my/modifyPsd/index')"
>修改密码</u-button
>
</view>
</u-col>
<u-col span="12">
<view :style="{ padding: '15px' }">
<u-button shape="circle" @click="fnLoginOut">退</u-button>
</view>
</u-col>
</u-row>
2 months ago
</template>
</view>
</template>
<script>
import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
import { mapGetters } from "vuex";
import { UserBaseInfo, logoutCurrentUser } from "@/api/yys/me.js";
2 months ago
import CustomNavbar from "./components/CustomNavbar";
export default {
components: {
CustomNavbar,
2 months ago
},
mixins: [],
data() {
return {
isLoading: false,
userInfo: {},
2 months ago
};
},
watch: {},
computed: {
token() {
return this.$store.getters.token;
},
},
2 months ago
onLoad() {
console.log("onLoad");
this.fnUserBaseInfo();
2 months ago
},
onUnload() {},
methods: {
fnUserBaseInfo() {
UserBaseInfo()
.then((res) => {
if (res.code == 200) {
this.userInfo = { ...res.data };
}
})
.catch((err) => {
console.log(err);
});
},
fnLoginOut() {
uni.showModal({
title: "提示",
content: "确定退出当前账号吗?",
success: (res) => {
if (res.confirm) {
this.$store.dispatch("user/logout").then(() => {
uni.closeSocket();
uni.reLaunch({
url: "/pages/login/index",
});
});
console.log("用户点击确定");
} else if (res.cancel) {
console.log("用户点击取消");
}
},
});
},
fnEditPwd(path) {
if (!path) return;
uni.navigateTo({
url: path,
});
},
},
2 months ago
};
</script>
<style lang="scss">
page {
height: 100%;
overflow: hidden;
background-color: #f8fafd;
}
.viewport {
width: 100vw;
height: 100vh;
margin-bottom: 300rpx;
.cont {
//margin: 100rpx 0;
}
.loading-text {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
}
.barbox {
height: 50rpx;
}
</style>