2024-06-05 19:48:15 +08:00
|
|
|
|
<template>
|
|
|
|
|
<view>
|
|
|
|
|
<PostView :postValue="postValue" :postViewIndex="1" :postViewType="1"></PostView>
|
|
|
|
|
<view class="center-content-focus-line"></view>
|
|
|
|
|
<view class="comment">
|
|
|
|
|
<view class="flex justifyBetween alignCenter commentTop">
|
2024-06-15 00:26:10 +08:00
|
|
|
|
<text class="commentLabel">{{"全部评论" + (postValue.commentCount != 0 ? "(" + postValue.commentCount + ")" : "")}}</text>
|
2024-06-05 19:48:15 +08:00
|
|
|
|
<text class="report">举报</text>
|
|
|
|
|
</view>
|
2024-06-15 00:26:10 +08:00
|
|
|
|
<view v-if="!postCommentList.length" class="no-comment">
|
2024-06-05 19:48:15 +08:00
|
|
|
|
<image class="no-comment-img" src="../../../static/images/icon/no_comment.png" mode=""></image>
|
|
|
|
|
<text class="no-comment-text">暂无评论,快去做评论第一人吧!</text>
|
|
|
|
|
<view class="no-comment-bt">
|
2024-06-15 00:26:10 +08:00
|
|
|
|
<text class="no-comment-bt-text" @click="toInput()">快去抢沙发</text>
|
2024-06-05 19:48:15 +08:00
|
|
|
|
</view>
|
|
|
|
|
</view>
|
2024-06-15 00:26:10 +08:00
|
|
|
|
<view v-else class="have-comment" v-for="(item, index) in postCommentList" :key="index">
|
2024-06-06 19:36:53 +08:00
|
|
|
|
<view class="flex alignCenter">
|
|
|
|
|
<!-- 头像 -->
|
|
|
|
|
<view class="have-comment-avatar-container">
|
2024-06-15 00:26:10 +08:00
|
|
|
|
<u-avatar class="have-comment-avatar-1" size="60rpx" :src="getAvatar(item.avatar)"></u-avatar>
|
|
|
|
|
<image v-if="item.isOfficial" class="have-comment-official-1"
|
|
|
|
|
src="../../../static/images/icon/tu3-6.png"></image>
|
2024-06-06 19:36:53 +08:00
|
|
|
|
</view>
|
|
|
|
|
<view class="flex flexColumn">
|
2024-06-15 00:26:10 +08:00
|
|
|
|
<text class="have-comment-uname">{{item.nickName}}</text>
|
2024-06-06 19:36:53 +08:00
|
|
|
|
<text class="have-comment-address">{{item.address}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
<view class="have-comment-content">
|
|
|
|
|
<text class="have-comment-content-text-1">{{item.content}}</text>
|
|
|
|
|
<view class="have-comment-content-text-2">
|
2024-06-15 00:26:10 +08:00
|
|
|
|
<text>{{timeAgo(item.createTime)}}</text>
|
|
|
|
|
<text class="have-comment-content-text-2-hf" @click="toAnswerRoot(item, index)">回复</text>
|
2024-06-06 19:36:53 +08:00
|
|
|
|
</view>
|
|
|
|
|
</view>
|
2024-06-15 00:26:10 +08:00
|
|
|
|
<view class="" v-if="item.answerCommentAllCount != 0">
|
|
|
|
|
<view v-if="item.deployment" class="have-comment-answer"
|
|
|
|
|
v-for="(answer, answerIndex) in item.answerCommentList.slice(0, item.answerCommentDisplayCount)" :key="answerIndex">
|
2024-06-06 19:36:53 +08:00
|
|
|
|
<view class="flex alignCenter">
|
|
|
|
|
<!-- 头像 -->
|
|
|
|
|
<view class="have-comment-answer-avatar-container">
|
2024-06-15 00:26:10 +08:00
|
|
|
|
<u-avatar class="have-comment-answer-avatar-1" size="48rpx"
|
|
|
|
|
:src="getAvatar(answer.avatar)"></u-avatar>
|
|
|
|
|
<image v-if="answer.isOfficial" class="have-comment-answer-official-1"
|
|
|
|
|
src="../../../static/images/icon/tu3-6.png"></image>
|
2024-06-06 19:36:53 +08:00
|
|
|
|
</view>
|
2024-06-09 17:08:02 +08:00
|
|
|
|
<view class="flex alignCenter justifyBetween">
|
2024-06-15 00:26:10 +08:00
|
|
|
|
<text class="have-comment-answer-uname">{{answer.nickName}}</text>
|
2024-06-09 17:08:02 +08:00
|
|
|
|
<!-- <text v-if="answer.toUserName" class="have-comment-answer-uname">-></text> -->
|
2024-06-15 00:26:10 +08:00
|
|
|
|
<image v-if="answer.toUserName" class="have-comment-answer-uname-img"
|
|
|
|
|
src="../../../static/images/icon/ring-1.png"></image>
|
|
|
|
|
<text v-if="answer.toUserName"
|
|
|
|
|
class="have-comment-answer-uname">{{answer.toUserName}}</text>
|
2024-06-09 17:08:02 +08:00
|
|
|
|
</view>
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
2024-06-06 19:36:53 +08:00
|
|
|
|
</view>
|
|
|
|
|
<view class="have-comment-answer-content">
|
|
|
|
|
<text class="have-comment-answer-content-text-1">{{answer.content}}</text>
|
|
|
|
|
<view class="have-comment-answer-content-text-2">
|
2024-06-15 00:26:10 +08:00
|
|
|
|
<text>{{timeAgo(answer.createTime)}}</text>
|
|
|
|
|
<text class="have-comment-answer-content-text-2-hf"
|
|
|
|
|
@click="toAnswerSon(answer, index)">回复</text>
|
2024-06-06 19:36:53 +08:00
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
2024-06-09 17:08:02 +08:00
|
|
|
|
<view class="have-comment-answer-deploy flex alignCenter">
|
|
|
|
|
<up-line class="have-comment-answer-line" length="40rpx"></up-line>
|
2024-06-15 00:26:10 +08:00
|
|
|
|
<view class="have-comment-answer-deploy-1 flex alignCenter" @click="deploymentAnswer(index)"
|
|
|
|
|
v-if="!item.deployment">
|
2024-06-12 22:20:36 +08:00
|
|
|
|
<text class="deploymentAnswer-text">展开{{item.answerCommentAllCount}}条回复</text>
|
2024-06-15 00:26:10 +08:00
|
|
|
|
<image class="have-comment-answer-img-1" src="../../../static/images/icon/deployment-1.png"
|
|
|
|
|
mode=""></image>
|
2024-06-09 17:08:02 +08:00
|
|
|
|
</view>
|
2024-06-15 00:26:10 +08:00
|
|
|
|
<view class="have-comment-answer-deploy-1 flex alignCenter" @click="loadMoreAnswers(index)"
|
|
|
|
|
v-if="item.deployment && item.answerCommentDisplayCount < item.answerCommentAllCount">
|
|
|
|
|
<text class="deploymentAnswer-text">展开回复</text>
|
|
|
|
|
<image class="have-comment-answer-img-1" src="../../../static/images/icon/deployment-1.png"
|
|
|
|
|
mode=""></image>
|
2024-06-09 17:08:02 +08:00
|
|
|
|
</view>
|
2024-06-15 00:26:10 +08:00
|
|
|
|
<view class="have-comment-answer-deploy-1 flex alignCenter" v-if="item.deployment"
|
|
|
|
|
@click="putAnswer(index)">
|
2024-06-12 22:20:36 +08:00
|
|
|
|
<text class="deploymentAnswer-text">收起</text>
|
2024-06-15 00:26:10 +08:00
|
|
|
|
<image class="have-comment-answer-img-2" src="../../../static/images/icon/deployment-1.png"
|
|
|
|
|
mode=""></image>
|
2024-06-09 17:08:02 +08:00
|
|
|
|
</view>
|
|
|
|
|
</view>
|
2024-06-06 19:36:53 +08:00
|
|
|
|
</view>
|
2024-06-12 22:20:36 +08:00
|
|
|
|
<view class="have-comment-line">
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
2024-06-12 22:20:36 +08:00
|
|
|
|
</view>
|
2024-06-06 19:36:53 +08:00
|
|
|
|
</view>
|
2024-06-05 19:48:15 +08:00
|
|
|
|
</view>
|
|
|
|
|
</view>
|
2024-06-06 19:36:53 +08:00
|
|
|
|
<!-- 评论区输入框 -->
|
|
|
|
|
<up-popup :show="showInput" duration="0" @close="close" @open="open" class="comment-po">
|
2024-06-08 18:57:20 +08:00
|
|
|
|
<view class="flex justifyBetween comment-input" :style="{ marginBottom: bottomVal + 26 + 'px' }">
|
2024-06-06 19:36:53 +08:00
|
|
|
|
<view class="input-in flex alignCenter justifyCenter">
|
2024-06-15 00:26:10 +08:00
|
|
|
|
<input class="input-in-text" v-if="showInputText" focus="true" maxlength="55"
|
|
|
|
|
:placeholder="placeholderInput" @input="onKeyInput" :adjust-position="false" />
|
2024-06-06 19:36:53 +08:00
|
|
|
|
</view>
|
|
|
|
|
<view class="input-bt flex alignCenter justifyCenter">
|
2024-06-15 00:26:10 +08:00
|
|
|
|
<text class="input-bt-text" @click="send()">发送</text>
|
2024-06-06 19:36:53 +08:00
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
</up-popup>
|
|
|
|
|
<!-- 底部操作栏 -->
|
2024-06-15 00:26:10 +08:00
|
|
|
|
<up-tabbar :fixed="true" :placeholder="true" :safeAreaInsetBottom="true">
|
2024-06-05 20:03:51 +08:00
|
|
|
|
<!-- <view class="flex justifyCenter"> -->
|
|
|
|
|
<view class="flex alignCenter justifyCenter">
|
2024-06-06 19:36:53 +08:00
|
|
|
|
<view class="flex justifyCenter alignCenter commentInput" @click="toInput()">
|
2024-06-09 17:08:02 +08:00
|
|
|
|
<image class="commentInput-img-1" src="../../../static/images/icon/write-1.png" mode=""></image>
|
2024-06-05 20:03:51 +08:00
|
|
|
|
<text class="commentInput-text">友好评论~</text>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
<view v-if="postValue.like" @click.stop="cancelCollection(postValue.id)"
|
|
|
|
|
class="flex alignCenter justifyCenter flexColumn">
|
|
|
|
|
<image class="commentInput-img" src="../../../static/images/icon/tu3-8.png" mode=""></image>
|
|
|
|
|
<text class="commentInput-txt-like">{{postValue.likeCount}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view v-if="!postValue.like" @click.stop="addCollection(postValue.id)"
|
|
|
|
|
class="flex alignCenter justifyCenter flexColumn">
|
|
|
|
|
<image class="commentInput-img" src="../../../static/images/icon/tu3-7.png" mode=""></image>
|
|
|
|
|
<text class="commentInput-txt">{{postValue.likeCount}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
<view v-if="postValue.favorite" @click.stop="cancelFavorite(postValue.id)"
|
|
|
|
|
class="flex flexColumn alignCenter justifyCenter ">
|
|
|
|
|
<image class="commentInput-img" src="../../../static/images/icon/tu3-2.png" mode=""></image>
|
|
|
|
|
<text class="commentInput-txt-favorite">{{postValue.favoriteCount}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
<view v-if="!postValue.favorite" @click.stop="addFavorite(postValue.id)"
|
|
|
|
|
class="flex flexColumn alignCenter justifyCenter ">
|
|
|
|
|
<image class="commentInput-img" src="../../../static/images/icon/tu3-1.png" mode=""></image>
|
|
|
|
|
<text class="commentInput-txt">{{postValue.favoriteCount}}</text>
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
<view class="flex alignCenter justifyCenter flexColumn">
|
|
|
|
|
<image class="commentInput-img" src="../../../static/images/icon/tu2-9.png" mode=""></image>
|
|
|
|
|
<text class="commentInput-txt">转发</text>
|
|
|
|
|
</view>
|
2024-06-05 20:03:51 +08:00
|
|
|
|
<!-- </view> -->
|
|
|
|
|
</up-tabbar>
|
2024-06-05 19:48:15 +08:00
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script setup>
|
2024-06-15 00:26:10 +08:00
|
|
|
|
import {
|
|
|
|
|
ref,
|
|
|
|
|
reactive,
|
|
|
|
|
computed,
|
|
|
|
|
onMounted,
|
|
|
|
|
onBeforeUnmount,
|
|
|
|
|
getCurrentInstance
|
|
|
|
|
} from 'vue';
|
|
|
|
|
import {
|
|
|
|
|
useStore
|
|
|
|
|
} from 'vuex';
|
|
|
|
|
import {
|
|
|
|
|
onReachBottom,
|
|
|
|
|
onLoad,
|
|
|
|
|
onPageScroll
|
|
|
|
|
} from "@dcloudio/uni-app";
|
2024-06-05 19:48:15 +08:00
|
|
|
|
import PostView from "@/pages/common/postview/index.vue";
|
2024-06-15 00:26:10 +08:00
|
|
|
|
import {
|
|
|
|
|
listFollowUser,
|
|
|
|
|
getFollowUser,
|
|
|
|
|
delFollowUserByFollowUser,
|
|
|
|
|
addFollowUser,
|
|
|
|
|
updateFollowUser
|
|
|
|
|
} from "@/api/followUser/followUser";
|
|
|
|
|
import {
|
|
|
|
|
delLikeByPostLike,
|
|
|
|
|
addLike
|
|
|
|
|
} from "@/api/like/like";
|
|
|
|
|
import {
|
|
|
|
|
delPostFavoriteByPostFavorite,
|
|
|
|
|
addPostFavorite
|
|
|
|
|
} from "@/api/postFavorite/postFavorite";
|
|
|
|
|
import { listComment, getComment, delComment, addComment, updateComment } from "@/api/postComment/comment";
|
|
|
|
|
|
2024-06-06 19:36:53 +08:00
|
|
|
|
const bottomVal = ref(0);
|
2024-06-15 00:26:10 +08:00
|
|
|
|
const commentType = ref(0);
|
|
|
|
|
const toAnswerObj = ref([]);
|
|
|
|
|
const toAnswerIndex = ref(0);
|
|
|
|
|
const inputValue = ref("");
|
|
|
|
|
const loginUser = reactive(uni.getStorageSync('loginUserPost'));
|
2024-06-13 21:49:50 +08:00
|
|
|
|
const postValue = reactive(uni.getStorageSync('postInfo'));
|
2024-06-15 00:26:10 +08:00
|
|
|
|
const postCommentList = ref([]);
|
|
|
|
|
const total = ref(0);
|
|
|
|
|
const queryParams = reactive({
|
|
|
|
|
pageNum: 1,
|
|
|
|
|
pageSize: 10,
|
|
|
|
|
postId: null,
|
|
|
|
|
uid: null,
|
|
|
|
|
toUserId: null,
|
|
|
|
|
rootId: 0,
|
|
|
|
|
content: null,
|
|
|
|
|
hot: null,
|
|
|
|
|
type: null,
|
|
|
|
|
address: null,
|
|
|
|
|
});
|
|
|
|
|
const queryParamsSon = reactive({
|
|
|
|
|
pageNum: 1,
|
|
|
|
|
pageSize: 5,
|
|
|
|
|
postId: null,
|
|
|
|
|
uid: null,
|
|
|
|
|
toUserId: null,
|
|
|
|
|
rootId: 0,
|
|
|
|
|
content: null,
|
|
|
|
|
hot: null,
|
|
|
|
|
type: null,
|
|
|
|
|
address: null,
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const postList = reactive([{
|
|
|
|
|
avatar: 'https://k.sinaimg.cn/n/sports/transform/400/w600h600/20220130/dd38-eed53ba750d1d8c87eca8b57eda879a5.jpg/w700d1q75cms.jpg?by=cms_fixed_width',
|
|
|
|
|
nickName: '爱吃饭的小张',
|
|
|
|
|
address: '南开大学',
|
|
|
|
|
content: '大家来评论',
|
|
|
|
|
createTime: '7分钟前',
|
|
|
|
|
isOfficial: true,
|
|
|
|
|
deployment: false,
|
|
|
|
|
answerCommentAllCount: 4,
|
|
|
|
|
answerCommentPage: 0,
|
|
|
|
|
answerCommentDisplayCount: 0,
|
|
|
|
|
answerCommentList: [{
|
|
|
|
|
avatar: 'https://picx.zhimg.com/v2-02f89d05a781ffed9fd2e32654d93135_720w.jpg?source=172ae18b',
|
|
|
|
|
nickName: '恋爱60秒',
|
|
|
|
|
createTime: '2024.05.04',
|
|
|
|
|
isOfficial: false,
|
|
|
|
|
address: '理工大学',
|
|
|
|
|
content: '来了',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
avatar: 'https://oss.1381801.com/forum/202308/11/093616ccxkx99wchwrrw1a.jpg',
|
|
|
|
|
nickName: '喜欢你没道理',
|
|
|
|
|
createTime: '2024.05.04',
|
|
|
|
|
isOfficial: false,
|
|
|
|
|
address: '理工大学',
|
|
|
|
|
content: '你干嘛~',
|
|
|
|
|
toUserName: '恋爱60秒',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
avatar: 'https://www.tboxn.com/wp-content/uploads/2022/11/%E5%A4%B4%E5%83%8F.png',
|
|
|
|
|
nickName: '神奇宝贝',
|
|
|
|
|
createTime: '2024.05.04',
|
|
|
|
|
isOfficial: false,
|
|
|
|
|
address: '理工大学',
|
|
|
|
|
content: '哎呦~',
|
|
|
|
|
toUserName: '喜欢你没道理',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
avatar: 'https://files.codelife.cc/wallhaven/full/wq/wallhaven-wqkw2r.jpg?x-oss-process=image/resize,limit_0,m_fill,w_307,h_158/quality,Q_92/format,webp',
|
|
|
|
|
nickName: '皮卡丘',
|
|
|
|
|
createTime: '2024.05.04',
|
|
|
|
|
isOfficial: true,
|
|
|
|
|
address: '理工大学',
|
|
|
|
|
content: '要再点一下才能看到我',
|
|
|
|
|
toUserName: '喜欢你没道理',
|
|
|
|
|
},
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
avatar: 'https://picx.zhimg.com/v2-02f89d05a781ffed9fd2e32654d93135_720w.jpg?source=172ae18b',
|
|
|
|
|
nickName: '恋爱60秒',
|
|
|
|
|
createTime: '2024.05.04',
|
|
|
|
|
isOfficial: false,
|
|
|
|
|
deployment: false,
|
|
|
|
|
address: '理工大学',
|
|
|
|
|
content: '评论区上线了',
|
|
|
|
|
answerCommentList: []
|
|
|
|
|
}
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
const getPostInfo = () => {
|
|
|
|
|
queryParams.postId = postValue.id;
|
|
|
|
|
listComment(queryParams).then(res => {
|
|
|
|
|
postCommentList.value = res.rows;
|
|
|
|
|
console.log(postCommentList.value[1].answerCommentList);
|
|
|
|
|
total.value = res.total
|
|
|
|
|
});
|
|
|
|
|
};
|
2024-06-13 21:49:50 +08:00
|
|
|
|
// const postValue = reactive(
|
|
|
|
|
// {
|
|
|
|
|
// 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,
|
|
|
|
|
// isOfficial: true,
|
|
|
|
|
// title: '怎么评论爱德华·艾尔加这位音乐家及其他的作品,欢迎大家发表自己的看法?',
|
|
|
|
|
// content: '八年前,学弟在工地上杀了一个工友,上杀了一个工友,杀人前,他给警察打了电话,预告杀人的时间和地点,和地点,并......',
|
|
|
|
|
// type: '1',
|
|
|
|
|
// media: [
|
|
|
|
|
// 'https://img1.baidu.com/it/u=1179199327,1946315836&fm=253&fmt=auto&app=138&f=JPEG?w=1364&h=800',
|
|
|
|
|
// 'https://www4.bing.com//th?id=OHR.CopenhagenBicycles_ZH-CN3047958346_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp&w=360&h=202',
|
|
|
|
|
// 'https://www4.bing.com//th?id=OHR.CarnavalTenerife_ZH-CN1559136778_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp&w=360&h=202',
|
|
|
|
|
// 'https://www4.bing.com//th?id=OHR.StJamesPool_ZH-CN5930624359_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp&w=360&h=202',
|
|
|
|
|
// ],
|
|
|
|
|
// tab: ['学术讨论组', '校园风景'],
|
|
|
|
|
// transmitCount: 136,
|
|
|
|
|
// like: true,
|
|
|
|
|
// likeCount: 999,
|
|
|
|
|
// commentCount: 136,
|
|
|
|
|
// favorite: true,
|
|
|
|
|
// favoriteCount: 136
|
|
|
|
|
// }
|
|
|
|
|
// );
|
2024-06-15 00:26:10 +08:00
|
|
|
|
const store = useStore();
|
|
|
|
|
const QNDomain = store.state.user.QNDomain;
|
|
|
|
|
|
|
|
|
|
function getAvatar(avatar) {
|
|
|
|
|
return QNDomain + avatar;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function formatDate(input) {
|
|
|
|
|
const date = new Date(input);
|
|
|
|
|
if (isNaN(date)) {
|
|
|
|
|
throw new Error('Invalid date');
|
|
|
|
|
}
|
|
|
|
|
const year = date.getFullYear();
|
|
|
|
|
const month = String(date.getMonth() + 1).padStart(2, '0');
|
|
|
|
|
const day = String(date.getDate()).padStart(2, '0');
|
|
|
|
|
return `${year}.${month}.${day}`;
|
|
|
|
|
}
|
2024-06-06 19:36:53 +08:00
|
|
|
|
|
2024-06-15 00:26:10 +08:00
|
|
|
|
function timeAgo(input) {
|
|
|
|
|
const date = new Date(input);
|
|
|
|
|
if (isNaN(date)) {
|
|
|
|
|
throw new Error('Invalid date');
|
|
|
|
|
}
|
|
|
|
|
const now = new Date();
|
|
|
|
|
const diff = now - date;
|
|
|
|
|
|
|
|
|
|
const minutes = Math.floor(diff / 60000); // 1 minute = 60000 ms
|
|
|
|
|
const hours = Math.floor(diff / 3600000); // 1 hour = 3600000 ms
|
|
|
|
|
const days = Math.floor(diff / 86400000); // 1 day = 86400000 ms
|
|
|
|
|
|
|
|
|
|
if (minutes < 60) {
|
|
|
|
|
return `${minutes}分钟前`;
|
|
|
|
|
} else if (hours < 24) {
|
|
|
|
|
return `${hours}小时前`;
|
|
|
|
|
} else if (days < 3) {
|
|
|
|
|
return `${days}天前`;
|
|
|
|
|
} else {
|
|
|
|
|
return formatDate(date);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2024-06-06 19:36:53 +08:00
|
|
|
|
// 监听键盘高度变化
|
2024-06-09 17:08:02 +08:00
|
|
|
|
onLoad(() => {
|
2024-06-13 21:49:50 +08:00
|
|
|
|
uni.pageScrollTo({
|
2024-06-15 00:26:10 +08:00
|
|
|
|
scrollTop: 0,
|
|
|
|
|
duration: 0
|
|
|
|
|
});
|
|
|
|
|
// if (!data.value) {
|
|
|
|
|
uni.onKeyboardHeightChange(res => {
|
|
|
|
|
if (res.height == 0) {
|
|
|
|
|
bottomVal.value = 0;
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
bottomVal.value = res.height - 20;
|
|
|
|
|
console.log(bottomVal.value)
|
|
|
|
|
});
|
|
|
|
|
// }
|
2024-06-13 21:49:50 +08:00
|
|
|
|
|
2024-06-08 18:03:43 +08:00
|
|
|
|
})
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
2024-06-08 18:03:43 +08:00
|
|
|
|
onBeforeUnmount(async () => {
|
2024-06-15 00:26:10 +08:00
|
|
|
|
uni.offKeyboardHeightChange();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
2024-06-06 19:36:53 +08:00
|
|
|
|
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
2024-06-06 19:36:53 +08:00
|
|
|
|
const placeholderInput = ref('')
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
2024-06-06 19:36:53 +08:00
|
|
|
|
// 创建响应式数据
|
2024-06-15 00:26:10 +08:00
|
|
|
|
const showInput = ref(false);
|
2024-06-06 19:36:53 +08:00
|
|
|
|
const showInputText = ref(false)
|
|
|
|
|
// 定义方法
|
2024-06-15 00:26:10 +08:00
|
|
|
|
function open() {
|
|
|
|
|
// 打开逻辑,比如设置 show 为 true
|
|
|
|
|
showInput.value = true;
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
showInputText.value = true;
|
|
|
|
|
}, 50);
|
|
|
|
|
// console.log('open');
|
2024-06-06 19:36:53 +08:00
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
function close() {
|
|
|
|
|
// 关闭逻辑,设置 show 为 false
|
|
|
|
|
showInput.value = false;
|
|
|
|
|
showInputText.value = false;
|
|
|
|
|
// console.log('close');
|
|
|
|
|
}
|
|
|
|
|
|
2024-06-06 19:36:53 +08:00
|
|
|
|
const toInput = () => {
|
|
|
|
|
placeholderInput.value = '发布评论'
|
2024-06-15 00:26:10 +08:00
|
|
|
|
commentType.value = 0;
|
|
|
|
|
open();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const toAnswerRoot = (answer, index) => {
|
|
|
|
|
toAnswerObj.value = answer;
|
|
|
|
|
toAnswerIndex.value = index;
|
|
|
|
|
placeholderInput.value = '回复:' + toAnswerObj.value.nickName;
|
|
|
|
|
commentType.value = 1;
|
2024-06-06 19:36:53 +08:00
|
|
|
|
open();
|
|
|
|
|
}
|
|
|
|
|
|
2024-06-15 00:26:10 +08:00
|
|
|
|
const toAnswerSon = (answer, index) => {
|
|
|
|
|
toAnswerObj.value = answer;
|
|
|
|
|
toAnswerIndex.value = index;
|
|
|
|
|
placeholderInput.value = '回复:' + toAnswerObj.value.nickName;
|
|
|
|
|
commentType.value = 2;
|
2024-06-06 19:36:53 +08:00
|
|
|
|
open();
|
2024-06-15 00:26:10 +08:00
|
|
|
|
}
|
2024-06-06 19:36:53 +08:00
|
|
|
|
|
2024-06-15 00:26:10 +08:00
|
|
|
|
const onKeyInput = (event) => {
|
|
|
|
|
console.log('输入的内容',event.detail.value);
|
|
|
|
|
inputValue.value = event.detail.value;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const send = () => {
|
|
|
|
|
const postComment = {
|
|
|
|
|
postId: postValue.id,
|
|
|
|
|
content: inputValue.value,
|
|
|
|
|
uid: loginUser.userId,
|
|
|
|
|
nickName: loginUser.nickName,
|
|
|
|
|
avatar: loginUser.avatar,
|
|
|
|
|
address: '天津',
|
|
|
|
|
rootId: null,
|
|
|
|
|
toUserId: null,
|
|
|
|
|
toUserName: null
|
|
|
|
|
};
|
|
|
|
|
if (commentType.value == 1) {
|
|
|
|
|
postComment.rootId = toAnswerObj.value.id;
|
|
|
|
|
}
|
|
|
|
|
if (commentType.value == 2) {
|
|
|
|
|
postComment.rootId = toAnswerObj.value.rootId;
|
|
|
|
|
postComment.toUserId = toAnswerObj.value.uid;
|
|
|
|
|
postComment.toUserName = toAnswerObj.value.nickName;
|
|
|
|
|
}
|
|
|
|
|
addComment(postComment).then(res => {
|
|
|
|
|
postComment.createTime = new Date();
|
|
|
|
|
if (commentType.value == 0) {
|
|
|
|
|
postCommentList.value.push(postComment);
|
|
|
|
|
} else if(commentType.value == 1 || commentType.value == 2) {
|
|
|
|
|
postCommentList.value[toAnswerIndex.value].answerCommentList.push(postComment);
|
|
|
|
|
postCommentList.value[toAnswerIndex.value].deployment = true;
|
|
|
|
|
postCommentList.value[toAnswerIndex.value].answerCommentDisplayCount += 1;
|
|
|
|
|
postCommentList.value[toAnswerIndex.value].answerCommentAllCount += 1;
|
|
|
|
|
}
|
|
|
|
|
postValue.commentCount += 1;
|
|
|
|
|
close();
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
2024-06-13 21:49:50 +08:00
|
|
|
|
const postListStorage = ref(uni.getStorageSync('postList'));
|
|
|
|
|
const upPostListStorage = () => {
|
2024-06-15 00:26:10 +08:00
|
|
|
|
postListStorage.value.forEach(item => {
|
|
|
|
|
if (item.id === postValue.id) {
|
|
|
|
|
Object.assign(item, postValue);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
uni.setStorageSync('postList', postListStorage.value);
|
2024-06-13 21:49:50 +08:00
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
2024-06-13 21:49:50 +08:00
|
|
|
|
// 点赞操作
|
|
|
|
|
const cancelCollection = (postId) => {
|
|
|
|
|
const postLike = reactive({
|
|
|
|
|
likeId: postId,
|
|
|
|
|
})
|
|
|
|
|
delLikeByPostLike(postLike).then(res => {
|
|
|
|
|
postValue.likeCount -= 1;
|
|
|
|
|
postValue.like = !postValue.like;
|
|
|
|
|
upPostListStorage();
|
|
|
|
|
})
|
2024-06-05 19:48:15 +08:00
|
|
|
|
};
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
2024-06-13 21:49:50 +08:00
|
|
|
|
const addCollection = (postId) => {
|
|
|
|
|
const postLike = reactive({
|
|
|
|
|
likeId: postId,
|
|
|
|
|
})
|
|
|
|
|
addLike(postLike).then(res => {
|
|
|
|
|
postValue.likeCount += 1;
|
|
|
|
|
postValue.like = !postValue.like;
|
|
|
|
|
upPostListStorage();
|
|
|
|
|
})
|
2024-06-05 19:48:15 +08:00
|
|
|
|
};
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
2024-06-13 21:49:50 +08:00
|
|
|
|
// 收藏操作
|
|
|
|
|
const cancelFavorite = (postId) => {
|
|
|
|
|
const postFavorite = reactive({
|
|
|
|
|
favoriteId: postId,
|
|
|
|
|
})
|
|
|
|
|
delPostFavoriteByPostFavorite(postFavorite).then(res => {
|
|
|
|
|
postValue.favoriteCount -= 1;
|
|
|
|
|
postValue.favorite = !postValue.favorite;
|
|
|
|
|
upPostListStorage();
|
|
|
|
|
})
|
2024-06-05 19:48:15 +08:00
|
|
|
|
};
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
2024-06-13 21:49:50 +08:00
|
|
|
|
const addFavorite = (postId) => {
|
|
|
|
|
const postFavorite = reactive({
|
|
|
|
|
favoriteId: postId,
|
|
|
|
|
})
|
|
|
|
|
addPostFavorite(postFavorite).then(res => {
|
|
|
|
|
postValue.favoriteCount += 1;
|
|
|
|
|
postValue.favorite = !postValue.favorite;
|
|
|
|
|
upPostListStorage();
|
|
|
|
|
})
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
2024-06-05 19:48:15 +08:00
|
|
|
|
};
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
2024-06-06 19:36:53 +08:00
|
|
|
|
const deploymentAnswer = (index) => {
|
2024-06-15 00:26:10 +08:00
|
|
|
|
if (!postCommentList.value[index].deployment) {
|
|
|
|
|
postCommentList.value[index].deployment = true;
|
|
|
|
|
loadMoreAnswers(index);
|
|
|
|
|
}
|
2024-06-06 19:36:53 +08:00
|
|
|
|
};
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
2024-06-06 19:36:53 +08:00
|
|
|
|
const putAnswer = (index) => {
|
2024-06-15 00:26:10 +08:00
|
|
|
|
postCommentList.value[index].deployment = false;
|
|
|
|
|
postCommentList.value[index].answerCommentDisplayCount = 0;
|
|
|
|
|
postCommentList.value[index].answerCommentPage = 0;
|
|
|
|
|
postCommentList.value[index].answerCommentList = [];
|
2024-06-09 17:08:02 +08:00
|
|
|
|
};
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
2024-06-09 17:08:02 +08:00
|
|
|
|
const loadMoreAnswers = (index) => {
|
2024-06-15 00:26:10 +08:00
|
|
|
|
const increment = 5; // 每次加载的评论数量
|
|
|
|
|
const comment = postCommentList.value[index];
|
|
|
|
|
comment.answerCommentPage += 1;
|
|
|
|
|
queryParamsSon.postId = postValue.id;
|
|
|
|
|
queryParamsSon.rootId = comment.id;
|
|
|
|
|
queryParamsSon.pageNum = comment.answerCommentPage;
|
|
|
|
|
listComment(queryParamsSon).then(res => {
|
|
|
|
|
console.log('看看子评论', res.rows);
|
|
|
|
|
comment.answerCommentList.push(...res.rows);
|
|
|
|
|
console.log(postCommentList.value[index]);
|
|
|
|
|
});
|
2024-06-09 17:08:02 +08:00
|
|
|
|
if (comment.answerCommentDisplayCount + increment <= comment.answerCommentAllCount) {
|
|
|
|
|
comment.answerCommentDisplayCount += increment;
|
|
|
|
|
} else {
|
|
|
|
|
comment.answerCommentDisplayCount = comment.answerCommentAllCount; // 显示所有剩余的评论
|
|
|
|
|
}
|
2024-06-06 19:36:53 +08:00
|
|
|
|
};
|
2024-06-15 00:26:10 +08:00
|
|
|
|
getPostInfo();
|
2024-06-05 19:48:15 +08:00
|
|
|
|
</script>
|
|
|
|
|
|
2024-06-06 19:36:53 +08:00
|
|
|
|
<style lang="scss">
|
2024-06-15 00:26:10 +08:00
|
|
|
|
page {
|
|
|
|
|
background-color: #ffffff;
|
|
|
|
|
|
|
|
|
|
}
|
2024-06-08 18:42:51 +08:00
|
|
|
|
|
2024-06-05 19:48:15 +08:00
|
|
|
|
.data-v-6fcabaad {
|
2024-06-15 00:26:10 +08:00
|
|
|
|
border-radius: 20rpx 20rpx 20rpx 20rpx !important;
|
|
|
|
|
/* width: 200rpx !important;
|
2024-06-05 19:48:15 +08:00
|
|
|
|
height: 200rpx !important; */
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.center-content-focus-line {
|
2024-06-05 19:48:15 +08:00
|
|
|
|
height: 8rpx;
|
|
|
|
|
background: #f4f5f6;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.comment {
|
2024-06-05 19:48:15 +08:00
|
|
|
|
padding: 32rpx;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.commentLabel {
|
2024-06-05 19:48:15 +08:00
|
|
|
|
font-weight: 400;
|
|
|
|
|
/* width: 265rpx; */
|
|
|
|
|
/* height: 38rpx; */
|
|
|
|
|
font-size: 36rpx;
|
|
|
|
|
/* text-align: left; */
|
|
|
|
|
color: #000000;
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
2024-06-05 19:48:15 +08:00
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.report {
|
2024-06-05 19:48:15 +08:00
|
|
|
|
font-weight: 400;
|
|
|
|
|
/* width: 52rpx; */
|
|
|
|
|
/* height: 26rpx; */
|
|
|
|
|
font-size: 26rpx;
|
|
|
|
|
/* text-align: left; */
|
|
|
|
|
color: #999999;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
2024-06-05 19:48:15 +08:00
|
|
|
|
.no-comment {
|
2024-06-15 00:26:10 +08:00
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
align-items: center;
|
|
|
|
|
/* 水平居中 */
|
|
|
|
|
justify-content: center;
|
|
|
|
|
/* 垂直居中 */
|
2024-06-05 19:48:15 +08:00
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.no-comment-img {
|
2024-06-05 19:48:15 +08:00
|
|
|
|
margin-top: 44rpx;
|
|
|
|
|
width: 200rpx;
|
|
|
|
|
height: 145rpx;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.no-comment-text {
|
2024-06-05 19:48:15 +08:00
|
|
|
|
margin-top: 8rpx;
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
font-size: 26rpx;
|
|
|
|
|
color: #999999;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.no-comment-bt {
|
2024-06-05 19:48:15 +08:00
|
|
|
|
margin-top: 36rpx;
|
|
|
|
|
width: 308rpx;
|
|
|
|
|
height: 82rpx;
|
|
|
|
|
border-radius: 40rpx 40rpx 40rpx 40rpx;
|
|
|
|
|
border-width: 2rpx;
|
|
|
|
|
border-color: #C9F6F5;
|
2024-06-15 00:26:10 +08:00
|
|
|
|
background: #ffffff;
|
2024-06-05 19:48:15 +08:00
|
|
|
|
display: flex;
|
2024-06-15 00:26:10 +08:00
|
|
|
|
align-items: center;
|
|
|
|
|
/* 垂直居中 */
|
|
|
|
|
justify-content: center;
|
|
|
|
|
/* 水平居中 */
|
2024-06-05 19:48:15 +08:00
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.no-comment-bt-text {
|
2024-06-05 19:48:15 +08:00
|
|
|
|
font-weight: 400;
|
|
|
|
|
font-size: 32rpx;
|
|
|
|
|
color: #CBF6F5;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.commentInput {
|
2024-06-05 19:48:15 +08:00
|
|
|
|
width: 364rpx;
|
|
|
|
|
height: 80rpx;
|
|
|
|
|
border-radius: 40rpx 40rpx 40rpx 40rpx;
|
|
|
|
|
background: #f7f8fa;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.commentInput-img {
|
2024-06-09 17:08:02 +08:00
|
|
|
|
width: 36rpx;
|
|
|
|
|
height: 36rpx;
|
|
|
|
|
// margin-right: 12rpx;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.commentInput-img-1 {
|
2024-06-08 23:44:59 +08:00
|
|
|
|
width: 36rpx;
|
|
|
|
|
height: 36rpx;
|
|
|
|
|
margin-right: 12rpx;
|
2024-06-05 19:48:15 +08:00
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.commentInput-text {
|
2024-06-05 19:48:15 +08:00
|
|
|
|
font-weight: 400;
|
|
|
|
|
font-size: 30rpx;
|
|
|
|
|
color: #999999;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.commentInput-txt {
|
2024-06-05 19:48:15 +08:00
|
|
|
|
font-weight: 400;
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
color: #787878;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.commentInput-txt-like {
|
2024-06-05 19:48:15 +08:00
|
|
|
|
font-weight: 400;
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
color: #FA3939;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.commentInput-txt-favorite {
|
2024-06-05 19:48:15 +08:00
|
|
|
|
font-weight: 400;
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
color: #FFC729;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.have-comment {
|
2024-06-06 19:36:53 +08:00
|
|
|
|
margin-top: 30rpx;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
2024-06-06 19:36:53 +08:00
|
|
|
|
.have-comment-avatar-container {
|
2024-06-15 00:26:10 +08:00
|
|
|
|
position: relative;
|
2024-06-06 19:36:53 +08:00
|
|
|
|
width: 60rpx;
|
|
|
|
|
margin-right: 20rpx;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
2024-06-06 19:36:53 +08:00
|
|
|
|
.have-comment-avatar-1 {
|
2024-06-15 00:26:10 +08:00
|
|
|
|
position: relative;
|
2024-06-06 19:36:53 +08:00
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
2024-06-06 19:36:53 +08:00
|
|
|
|
.have-comment-official-1 {
|
2024-06-15 00:26:10 +08:00
|
|
|
|
position: absolute;
|
|
|
|
|
width: 24rpx;
|
|
|
|
|
height: 24rpx;
|
|
|
|
|
bottom: 0;
|
|
|
|
|
right: 0;
|
2024-06-06 19:36:53 +08:00
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.have-comment-uname {
|
2024-06-06 19:36:53 +08:00
|
|
|
|
font-weight: 400;
|
|
|
|
|
font-size: 26rpx;
|
|
|
|
|
color: #999999;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.have-comment-address {
|
2024-06-06 19:36:53 +08:00
|
|
|
|
font-weight: 400;
|
|
|
|
|
font-size: 24rpx;
|
|
|
|
|
color: #999999;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.have-comment-content {
|
2024-06-06 19:36:53 +08:00
|
|
|
|
margin-left: 80rpx;
|
|
|
|
|
margin-top: 10rpx;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
2024-06-06 19:36:53 +08:00
|
|
|
|
.have-comment-content-text-1 {
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
font-size: 30rpx;
|
|
|
|
|
color: #333333;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
2024-06-06 19:36:53 +08:00
|
|
|
|
.have-comment-content-text-2 {
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
font-size: 24rpx;
|
|
|
|
|
color: #999999;
|
|
|
|
|
margin-top: 12rpx;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
2024-06-06 19:36:53 +08:00
|
|
|
|
.have-comment-content-text-2-hf {
|
|
|
|
|
margin-left: 32rpx;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.have-comment-answer {
|
2024-06-06 19:36:53 +08:00
|
|
|
|
margin-top: 24rpx;
|
|
|
|
|
margin-left: 80rpx;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
2024-06-06 19:36:53 +08:00
|
|
|
|
.have-comment-answer-avatar-container {
|
2024-06-15 00:26:10 +08:00
|
|
|
|
position: relative;
|
2024-06-06 19:36:53 +08:00
|
|
|
|
width: 48rpx;
|
|
|
|
|
margin-right: 20rpx;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
2024-06-06 19:36:53 +08:00
|
|
|
|
.have-comment-answer-avatar-1 {
|
2024-06-15 00:26:10 +08:00
|
|
|
|
position: relative;
|
2024-06-06 19:36:53 +08:00
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
2024-06-06 19:36:53 +08:00
|
|
|
|
.have-comment-answer-official-1 {
|
2024-06-15 00:26:10 +08:00
|
|
|
|
position: absolute;
|
|
|
|
|
width: 16rpx;
|
|
|
|
|
height: 16rpx;
|
|
|
|
|
bottom: 0;
|
|
|
|
|
right: 0;
|
2024-06-06 19:36:53 +08:00
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.have-comment-answer-uname {
|
2024-06-06 19:36:53 +08:00
|
|
|
|
font-weight: 400;
|
|
|
|
|
font-size: 26rpx;
|
|
|
|
|
color: #999999;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.have-comment-answer-content {
|
2024-06-06 19:36:53 +08:00
|
|
|
|
margin-left: 80rpx;
|
|
|
|
|
margin-top: 10rpx;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
2024-06-06 19:36:53 +08:00
|
|
|
|
.have-comment-answer-content-text-1 {
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
font-size: 30rpx;
|
|
|
|
|
color: #333333;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
2024-06-06 19:36:53 +08:00
|
|
|
|
.have-comment-answer-content-text-2 {
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
font-size: 24rpx;
|
|
|
|
|
color: #999999;
|
|
|
|
|
margin-top: 12rpx;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
2024-06-06 19:36:53 +08:00
|
|
|
|
.have-comment-answer-content-text-2-hf {
|
|
|
|
|
margin-left: 32rpx;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.deploymentAnswer-text {
|
2024-06-06 19:36:53 +08:00
|
|
|
|
font-weight: 400;
|
|
|
|
|
font-size: 24rpx;
|
|
|
|
|
color: #999999;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.input-in {
|
2024-06-06 19:36:53 +08:00
|
|
|
|
width: 560rpx;
|
|
|
|
|
height: 70rpx;
|
|
|
|
|
border-radius: 37rpx 37rpx 37rpx 37rpx;
|
|
|
|
|
background: #f7f8fa;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.input-in-text {
|
2024-06-06 19:36:53 +08:00
|
|
|
|
width: 520rpx;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.input-bt {
|
2024-06-06 19:36:53 +08:00
|
|
|
|
width: 120rpx;
|
|
|
|
|
height: 74rpx;
|
|
|
|
|
border-radius: 37rpx 37rpx 37rpx 37rpx;
|
|
|
|
|
background: #3477fc;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.input-text {
|
2024-06-06 19:36:53 +08:00
|
|
|
|
font-weight: 400;
|
|
|
|
|
font-size: 30rpx;
|
|
|
|
|
color: #FFFFFF;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.comment-input {
|
2024-06-06 19:36:53 +08:00
|
|
|
|
padding: 24rpx;
|
|
|
|
|
// margin-bottom: 800rpx;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.comment-po {
|
2024-06-06 19:36:53 +08:00
|
|
|
|
// height: 500rpx;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.input-bt-text {
|
2024-06-08 18:57:20 +08:00
|
|
|
|
font-weight: 400;
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
color: #FFFFFF;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.have-comment-answer-deploy {
|
2024-06-09 17:08:02 +08:00
|
|
|
|
margin-top: 30rpx;
|
|
|
|
|
margin-left: 80rpx;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.have-comment-answer-line {}
|
|
|
|
|
|
|
|
|
|
.have-comment-answer-img-1 {
|
2024-06-09 17:08:02 +08:00
|
|
|
|
width: 26rpx;
|
|
|
|
|
height: 14rpx;
|
|
|
|
|
margin-left: 12rpx;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.have-comment-answer-img-2 {
|
2024-06-09 17:08:02 +08:00
|
|
|
|
width: 26rpx;
|
|
|
|
|
height: 14rpx;
|
|
|
|
|
margin-left: 12rpx;
|
|
|
|
|
transform: scaleY(-1);
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.have-comment-answer-deploy-1 {
|
2024-06-09 17:08:02 +08:00
|
|
|
|
margin-left: 12rpx;
|
|
|
|
|
margin-right: 130rpx;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.have-comment-answer-uname-img {
|
2024-06-09 17:08:02 +08:00
|
|
|
|
width: 14rpx;
|
|
|
|
|
height: 24rpx;
|
|
|
|
|
margin: 0 8rpx;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
|
|
|
|
|
.have-comment-line {
|
2024-06-12 22:20:36 +08:00
|
|
|
|
width: 686rpx;
|
|
|
|
|
height: 2rpx;
|
|
|
|
|
border-radius: 1rpx 1rpx 1rpx 1rpx;
|
|
|
|
|
background: #f4f5f6;
|
|
|
|
|
margin: 36rpx 0;
|
|
|
|
|
}
|
2024-06-15 00:26:10 +08:00
|
|
|
|
</style>
|