267 lines
6.2 KiB
Vue
267 lines
6.2 KiB
Vue
<template>
|
||
<view class="user">
|
||
<view class="head" @click="toOthersPage('info')">
|
||
<view class="info">
|
||
<image :src="info.member_avatar"></image>
|
||
<view class="name">
|
||
<text>{{info.member_nickname==null?"新用户":info.member_nickname}}</text>
|
||
<text>账号:{{info.member_name}}</text>
|
||
<text>个性签名:{{info.signature==""?"该用户很懒没有签名!":info.signature}}</text>
|
||
</view>
|
||
</view>
|
||
<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="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:{},
|
||
}
|
||
},
|
||
onShow(){
|
||
this.getmyinfo()
|
||
},
|
||
onLoad() {
|
||
const user = uni.getStorageSync('userinfo');
|
||
console.log(user)
|
||
this.imService.login(user.userId,user.member_nickname,user.member_avatar)
|
||
this.imService.connectIM()
|
||
},
|
||
methods: {
|
||
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{
|
||
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> |