97 lines
2.9 KiB
Vue
97 lines
2.9 KiB
Vue
<template>
|
|
<view class="header flex row-between">
|
|
<router-link class="photo" to="/bundle_b/pages/published_works/published_works">
|
|
<u-image src="/static/images/icon_photo.png" width="60" height="60" borderRadius="50%"></u-image>
|
|
</router-link>
|
|
<view class="mainnav flex">
|
|
<view class="mainnav--item" :class="{'active': current === 0}" @click="changeNav(0)">
|
|
<text>关注</text>
|
|
<text v-if="hasNew" class="new"></text>
|
|
</view>
|
|
<view class="mainnav--item" :class="{'active': current === 1}" @click="changeNav(1)">
|
|
<text>发现</text>
|
|
</view>
|
|
</view>
|
|
<view class="user flex row-right">
|
|
<router-link to="/bundle_b/pages/community_search/community_search">
|
|
<u-icon v-if="current==0" name="search" size="34" class="m-r-20"></u-icon>
|
|
</router-link>
|
|
<router-link to="/bundle_b/pages/community_user/community_user">
|
|
<u-image :src="userInfo.avatar?userInfo.avatar:'/static/images/portrait_empty.png'" width="60" height="60" borderRadius="50%"></u-image>
|
|
</router-link>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import {
|
|
mapGetters
|
|
} from "vuex"
|
|
export default {
|
|
name: 'like-header',
|
|
props: {
|
|
current: {
|
|
type: Number,
|
|
default: 1
|
|
}
|
|
},
|
|
data() {
|
|
return {
|
|
hasNew: false
|
|
}
|
|
},
|
|
created() {
|
|
uni.$on('hasNew', item => {
|
|
this.hasNew = item
|
|
})
|
|
},
|
|
methods: {
|
|
changeNav(index) {
|
|
if(!this.isLogin) return this.$Router.push('/pages/login/login')
|
|
this.$emit('change', index);
|
|
}
|
|
},
|
|
computed: {
|
|
...mapGetters(['userInfo'])
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.header {
|
|
padding: 16rpx 24rpx;
|
|
background-color: $-color-white;
|
|
.photo {
|
|
width: 120rpx;
|
|
}
|
|
|
|
.mainnav {
|
|
&--item {
|
|
width: 120rpx;
|
|
font-size: 32rpx;
|
|
font-weight: 500;
|
|
text-align: center;
|
|
color: #BBBBBB;
|
|
transition: all .2s linear;
|
|
|
|
.new {
|
|
width: 10rpx;
|
|
height: 10rpx;
|
|
border-radius: 50%;
|
|
display: inline-block;
|
|
margin-bottom: 24rpx;
|
|
background-color: $-color-primary;
|
|
}
|
|
}
|
|
|
|
.active {
|
|
color: #000000;
|
|
}
|
|
}
|
|
|
|
.user {
|
|
width: 120rpx;
|
|
}
|
|
}
|
|
</style>
|