文件路径: E:/homework/uniappv3tswallpaper/pages/user/user.vue
<template>
<view class="userLayout pageBg" v-if="userInfo">
<view class="" :style="{height:getNavBarHeight() + 'px'}"> </view>
<view class="userInfo">
<view class="avatar">
<image src="../../common/images/preview1.jpg" mode="aspectFill"></image>
</view>
<view class="ip">
{{userInfo.IP}}
</view>
<view class="from">
{{userInfo.address.city || userInfo.address.province || userInfo.address.country}}
</view>
</view>
<view class="section">
<view class="list">
<navigator url="/pages/classlist/classlist">
<view class="row">
<view class="left">
<uni-icons type="download-filled" size="20" color="#28b389"></uni-icons>
<view class="text">
我的下载
</view>
</view>
<view class="right">
<view class="text">
{{userInfo.downloadSize}}
</view>
<uni-icons type="right" size="15" color="#aaa"></uni-icons>
</view>
</view>
</navigator>
<navigator url="/pages/classlist/classlist">
<view class="row">
<view class="left">
<uni-icons type="star-filled" size="20" color="#28b389"></uni-icons>
<view class="text">
我的评分
</view>
</view>
<view class="right">
<view class="text">
{{userInfo.scoreSize}}
</view>
<uni-icons type="right" size="15" color="#aaa"></uni-icons>
</view>
</view>
</navigator>
<view class="row">
<view class="left">
<uni-icons type="chatboxes-filled" size="20" color="#28b389"></uni-icons>
<view class="text">
联系客服
</view>
</view>
<view class="right">
<view class="text">
</view>
<uni-icons type="right" size="15" color="#aaa"></uni-icons>
</view>
<!-- #ifdef MP -->
<button open-type="contact">联系客服</button>
<!-- #endif -->
<!-- #ifndef MP -->
<button @click="clickContact">打电话</button>
<!-- #endif -->
</view>
</view>
</view>
<view class="section">
<view class="list">
<view class="row">
<view class="left">
<uni-icons type="notification-filled" size="20" color="#28b389"></uni-icons>
<view class="text">
订阅更新
</view>
</view>
<view class="right">
<view class="text">
</view>
<uni-icons type="right" size="15" color="#aaa"></uni-icons>
</view>
</view>
<view class="row">
<view class="left">
<uni-icons type="flag-filled" size="20" color="#28b389"></uni-icons>
<view class="text">
常见问题
</view>
</view>
<view class="right">
<view class="text">
</view>
<uni-icons type="right" size="15" color="#aaa"></uni-icons>
</view>
</view>
</view>
</view>
</view>
<view class="loadingLayout" v-else>
<view class="" :style="{height:getNavBarHeight() + 'px'}"> </view>
<uni-load-more status="loading"></uni-load-more>
</view>
</template>
<script setup>
import {
getNavBarHeight
} from "@/utils/system.js"
import {
apiGetUserInfo
} from "@/api/apis.js"
import {
ref
} from "vue";
const userInfo = ref(null)
const clickContact = () => {
uni.makePhoneCall({
phoneNumber: '114' //仅为示例
});
}
const getUerInfo = () => {
apiGetUserInfo().then(res => {
userInfo.value = res.data
console.log(userInfo.value)
})
}
getUerInfo()
</script>
<style lang="scss" scoped>
.userLayout {
.userInfo {
display: flex;
flex-direction: column;
flex-wrap: nowrap;
align-content: center;
justify-content: center;
align-items: center;
padding: 50rpx 0;
.avatar {
height: 160rpx;
width: 160rpx;
border-radius: 50%;
overflow: hidden;
image {
height: 100%;
width: 100%;
}
}
.ip {
font-size: 44rpx;
color: #333;
padding: 20rpx 0 5rpx;
}
.from {
font-size: 28rpx;
color: #aaa;
}
}
}
.section {
width: 690rpx;
margin: 50rpx auto;
border: 1rpx solid #eee;
border-radius: 10rpx;
border-shadow: 0 0 30rpx rgba(0, 0, 0, 0.2);
.list {
.row {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
align-content: center;
justify-content: space-between;
align-items: center;
padding: 0 30rpx;
height: 100rpx;
border-bottom: 1px solid #eee;
position: relative;
background: white;
:last-child {
border-bottom: 0;
}
.left {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
align-content: center;
align-items: center;
.text {
padding-left: 20rpx;
color: #666
}
}
.right {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
align-content: center;
align-items: center;
.text {
padding-left: 20rpx;
color: #666
}
}
button {
position: absolute;
top: 0%;
left: 0%;
height: 100%;
width: 100%;
opacity: 0
}
}
}
}
</style>
文件路径: E:/homework/uniappv3tswallpaper/api/apis.js
添加了用户数据的api。
import {
request
} from "@/utils/requset.js"
export function apiGetBanner() {
return request({
url: "/homeBanner"
})
}
export function apiGetDayRandom() {
return request({
url: "/randomWall"
})
}
export function apiGetRequest(data = {}) {
return request({
url: '/wallNewsList',
data
})
}
export function apiGetClassify(data = {}) {
return request({
url: '/classify',
data
})
}
export function apiGetCLassList(data = {}) {
return request({
url: '/wallList',
data
})
}
export function apiGetSetupScore(data = {}) {
return request({
url: '/setupScore',
data
})
}
export function apiWriteDownload(data = {}) {
return request({
url: '/downloadWall',
data
})
}
export function apiGetDetailWall(data = {}) {
return request({
url: '/detailWall',
data
})
}
export function apiGetUserInfo(data = {}) {
return request({
url: '/userInfo',
data
})
}