talk_appAmin/pages/index.vue

586 lines
16 KiB
Vue
Raw Normal View History

2024-04-23 23:01:35 +08:00
<template>
2024-05-09 15:44:03 +08:00
<view class="content">
<!-- 顶部导航栏 -->
2024-05-11 09:54:51 +08:00
<u-navbar leftText=" " title=" " :placeholder="true" :safeAreaInsetTop="true" :bgColor="bgColor">
<template class="img1BOX" #left>
2024-05-09 15:44:03 +08:00
<image src="../static/images/icon/tu2-4.png" class="img1"></image>
<image src="../static/images/icon/tu2-5.png" class="img2"></image>
2024-05-11 09:54:51 +08:00
</template>
<template class="img2Box" #center>
<view class="qiehuanBox">
<u-tabs lineColor="#B3D7FF" lineWidth="24" lineHeight="4"
2024-05-09 15:44:03 +08:00
:activeStyle="{ fontWeight: '600rpx',fontSize:'40rpx',color: '#000000'}"
:inactiveStyle="{fontWeight: '400rpx',fontSize:'36rpx',color: '#999999'}"
:list="list1" @click="click"></u-tabs>
2024-05-07 21:28:47 +08:00
</view>
2024-05-11 09:54:51 +08:00
</template>
</u-navbar>
2024-05-09 15:44:03 +08:00
<view class="bgc"></view>
<!-- 搜索栏 -->
<view class="sousuoBox1 flex alignCenter justifyBetween">
<view class="sousuoBox flex alignCenter justifyBetween">
<view class="souBOx flex alignCenter" @click="toEarch">
<image src="../static/images/icon/tu2-2.png" class="img3"></image>
<view class="shuruText">在食堂捡到一张饭卡</view>
2024-05-07 21:28:47 +08:00
</view>
2024-05-09 15:44:03 +08:00
<image src="../static/images/icon/tu2-3.png" class="img4"></image>
2024-05-07 21:28:47 +08:00
</view>
2024-05-09 15:44:03 +08:00
<view class="category-dropdown flex alignCenter">
<text class="text1 flex alignCenter">热门</text>
<image src="../static/images/icon/tu2-1.png" class="img5 flex alignCenter"></image>
2024-05-07 21:28:47 +08:00
</view>
</view>
2024-05-09 15:44:03 +08:00
<view class="center-content">
<!-- 关注 -->
<view class="" v-if="viewIndex == 0">
<view class="center-content-focus">
<text class="center-content-focus-text">我关注的人</text>
<view class="center-content-focus-list">
<u-scroll-list :indicator='false'>
<view class="flex alignCenter justifyBetween">
<view class="center-content-focus-item" v-for="(item, index) in focusList" :key="index">
<u-avatar class="center-content-focus-item-avatat" size="120rpx" :src="item.avatar"></u-avatar>
<text class="center-content-focus-item-text">{{item.uname}}</text>
</view>
</view>
</u-scroll-list>
2024-05-08 10:16:46 +08:00
</view>
2024-05-07 21:28:47 +08:00
</view>
2024-05-09 15:44:03 +08:00
<view class="center-content-focus-line"></view>
2024-05-07 21:28:47 +08:00
</view>
2024-05-09 15:44:03 +08:00
<!-- 话题 -->
<view class="center-content-post" v-for="(item, index) in postList" :key="index">
<!-- <view class="center-content-post-head flex alignCenter justifyBetween">
<u-avatar size="84rpx" :src="item.avatar"></u-avatar>
<view class="center-content-post-head-title">
<text class="center-content-post-head-title-uname">{{item.uname}}</text>
<text class="center-content-post-head-title-timeAddress">{{item.createTime + '·' + item.address}}</text>
2024-05-09 12:19:48 +08:00
</view>
2024-05-09 15:44:03 +08:00
<text v-if="item.isFocus"></text>
<text>已关注</text>
</view> -->
<view class="center-content-post-padding">
<view class="center-content-post-head">
<!-- 左对齐 -->
<view class="flex alignCenter">
<u-avatar size="84rpx" :src="item.avatar"></u-avatar>
<view class="center-content-post-head-title">
<text class="center-content-post-head-title-uname">{{item.uname}}</text>
<text class="center-content-post-head-title-timeAddress">{{item.createTime + '·' + item.address}}</text>
</view>
</view>
<!-- 右对齐 -->
<view class="flex alignCenter">
<text class="no-focus-text" v-if="item.isFocus" @click="addFocus(index)"></text>
<text class="focus-text" v-else @click="cancelFocus(index)"></text>
</view>
2024-05-09 12:19:48 +08:00
</view>
2024-05-09 15:44:03 +08:00
<text class="center-content-post-title" v-if="item.title">{{item.title}}</text>
<text class="center-content-post-content">{{item.content}}</text>
<u-album :urls="item.media" singleSize="660rpx" multipleSize="220rpx" space="10rpx" maxCount="3"></u-album>
<!-- tab -->
<view class="center-content-post-tab" style="display: flex;">
<text
class="center-content-post-tab-text"
v-for="(tabItem, index2) in item.tab" :key="index2"
:text="'#' + tabItem">{{'#' + tabItem}}</text>
</view>
<view class="post-list-bottom" style="display: flex; justify-content: space-between;">
<!-- 靠左对齐 -->
<view class="">
<view class="p-item">
<image style="width: 40rpx; height: 40rpx;" src="../static/images/icon/tu2-9.png" mode=""></image>
<text class="count">{{ item.transmitCount }}</text>
2024-05-09 12:19:48 +08:00
</view>
</view>
2024-05-09 15:44:03 +08:00
<!-- 靠右对齐 -->
<view class="flex alignCenter">
<view v-if="item.isLike" class="p-item" @click.stop="cancelCollection(index)">
<image style="width: 40rpx; height: 40rpx;" src="../static/images/icon/tu3-8.png" mode=""></image>
<text class="count">{{ item.likeCount }}</text>
2024-05-09 12:19:48 +08:00
</view>
2024-05-09 15:44:03 +08:00
<!-- 靠右对齐 -->
<view v-if="!item.isLike" class="p-item" @click.stop="addCollection(index)">
<image style="width: 40rpx; height: 40rpx;" src="../static/images/icon/tu3-7.png" mode=""></image>
<text class="count">{{ item.likeCount }}</text>
2024-05-09 12:19:48 +08:00
</view>
2024-05-09 15:44:03 +08:00
<!-- 靠右对齐 -->
2024-05-09 12:19:48 +08:00
<view class="p-item margin50">
2024-05-09 15:44:03 +08:00
<image style="width: 40rpx; height: 40rpx;" src="../static/images/icon/tu3-3.png" mode=""></image>
<text class="count">{{ item.commentCount }}</text>
2024-05-09 12:19:48 +08:00
</view>
2024-05-09 15:44:03 +08:00
<!-- 靠右对齐 -->
<view class="p-item margin50" v-if="item.ifFavorite" @click.stop="cancelFavorite(index)">
<image style="width: 40rpx; height: 40rpx;" src="../static/images/icon/tu3-2.png" mode=""></image>
<text class="count">{{ item.favoriteCount }}</text>
</view>
<!-- 靠右对齐 -->
<view class="p-item margin50" v-if="!item.ifFavorite" @click.stop="addFavorite(index)">
<image style="width: 40rpx; height: 40rpx;" src="../static/images/icon/tu3-1.png" mode=""></image>
<text class="count">{{ item.favoriteCount }}</text>
2024-05-09 12:19:48 +08:00
</view>
</view>
2024-05-09 15:44:03 +08:00
2024-05-09 12:19:48 +08:00
</view>
2024-05-09 15:44:03 +08:00
2024-05-09 12:19:48 +08:00
</view>
2024-05-09 15:44:03 +08:00
2024-05-07 21:28:47 +08:00
2024-05-09 15:44:03 +08:00
<u-line></u-line>
</view>
</view>
2024-04-23 23:01:35 +08:00
2024-05-09 12:19:48 +08:00
</view>
</template>
2024-05-07 21:28:47 +08:00
2024-05-09 15:44:03 +08:00
<script>
export default {
data() {
return {
viewIndex: 0,
bgColor: 'rgba(170, 0, 0, 0)',
list1: [{
name: '关注',
}, {
name: '推荐',
}],
focusList: [{
avatar: 'https://k.sinaimg.cn/n/sports/transform/400/w600h600/20220130/dd38-eed53ba750d1d8c87eca8b57eda879a5.jpg/w700d1q75cms.jpg?by=cms_fixed_width',
uname: '爱吃饭的小张'
},{
avatar: 'https://oss.1381801.com/forum/202308/11/093616ccxkx99wchwrrw1a.jpg',
uname: '喜欢你没道理'
},{
avatar: 'https://picx.zhimg.com/v2-02f89d05a781ffed9fd2e32654d93135_720w.jpg?source=172ae18b',
uname: '恋爱60秒'
},{
avatar: 'https://www.tboxn.com/wp-content/uploads/2022/11/%E5%A4%B4%E5%83%8F.png',
uname: '爱吃饭的小张'
}],
postList: [{
avatar: 'https://k.sinaimg.cn/n/sports/transform/400/w600h600/20220130/dd38-eed53ba750d1d8c87eca8b57eda879a5.jpg/w700d1q75cms.jpg?by=cms_fixed_width',
uname: '爱吃饭的小张',
createTime: '11分钟前',
address: '南开大学',
isFocus: false,
title: '怎么评论爱德华·艾尔加这位音乐家及其他的作品,欢迎大家发表自己的看法?',
content: '八年前,学弟在工地上杀了一个工友,杀人前,他给警察打了电话,预告杀人的时间和地点,并......',
type: '1',
media: [
'https://tu.sioe.cn/gj/qiege/image.jpg',
'https://picx.zhimg.com/v2-3b4fc7e3a1195a081d0259246c38debc_720w.jpg?source=172ae18b',
'https://tu.sioe.cn/gj/qiege/image.jpg',
],
tab: [
'学术讨论组',
'校园风景'
],
transmitCount: 136,
isLike: true,
likeCount: 999,
commentCount: 136,
ifFavorite: true,
favoriteCount: 136
},{
avatar: 'https://oss.1381801.com/forum/202308/11/093616ccxkx99wchwrrw1a.jpg',
uname: '喜欢你没道理',
createTime: '2024-5-5',
address: '南开大学',
isFocus: false,
// title: '怎么评论爱德华·艾尔加这位音乐家及其他的作品,欢迎大家发表自己的看法?',
content: '是一个中文互联网高质量问答社区和创作者聚集的原创内容平台于2011年1月正式上线',
type: '1',
media: [
'https://tu.sioe.cn/gj/qiege/image.jpg',
],
tab: [
'校园风景'
],
transmitCount: 13,
isLike: false,
likeCount: 99,
commentCount: 13,
ifFavorite: true,
favoriteCount: 13
}]
2024-05-07 21:28:47 +08:00
}
2024-05-09 15:44:03 +08:00
},
onLoad() {
},
methods: {
toEarch() {
console.log()
this.$tab.navigateTo('/pages/search/index')
},
rightClick() {
console.log('rightClick');
},
leftClick() {
console.log('leftClick');
},
click(item) {
console.log('item', item);
this.viewIndex = item.index;
},
cancelCollection(index) {
console.log(111,index)
this.postList[index].likeCount -= 1;
this.postList[index].isLike = !this.postList[index].isLike;
},
addCollection(index) {
console.log(111,index)
this.postList[index].likeCount += 1;
this.postList[index].isLike = !this.postList[index].isLike;
},
cancelFavorite(index) {
console.log(111,index)
this.postList[index].favoriteCount -= 1;
this.postList[index].ifFavorite = !this.postList[index].ifFavorite;
},
addFavorite(index) {
console.log(111,index)
this.postList[index].favoriteCount += 1;
this.postList[index].ifFavorite = !this.postList[index].ifFavorite;
},
cancelFocus(index) {
console.log(111,index)
this.postList[index].isFocus = !this.postList[index].isFocus;
2024-05-07 21:28:47 +08:00
}
2024-05-09 15:44:03 +08:00
,
addFocus(index) {
console.log(111,index)
this.postList[index].isFocus = !this.postList[index].isFocus;
2024-05-07 21:28:47 +08:00
}
}
}
2024-05-09 15:44:03 +08:00
</script>
2024-05-07 21:28:47 +08:00
2024-05-11 09:54:51 +08:00
<style lang="scss" scoped>
// 微信小程序配置
:deep(.u-navbar__content__left.data-v-f631659b, .u-navbar__content__right.data-v-f631659b){
padding-left: 32rpx !important;
}
// 安卓app配置
:deep(.u-navbar__content__left[data-v-f631659b], .u-navbar__content__right[data-v-f631659b]){
padding-left: 32rpx !important;
}
.img1BOX{
padding-left: 32rpx;
display: flex;
align-content: center;
}
.img1{
width: 46rpx;
height: 46rpx;
margin-right: 28rpx;
}
.img2{
width: 46rpx;
height: 46rpx;
}
2024-05-09 15:44:03 +08:00
.content {
position: relative;
2024-05-11 09:54:51 +08:00
.img2Box{
.qiehuanBox{
padding-left: 32rpx;
display: flex;
align-content: center;
justify-content: center;
}
}
2024-05-09 12:19:48 +08:00
}
2024-05-09 15:44:03 +08:00
.u-scroll-list.data-v-fea2b4f4 {
padding-bottom: 0px !important;
2024-05-07 21:28:47 +08:00
}
2024-05-09 15:44:03 +08:00
.u-tabs__wrapper__nav__line[data-v-0de61367]{
position: absolute !important;
bottom: 0rpx !important;
2024-05-07 21:28:47 +08:00
}
2024-05-09 15:44:03 +08:00
/* .u-navbar__content[data-v-75dad532] {
display: flex;
flex-direction: row;
align-items: center;
height: 44px;
background-color: linear-gradient(90deg, rgba(170, 0, 0, 1.0) 100%, rgba(255, 255, 255, 0) 100%) !important;
position: relative;
justify-content: center;
} */
2024-05-11 09:54:51 +08:00
2024-05-09 15:44:03 +08:00
.bgc{
width: 750rpx;
height: 356rpx;
background: linear-gradient(90deg, rgb(201, 246, 245), rgb(248, 248, 226));
position: fixed;
top: 0rpx;
left: 0rpx;
z-index: -1;
}
.sousuoBox1{
margin: 16rpx 32rpx;
width: auto;
}
.sousuoBox{
width: 538rpx;
height: 60rpx;
border: #B3D7FF solid 2rpx;
border-radius: 30rpx 30rpx 30rpx 30rpx;
background: #ffffff80;
}
.souBOx{
margin-left: 32rpx;
}
.img3{
width: 35rpx;
height: 35rpx;
}
.img4{
width: 32rpx;
height: 32rpx;
margin-right: 32rpx;
}
.category-dropdown {
margin-left: 42rpx;
}
.text1{
font-weight: 400;
width: 60rpx;
height: 31rpx;
font-size: 30rpx;
text-align: left;
color: #1B1B1B 100%;
margin-right: 8rpx;
}
.img5{
width: 26rpx;
height: 16rpx;
}
.shuruText{
font-weight: 400;
font-size: 28rpx;
text-align: left;
color: #999999;
margin-left: 18rpx;
}
.center-content{
/* width: 750rpx; */
/* height: 2592rpx; */
border-radius: 64rpx 64rpx 0 0;
background: #ffffff;
margin-top: 40rpx;
}
.center-content-focus{
padding: 50rpx 0;
}
.center-content-focus-text{
font-weight: 400;
width: 174rpx;
height: 35rpx;
font-size: 34rpx;
text-align: left;
color: #000000;
display: block;
/* padding-top: 52rpx; */
margin-left: 32rpx;
margin-bottom: 30rpx;
}
.center-content-focus-list {
margin-left: 32rpx;
margin-bottom: 0;
padding-bottom: 0px !important;
}
.u-scroll-list.data-v-e2a26316 {
padding-bottom: 0px !important;
}
.center-content-focus-item{
/* flex-direction: column; */
display: flex;
flex-direction: column;
align-items: center; /* 水平居中对齐 */
text-align: center; /* 文字水平居中对齐 */
width: 160rpx;
/* height: 160rpx; */
margin-right: 44rpx;
}
.center-content-focus-item-avatat{
width: 120rpx !important;
height: 120rpx !important;
background: #999999 !important;
margin-bottom: 16rpx !important;
}
.center-content-focus-item-text{
font-weight: 400;
width: 162rpx;
height: 28rpx;
font-size: 26rpx;
text-align: center;
color: #999999;
margin-top: 16rpx;
}
.center-content-focus-line{
height: 16rpx;
background: #e5e5e5;
}
.center-content-post {
}
.center-content-post-padding {
padding: 46rpx 32rpx;
}
.center-content-post-head {
display: flex;
justify-content: space-between;
}
.center-content-post-head-title {
display: flex;
flex-direction: column;
margin-left: 20rpx;
}
.center-content-post-head-title-uname {
font-weight: 400;
font-size: 30rpx;
text-align: left;
color: #000000;
align-self: flex-start; /* 垂直起始对齐 */
margin-bottom: 20rpx;
}
.center-content-post-head-title-timeAddress {
font-weight: 400;
font-size: 30rpx;
text-align: left;
color: #999999;
align-self: flex-end; /* 垂直结束对齐 */
}
.no-focus-text {
font-weight: 400;
width: 58rpx;
height: 29rpx;
font-size: 28rpx;
text-align: left;
color: #3477FC;
}
.focus-text {
font-weight: 400;
/* width: 58rpx; */
height: 29rpx;
font-size: 28rpx;
text-align: left;
color: #2553b4;
}
.center-content-post-title{
display: block;
font-weight: 600;
/* width: 670rpx; */
height: 80rpx;
font-size: 32rpx;
text-align: left;
color: #000000 100%;
margin-top: 30rpx;
display: -webkit-box; /* 将文本视为弹性盒子 */
-webkit-line-clamp: 2; /* 设置最大行数 */
-webkit-box-orient: vertical; /* 垂直方向排列文本 */
overflow: hidden; /* 隐藏超出部分 */
}
.center-content-post-content{
display: block;
font-weight: 400;
/* width: 670rpx; */
height: 80rpx;
font-size: 32rpx;
text-align: left;
color: #000000;
margin-top: 30rpx;
margin-bottom: 34rpx;
display: -webkit-box; /* 将文本视为弹性盒子 */
-webkit-line-clamp: 2; /* 设置最大行数 */
-webkit-box-orient: vertical; /* 垂直方向排列文本 */
overflow: hidden; /* 隐藏超出部分 */
}
.u-album__row[data-v-723ad357] {
justify-content: center !important;
}
.u-album__row.data-v-723ad357 {
justify-content: center !important;
/* height: 200rpx !important; */
}
.data-v-723ad357 {
border-radius: 20rpx 20rpx 20rpx 20rpx;
/* width: 200rpx !important;
height: 200rpx !important; */
}
.center-content-post-tab{
margin-top: 38rpx;
margin-bottom: 54rpx;
}
2024-05-09 12:19:48 +08:00
2024-05-09 15:44:03 +08:00
.post-list-bottom {
display: flex;
justify-content: center; /* 水平居中 */
}
2024-05-09 12:19:48 +08:00
.p-item {
2024-05-09 15:44:03 +08:00
display: flex;
align-items: center; /* 垂直居中 */
justify-content: center; /* 水平居中 */
2024-05-07 21:28:47 +08:00
}
2024-05-09 15:44:03 +08:00
.center-content-post-tab-text{
font-weight: 400;
/* width: 139rpx; */
height: 25rpx;
font-size: 24rpx;
text-align: left;
color: #3477FC;
/* width: 130rpx; */
height: 44rpx;
border-radius: 10rpx 10rpx 10rpx 10rpx;
background: #f7f8fa;
/* margin-left: 50rpx; */
2024-05-07 21:28:47 +08:00
}
2024-05-09 15:44:03 +08:00
.center-content-post-tab-text:nth-child(2) {
/* 您的样式 */
margin-left: 50rpx; /* 添加额外的左边距 */
2024-05-07 21:28:47 +08:00
}
2024-05-09 15:44:03 +08:00
.margin50 {
margin-left: 50rpx; /* 添加额外的左边距 */
}
.count{
font-weight: 400;
width: 47rpx;
/* height: 23rpx; */
font-size: 28rpx;
text-align: left;
color: #787878;
2024-05-07 21:28:47 +08:00
}
2024-05-09 12:19:48 +08:00
2024-05-07 21:28:47 +08:00
</style>