309 lines
6.8 KiB
Vue
309 lines
6.8 KiB
Vue
<template>
|
|
<view>
|
|
<view class="head">
|
|
<block v-if="hasLogin">
|
|
<view class="userinfo" @click="goUser">
|
|
<u-avatar :src="userInfo.avatar"></u-avatar>
|
|
<view class="username">
|
|
<text>{{ userInfo.username }}</text>
|
|
<text class="sub-txt">{{ userInfo.intro }}</text>
|
|
</view>
|
|
<u-icon name="arrow-right" class="arrow-right"></u-icon>
|
|
</view>
|
|
</block>
|
|
<block v-else>
|
|
<view class="btn-login">
|
|
<!-- #ifdef H5 -->
|
|
<u-button type="default" shape="circle" @click="phoneLogin" plain>登录</u-button>
|
|
<!-- #endif -->
|
|
<!-- #ifdef MP-WEIXIN -->
|
|
<u-button type="default" shape="circle" @click="wxLogin" plain>登录</u-button>
|
|
<!-- #endif -->
|
|
</view>
|
|
</block>
|
|
<u-grid :col="4" :border="false" style="margin: 20rpx 0;" @click="toNav">
|
|
<u-grid-item index="/pages/my/user?type=2">
|
|
<text>{{ userInfo.fans || 0}}</text>
|
|
<view class="nav-text">粉丝</view>
|
|
</u-grid-item>
|
|
<u-grid-item index="/pages/my/user?type=1">
|
|
<text>{{ userInfo.follow || 0 }}</text>
|
|
<view class="nav-text">关注</view>
|
|
</u-grid-item>
|
|
<u-grid-item index="/pages/my/post?type=2">
|
|
<text>{{ userInfo.postNum || 0 }}</text>
|
|
<view class="nav-text">帖子</view>
|
|
</u-grid-item>
|
|
<u-grid-item index="">
|
|
<text>{{ userInfo.integral || 0 }}</text>
|
|
<view class="nav-text">积分</view>
|
|
</u-grid-item>
|
|
</u-grid>
|
|
</view>
|
|
<!-- 我的服务 -->
|
|
<view class="block-wrap">
|
|
<view class="block-title">我的服务</view>
|
|
<u-grid :col="4" :border="false" style="margin: 20rpx 0;" @click="toNav">
|
|
|
|
<u-grid-item index="/pages/my/post?type=2">
|
|
<image class="gn-icon" src="/static/img/post.png"></image>
|
|
<view class="grid-text">我的帖子</view>
|
|
</u-grid-item>
|
|
|
|
<u-grid-item index="/pages/my/post?type=1">
|
|
<image class="gn-icon" src="/static/img/star.png"></image>
|
|
<view class="grid-text">我的点赞</view>
|
|
</u-grid-item>
|
|
|
|
<u-grid-item index="/pages/my/user?type=1">
|
|
<image class="gn-icon" src="/static/img/watch.png"></image>
|
|
<view class="grid-text">我的关注</view>
|
|
</u-grid-item>
|
|
|
|
<u-grid-item index="/pages/my/user?type=2">
|
|
<image class="gn-icon" src="/static/img/fans.png"></image>
|
|
<view class="grid-text">我的粉丝</view>
|
|
</u-grid-item>
|
|
<!-- #ifdef MP-WEIXIN -->
|
|
<u-grid-item>
|
|
<button open-type="contact" class="u-reset-button">
|
|
<image class="gn-icon" style="margin-bottom: unset;" src="/static/img/kefu.png"></image>
|
|
<view class="grid-text">客服</view>
|
|
</button>
|
|
</u-grid-item>
|
|
<!-- #endif -->
|
|
<u-grid-item @click="commercialLink">
|
|
<image class="gn-icon" src="/static/img/commercial-licensing.png"></image>
|
|
<view style="color: #e50000;font-size: 12px;margin-bottom: 20rpx;">商业版</view>
|
|
</u-grid-item>
|
|
</u-grid>
|
|
</view>
|
|
<view @click="commercialLink">
|
|
<view class="bottom-info">
|
|
林风社交论坛开源版
|
|
</view>
|
|
<view class="bottom-info-t">
|
|
© www.linfengtech.cn
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 发贴入口 -->
|
|
<add-post-tag></add-post-tag>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import addPostTag from '@/components/add-post-tag/add-post-tag.vue';
|
|
export default {
|
|
components: {
|
|
addPostTag
|
|
},
|
|
data() {
|
|
return {
|
|
userInfo: '',
|
|
hasLogin: false,
|
|
shareCover: 'http://pic.linfeng.tech/test/20220724/9a665bf276a44827ad8ef0b3140a7d1d.png'
|
|
};
|
|
},
|
|
onLoad() {
|
|
//#ifdef MP-WEIXIN
|
|
wx.showShareMenu({
|
|
withShareTicket: true,
|
|
menus: ['shareAppMessage', 'shareTimeline']
|
|
});
|
|
//#endif
|
|
this.getSysInfo()
|
|
},
|
|
onShow() {
|
|
if (uni.getStorageSync('hasLogin')) {
|
|
this.getUserInfo();
|
|
this.hasLogin = true;
|
|
} else {
|
|
this.hasLogin = false;
|
|
}
|
|
},
|
|
onShareAppMessage(res) {
|
|
return {
|
|
title: this.$c.miniappName,
|
|
path: '/pages/index/index',
|
|
imageUrl: this.shareCover
|
|
};
|
|
},
|
|
methods: {
|
|
phoneLogin() {
|
|
uni.navigateTo({
|
|
url: '/pages/login/login'
|
|
});
|
|
},
|
|
wxLogin() {
|
|
uni.navigateTo({
|
|
url: '/pages/login/weixin'
|
|
});
|
|
},
|
|
getUserInfo() {
|
|
this.$H.get('user/userInfo').then(res => {
|
|
this.userInfo = res.result;
|
|
});
|
|
},
|
|
goUser() {
|
|
uni.navigateTo({
|
|
url: '/pages/user/edit'
|
|
});
|
|
},
|
|
toNav(url) {
|
|
uni.navigateTo({
|
|
url: url
|
|
});
|
|
},
|
|
getSysInfo() {
|
|
this.$H.get('system/config').then(res => {
|
|
this.shareCover = res.logo;
|
|
});
|
|
},
|
|
commercialLink() {
|
|
// #ifdef H5
|
|
window.open("https://www.linfengtech.cn")
|
|
// #endif
|
|
// #ifdef MP-WEIXIN
|
|
uni.navigateToMiniProgram({
|
|
appId: 'wx1d4a8967c92bda9b',
|
|
path: 'pages/index/index',
|
|
success: res => {
|
|
console.log("打开成功", res);
|
|
},
|
|
fail: err => {
|
|
console.log(err);
|
|
}
|
|
})
|
|
// #endif
|
|
}
|
|
}
|
|
};
|
|
</script>
|
|
|
|
<style>
|
|
page {
|
|
background-color: #f5f5f5;
|
|
}
|
|
</style>
|
|
<style lang="scss" scoped>
|
|
.head {
|
|
padding: 20rpx;
|
|
background-color: #fff;
|
|
|
|
.sub-txt {
|
|
font-size: 24rpx;
|
|
color: #616161;
|
|
display: block;
|
|
display: -webkit-box;
|
|
-webkit-box-orient: vertical;
|
|
-webkit-line-clamp: 1;
|
|
overflow: hidden;
|
|
}
|
|
|
|
margin-bottom: 20rpx;
|
|
}
|
|
|
|
.userinfo {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 20rpx;
|
|
}
|
|
|
|
.userinfo .username {
|
|
display: flex;
|
|
flex-direction: column;
|
|
margin-left: 20rpx;
|
|
}
|
|
|
|
.nav-text {
|
|
color: #999;
|
|
font-size: 14px;
|
|
margin-bottom: 20rpx;
|
|
}
|
|
|
|
.grid-text {
|
|
color: #999;
|
|
font-size: 12px;
|
|
margin-bottom: 20rpx;
|
|
}
|
|
|
|
.userinfo u-avatar {
|
|
margin-right: 20rpx;
|
|
}
|
|
|
|
.userinfo .arrow-right {
|
|
margin-left: auto;
|
|
}
|
|
|
|
.btn-login {
|
|
margin: 40rpx 0;
|
|
}
|
|
|
|
.gn-icon {
|
|
width: 60rpx;
|
|
height: 60rpx;
|
|
margin-bottom: 20rpx;
|
|
}
|
|
|
|
/*服务按钮*/
|
|
.btn-wrap {
|
|
display: flex;
|
|
margin-top: 30rpx;
|
|
}
|
|
|
|
.btn-wrap .btn-contact {
|
|
background-color: #fff;
|
|
margin-left: 15rpx;
|
|
margin-right: 15rpx;
|
|
padding: 20rpx;
|
|
line-height: unset;
|
|
font-size: 12px;
|
|
color: #999;
|
|
}
|
|
|
|
.btn-wrap .btn-contact:active {
|
|
background-color: #f5f5f5;
|
|
}
|
|
|
|
.btn-wrap .btn-contact .txt {
|
|
margin-top: 20rpx;
|
|
}
|
|
|
|
.btn-wrap .btn-contact::after {
|
|
border: unset;
|
|
position: unset;
|
|
}
|
|
|
|
.icon-size {
|
|
font-size: 50rpx;
|
|
}
|
|
|
|
.block-wrap {
|
|
background-color: #fff;
|
|
border-radius: 20rpx;
|
|
margin: 20rpx;
|
|
overflow: hidden;
|
|
|
|
.block-title {
|
|
background-color: #fff;
|
|
padding: 20rpx;
|
|
}
|
|
}
|
|
.bottom-info {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: #737373;
|
|
font-size: 32rpx;
|
|
font-weight: 600;
|
|
}
|
|
.bottom-info-t{
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: #1f1f1f;
|
|
font-size: 28rpx;
|
|
font-weight: 400;
|
|
}
|
|
</style> |