324 lines
7.9 KiB
Vue
324 lines
7.9 KiB
Vue
<template>
|
||
<view class="user">
|
||
<view class="head" @click="toOthersPage('info')">
|
||
<view class="info">
|
||
<image :src="info.member_avatar + '?' + (new Date().getTime())"></image>
|
||
<view class="name">
|
||
<text>{{info.member_nickname==null?"新用户":info.member_nickname}}</text>
|
||
<text>账号:{{info.member_name}}</text>
|
||
<text class="u-line-2">个性签名:{{info.signature==""?"该用户很懒没有签名!":info.signature}}</text>
|
||
</view>
|
||
</view>
|
||
<image src="/static/image/user/1.png"></image>
|
||
</view>
|
||
<view class="nav" @click="navtos()">
|
||
<text>活动消息</text>
|
||
<image src="/static/image/user/1.png"></image>
|
||
</view>
|
||
<view class="nav" @click="toOthersPage('fans')">
|
||
<text>我的粉丝</text>
|
||
<image src="/static/image/user/1.png"></image>
|
||
</view>
|
||
<view class="nav" @click="toOthersPage('content')">
|
||
<text>内容管理</text>
|
||
<image src="/static/image/user/1.png"></image>
|
||
</view>
|
||
<view class="nav" @click="clearCache">
|
||
<text>清除缓存</text>
|
||
<text>{{ fileSizeString }}</text>
|
||
</view>
|
||
<view class="nav" @click="is_loginout = true">
|
||
<text>退出登录</text>
|
||
<image src="/static/image/user/1.png"></image>
|
||
</view>
|
||
<view class="release-btn" @click="publish">
|
||
<image src="../../static/image/index/publish.png"></image>
|
||
<view class="text">发布</view>
|
||
</view>
|
||
<u-popup v-model="publishstate" mode="bottom">
|
||
<view class="publish">
|
||
<view class="list">
|
||
<view @click="navto('release/tosign')">
|
||
<image src="../../static/image/index/live.png"></image>
|
||
<text>直播</text>
|
||
</view>
|
||
<view @click="navto('release/index')">
|
||
<image src="../../static/image/index/photo.png"></image>
|
||
<text>图文</text>
|
||
</view>
|
||
<view @click="navto('release/video')">
|
||
<image src="../../static/image/index/video.png"></image>
|
||
<text>视频</text>
|
||
</view>
|
||
</view>
|
||
<image src="../../static/image/index/close.png" class="off" @click="close"></image>
|
||
</view>
|
||
</u-popup>
|
||
<u-modal v-model="is_loginout" show-confirm-button show-cancel-button :content="content" @confirm="loginOut"></u-modal>
|
||
<u-toast ref="uToast" />
|
||
</view>
|
||
</template>
|
||
<script>
|
||
export default {
|
||
name:"user",
|
||
data() {
|
||
return {
|
||
publishstate: false,
|
||
is_loginout: false,
|
||
content: "是否退出登录?",
|
||
info:{},
|
||
fileSizeString: "", // 缓存大小
|
||
}
|
||
},
|
||
onShow(){
|
||
this.getmyinfo()
|
||
},
|
||
onLoad() {
|
||
this.getCache();
|
||
const user = uni.getStorageSync('userinfo');
|
||
console.log(user)
|
||
this.imService.login(user.member_id,user.member_nickname,user.member_avatar)
|
||
this.imService.connectIM()
|
||
},
|
||
methods: {
|
||
// 获取缓存
|
||
getCache() {
|
||
let _this = this;
|
||
// #ifdef APP-PLUS
|
||
plus.cache.calculate(function(size) {
|
||
console.log(size);
|
||
let sizeCache = size;
|
||
if (sizeCache == 0) {
|
||
_this.fileSizeString = "0B";
|
||
} else if (sizeCache < 1024) {
|
||
_this.fileSizeString = sizeCache + "B";
|
||
} else if (sizeCache < 1048576) {
|
||
_this.fileSizeString = (sizeCache / 1024).toFixed(2) + "KB";
|
||
} else if (sizeCache < 1073741824) {
|
||
_this.fileSizeString = (sizeCache / 1048576).toFixed(2) + "MB";
|
||
} else {
|
||
_this.fileSizeString = (sizeCache / 1073741824).toFixed(2) + "GB";
|
||
}
|
||
});
|
||
// #endif
|
||
},
|
||
// 清除缓存
|
||
clearCache() {
|
||
// #ifdef APP-PLUS
|
||
uni.showModal({
|
||
title: "确定要清理缓存吗?",
|
||
cancelColor: "#999",
|
||
confirmColor: "#f00",
|
||
success: (res) => {
|
||
// console.log(res);
|
||
if (res.confirm) {
|
||
plus.cache.clear(function(e) {
|
||
console.log(e);
|
||
})
|
||
this.getCache();
|
||
}
|
||
}
|
||
})
|
||
// #endif
|
||
},
|
||
navtos(){
|
||
this.$u.route({
|
||
url:"/pages/messages/list"
|
||
})
|
||
},
|
||
// 退出登录
|
||
loginOut(){
|
||
this.imService.disconnect()
|
||
uni.clearStorage();
|
||
this.$refs.uToast.show({
|
||
title: "退出登陆成功!",
|
||
type: 'success'
|
||
});
|
||
uni.reLaunch({
|
||
url:"../login/login"
|
||
})
|
||
},
|
||
// 获取个人信息
|
||
getmyinfo(){
|
||
let that = this;
|
||
this.$u.api.getshopinfo({
|
||
}).then(res => {
|
||
console.log(res);
|
||
if (res.errCode != 0) {
|
||
this.$refs.uToast.show({
|
||
title: res.message,
|
||
type: 'error'
|
||
});
|
||
} else {
|
||
this.info = res.data.memberInfo
|
||
}
|
||
});
|
||
},
|
||
toOthersPage(url) {
|
||
uni.navigateTo({
|
||
url: '/pages/user/' + url
|
||
});
|
||
},
|
||
// 打开发布弹窗
|
||
publish() {
|
||
this.publishstate = true;
|
||
},
|
||
// 关闭发布弹窗
|
||
close() {
|
||
this.publishstate = false;
|
||
},
|
||
// 跳转发布页面
|
||
navto(url) {
|
||
// // 判断直播权限
|
||
// if(url=="release/tosign"){
|
||
// this.$u.api.canlive({}).then(res => {
|
||
// console.log(JSON.stringify(res));
|
||
// if (res.errCode != 0) {
|
||
// this.$refs.uToast.show({
|
||
// title: res.message,
|
||
// type: 'error'
|
||
// });
|
||
// } else {
|
||
// if(res.data.live_stataes==0){
|
||
// this.$u.route({
|
||
// url: `/pages/${url}`
|
||
// });
|
||
// }else{
|
||
// this.$refs.uToast.show({
|
||
// title: "当前用户没有直播权限",
|
||
// type: 'error'
|
||
// });
|
||
// }
|
||
// }
|
||
// });
|
||
// }else{
|
||
this.$u.route({
|
||
url: `/pages/${url}`
|
||
});
|
||
// }
|
||
|
||
|
||
}
|
||
},
|
||
}
|
||
</script>
|
||
<style lang="scss" scoped>
|
||
.release-btn {
|
||
position: fixed;
|
||
bottom: 475rpx;
|
||
right: 30rpx;
|
||
width: 100rpx;
|
||
height: 100rpx;
|
||
background: rgba(255, 120, 15, 1);
|
||
box-shadow: 0rpx 6rpx 6rpx 0rpx rgba(255, 120, 15, 0.22);
|
||
border-radius: 50%;
|
||
display: flex;
|
||
flex-direction: column;
|
||
align-items: center;
|
||
justify-content: center;
|
||
> image {
|
||
width: 36rpx;
|
||
height: 36rpx;
|
||
flex-shrink: 0;
|
||
margin-bottom: 2rpx;
|
||
}
|
||
.text {
|
||
font-size: 20rpx;
|
||
color: rgba(255, 255, 255, 1);
|
||
}
|
||
}
|
||
.publish {
|
||
display: flex;
|
||
flex-direction: column;
|
||
justify-content: space-between;
|
||
align-items: center;
|
||
padding: 50rpx 84rpx 31rpx 78rpx;
|
||
image {
|
||
}
|
||
.list {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
width: 100%;
|
||
> view {
|
||
display: flex;
|
||
flex-direction: column;
|
||
align-items: center;
|
||
> image {
|
||
width: 94rpx;
|
||
height: 80rpx;
|
||
}
|
||
> text {
|
||
margin-top: 10rpx;
|
||
font-size: 28rpx;
|
||
color: #333;
|
||
font-weight: 400;
|
||
}
|
||
}
|
||
}
|
||
.off {
|
||
margin-top: 81rpx;
|
||
width: 37rpx;
|
||
height: 37rpx;
|
||
}
|
||
}
|
||
.user{
|
||
min-height: calc(100vh - var(--window-top));
|
||
background: #ececec;
|
||
.head{
|
||
width: 100%;
|
||
height: 220rpx;
|
||
background-color: #FF780F;
|
||
padding: 0 30rpx;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
.info{
|
||
display: flex;
|
||
align-items: center;
|
||
|
||
>image{
|
||
flex-shrink: 0;
|
||
width: 110rpx;
|
||
height: 110rpx;
|
||
border-radius: 50%;
|
||
}
|
||
.name{
|
||
font-size: 24rpx;
|
||
color: #fff;
|
||
display: flex;
|
||
flex-direction: column;
|
||
margin-left: 26rpx;
|
||
>text{
|
||
margin-top: 14rpx;
|
||
}
|
||
>text:first-child{
|
||
font-size: 28rpx;
|
||
margin-top: 0;
|
||
}
|
||
}
|
||
|
||
}
|
||
>image{
|
||
width: 12rpx;
|
||
height: 20rpx;
|
||
}
|
||
}
|
||
.nav{
|
||
width: 100%;
|
||
height: 100rpx;
|
||
display: flex;
|
||
padding: 30rpx;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
font-size: 30rpx;
|
||
margin-bottom: 2rpx;
|
||
color:#333;
|
||
background-color: #fff;
|
||
>image{
|
||
width: 13rpx;
|
||
height: 25rpx;
|
||
}
|
||
}
|
||
}
|
||
</style> |