合并代码

This commit is contained in:
sx 2025-01-14 00:56:50 +08:00
parent 0c4aaade96
commit 164c7456b0
3 changed files with 89 additions and 36 deletions

View File

@ -268,6 +268,19 @@ const video = {
})
},
/**
* 点赞/取消点赞评论
* @param {Object} param
*/
likecomment(param) {
return util.request({
url: `/video/comment/likecomment`,
data: param.data,
method: 'POST',
load: true,
})
},
/**
* 热点视频
* @param {Object} param

View File

@ -38,7 +38,7 @@
//
const placeholder = computed(() => {
let result = '评论一下吧~'
if (reply.id) result = `回复 @${reply.userNickname}`
if (reply.id) result = `回复 @${reply.nickName}`
return result
})
//
@ -120,14 +120,17 @@
//
api.video.savecomment({
data: {
// id
parentId: reply.id ? reply.id : 0,
// id
parentId: reply.childrenParentId || 0,
// id
videoId: detail.id,
//
content: content.value,
// id
userId: userinfo.value.id,
// id
childrenParentId: reply.id || 0,
}
}).then(rs => {
console.log('saveComment', rs)
@ -173,9 +176,11 @@
/**
* 回复对象
* @param {Object} item 回复的评论对象
* @param {Object} childrenParentId 评论的一级id
*/
function handleReply(item) {
function handleReply(item, childrenParentId) {
Object.assign(reply, item)
reply.childrenParentId = childrenParentId
proxy.$refs.comment.open()
}
@ -215,17 +220,20 @@
*/
function getLevelCommentList(item, index) {
//
api.video.levelCommentList({
query: {
commentId: item.id,
api.video.getcomment({
data: {
// id
videoId: item.videoId,
// id
parentId: item.id,
pageSize: item.pageSize,
pageNum: item.pageNum,
}
}).then(rs => {
console.log('getcomment', rs)
if (rs.code == 200) {
//
listProperty.data[index].child.push(...rs.rows.map(node => {
node.formatUserPortrait = util.format_url(node.userPortrait, 'img')
return node
}))
//
@ -242,22 +250,40 @@
/**
* 评论点赞
* @param {Object} item 视频对象
* @param {Object} index 一级下标
* @param {Object} secIndex 二级下标
*/
function handleLike(item) {
function handleLike(item, index, secIndex) {
util.isLogin().then(rs => {
//
api.video.thumbsUp({
query: {
api.video.likecomment({
data: {
// 0 1
type: item.isLike ? 0 : 1,
likeType: {
'0': '1',
'1': '0',
} [item.likeType],
// id
commentId: item.id,
id: item.id,
// id
videoId: detail.id,
}
}).then(rs => {
if (rs.code == 200) {
if (item.isLike) item.likes--
else item.likes++
item.isLike = !item.isLike
//
let obj = {
...item,
...rs.data,
}
//
if (secIndex == undefined) {
listProperty.data.splice(index, 1, obj)
}
//
else {
listProperty.data[index].child.splice(secIndex, 1, obj)
}
//
listProperty.data = JSON.parse(JSON.stringify(listProperty.data))
return
@ -319,53 +345,61 @@
<text class="mt5 c333 f28">{{item.content}}</text>
</view>
<view class="like oh aic pl20" @click="handleLike(item)">
<uni-icons type="heart-filled" :color="item.isLike ? '#F84259' : '#b3b3b3'"
size="32rpx" />
<text class="c333 f24">{{item.likes}}</text>
<view class="like oh aic pl20" @click="handleLike(item,index)">
<uni-icons type="heart-filled"
:color="item.likeType == 0 ? '#F84259' : '#b3b3b3'" size="32rpx" />
<text class="c333 f24">{{item.likeCount}}</text>
</view>
</view>
<!-- 发布时间和回复 -->
<view class="df fdr mt10">
<text class="c999 f24">{{item.createTime}}</text>
<view class="ml100" @click="handleReply(item)">
<view class="ml100" @click="handleReply(item,item.id)">
<text class="c666 f24">回复</text>
</view>
</view>
<template v-if="item.num != 0">
<template v-if="item.childrenCommentCount != 0">
<!-- 子评论 -->
<view class="child" v-if="item.childShow">
<view class="df fdr mt15" v-for="(secItem,secIndex) in item.child"
:key="secItem.id">
<!-- 头像 -->
<image class="wh40 cir" :src="secItem.formatUserPortrait"
mode="aspectFill" @click="toUser(secItem)" />
<image class="wh40 cir" :src="secItem.headPortrait" mode="aspectFill"
@click="toUser(secItem)" />
<view class="col pl20 f1">
<!-- 用户信息和点赞 -->
<view class="df fdr">
<view class="f1">
<view class="fdr aic">
<text class="c333 f24"
@click="toUser(secItem)">{{secItem.userNickname}}</text>
<rich-text class="mt5 c333 f28"
:nodes="secItem.context"></rich-text>
@click="toUser(secItem)">{{secItem.nickName}}</text>
<template
v-if="secItem.childrenParentId != secItem.parentId">
<text class="mlr10 c333 f24">回复</text>
<text
class="c333 f24">{{secItem.replyUserName}}</text>
</template>
</view>
<text class="mt5 c333 f28">{{secItem.content}}</text>
</view>
<view class="like oh aic pl20" @click="handleLike(secItem)">
<view class="like oh aic pl20"
@click="handleLike(secItem,index,secIndex)">
<uni-icons type="heart-filled"
:color="secItem.isLike ? '#F84259' : '#b3b3b3'"
:color="secItem.likeType == 0 ? '#F84259' : '#b3b3b3'"
size="32rpx" />
<text class="c333 f24">{{secItem.likes}}</text>
<text class="c333 f24">{{secItem.likeCount}}</text>
</view>
</view>
<!-- 发布时间和回复 -->
<view class="df fdr mt10">
<text class="c999 f24">{{secItem.createTime}}</text>
<text class="ml100 c666 f24" @click="handleReply(secItem)"
v-if="0">回复</text>
<text class="ml100 c666 f24"
@click="handleReply(secItem,item.id)">回复</text>
</view>
</view>
@ -376,12 +410,13 @@
<view class="line mr10"></view>
<template v-if="item.childShow">
<template v-if="item.num == item.child.length">
<template v-if="item.childrenCommentCount == item.child.length">
<text class="c666 f24">收起</text>
<uni-icons type="top" />
</template>
<template v-else>
<text class="c666 f24">展开{{item.num - item.child.length}}条回复</text>
<text
class="c666 f24">展开{{item.childrenCommentCount - item.child.length}}条回复</text>
<uni-icons type="bottom" />
</template>
</template>
@ -417,7 +452,7 @@
<!-- 回复弹窗 -->
<uni-popup ref="comment" type="bottom">
<view class="popBot ptb30 plr30 bfff">
<textarea v-model="content" :adjust-position="false" class="textarea" :placeholder="placeholder" />
<textarea v-model="content" :adjust-position="false" class="textarea c333" :placeholder="placeholder" />
<view class="df fdr jcr">
<view class="btn sm black plr20" @click="handleSubmit">

View File

@ -357,6 +357,11 @@ type
0 非好友
1 好友
评论列表
likeType
0 已点赞
1 未点赞
生成订单到平台客服 平台客服去跟进订单