fix: 调试

This commit is contained in:
kaizheng(郑凯) 2025-02-12 22:54:37 +08:00
parent 7ddc0e978c
commit 30edf8135a
4 changed files with 58 additions and 41 deletions

View File

@ -21,11 +21,7 @@
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import { import { addCommentBlack } from "@/api/videoLive";
queryCommentBlackList,
addCommentBlack,
removeCommentBlack
} from "@/api/videoLive";
export default { export default {
props: { props: {
productId: { productId: {

View File

@ -11,9 +11,9 @@
<img <img
v-if="item.userType === 1" v-if="item.userType === 1"
:src="item.advisor ? item.advisor.avatar : defaultAvatar.teacher" :src="item.advisor ? item.advisor.avatar : defaultAvatar.teacher"
> />
<img v-else-if="item.userType === 3" :src="defaultAvatar.assistant"> <img v-else-if="item.userType === 3" :src="defaultAvatar.assistant" />
<img v-else-if="item.userType === 2" :src="defaultAvatar.student"> <img v-else-if="item.userType === 2" :src="defaultAvatar.student" />
<div class="news-info"> <div class="news-info">
<div class="news-info-top"> <div class="news-info-top">
<div class="news-user"> <div class="news-user">
@ -21,7 +21,8 @@
<label <label
v-if="[1, 3].includes(item.userType)" v-if="[1, 3].includes(item.userType)"
:class="[item.userType === 1 ? 'blue' : 'orange']" :class="[item.userType === 1 ? 'blue' : 'orange']"
>{{ item.userType === 1 ? "老师" : "助教" }}</label> >{{ item.userType === 1 ? "老师" : "助教" }}</label
>
<span><i>1</i>/4</span> <span><i>1</i>/4</span>
<span>已读</span> <span>已读</span>
</div> </div>
@ -30,19 +31,22 @@
v-if="type !== 5" v-if="type !== 5"
type="success" type="success"
@click="setMessageRecommend(item)" @click="setMessageRecommend(item)"
>{{ >{{
item.isRecommend === 1 ? "取消精选" : "设为精选" item.isRecommend === 1 ? "取消精选" : "设为精选"
}}</el-link> }}</el-link
>
<el-link <el-link
v-if="item.userType === 2 && type !== 5" v-if="item.userType === 2 && type !== 5"
type="success" type="success"
@click="setReplyMsg(item)" @click="setReplyMsg(item)"
>引用</el-link> >引用</el-link
>
<el-link <el-link
v-if="item.userType === 2 && item.status === 1" v-if="item.userType === 2 && item.status === 1"
type="success" type="success"
@click="updateMessageStatus(item)" @click="updateMessageStatus(item)"
>通过审核</el-link> >通过审核</el-link
>
</div> </div>
</div> </div>
<p>{{ item.createTime }}</p> <p>{{ item.createTime }}</p>
@ -50,7 +54,7 @@
</div> </div>
<div class="new-content"> <div class="new-content">
<p v-if="item.contentType === 1">{{ item.content }}</p> <p v-if="item.contentType === 1">{{ item.content }}</p>
<img v-else :src="item.content" alt=""> <img v-else :src="item.content" alt="" />
</div> </div>
</li> </li>
</ul> </ul>
@ -87,6 +91,7 @@ export default {
data() { data() {
return { return {
keyword: "", keyword: "",
msgIdsObj: {},
list: [], list: [],
loading: true, loading: true,
hasNext: true, hasNext: true,
@ -107,17 +112,24 @@ export default {
this.searchMsg(""); this.searchMsg("");
}, },
newMsg(msg) { newMsg(msg) {
if ( if (this.msgIdsObj[msg.id]) {
Object.assign(this.msgIdsObj[msg.id], msg);
} else if (
this.type === 1 || this.type === 1 ||
(this.type === 2 && msg.userType === 1) || (this.type === 2 && msg.userType === 1) ||
(this.type === 4 && msg.isRecommend === 1) (this.type === 4 && msg.isRecommend === 1)
) { this.list.unshift(msg); } ) {
this.list.unshift(msg);
this.msgIdsObj[msg.id] = msg;
}
}, },
privateNewMsg(msg) { privateNewMsg(msg) {
if ( if (
msg.userType !== 2 || msg.userType !== 2 ||
(msg.userType === 2 && this.privateNewMsg.privateUserId === this.userId) (msg.userType === 2 && this.privateNewMsg.privateUserId === this.userId)
) { this.list.unshift(msg); } ) {
this.list.unshift(msg);
}
}, },
userId(value) { userId(value) {
if (value) { if (value) {
@ -142,7 +154,11 @@ export default {
this.loading = false; this.loading = false;
}); });
if (ret && ret.code === 0) { if (ret && ret.code === 0) {
let retList = ret.data.list;
this.list = this.list.concat(ret.data.list); this.list = this.list.concat(ret.data.list);
retList.forEach(msg => {
this.msgIdsObj[msg.id] = msg;
});
this.hasNext = ret.data.hasNext; this.hasNext = ret.data.hasNext;
} }
this.loading = false; this.loading = false;
@ -151,6 +167,7 @@ export default {
if (this.groupId) { if (this.groupId) {
this.keyword = keyword; this.keyword = keyword;
this.list = []; this.list = [];
this.msgIdsObj = {};
this.getMessageList(); this.getMessageList();
} }
}, },

View File

@ -17,7 +17,7 @@
<div>操作</div> <div>操作</div>
</dt> </dt>
<dd v-for="(item, index) in list" :key="item.id"> <dd v-for="(item, index) in list" :key="item.id">
<div><img src="" alt=""></div> <div><img src="" alt="" /></div>
<div> <div>
<!-- <p>{{ item.phone }}</p> --> <!-- <p>{{ item.phone }}</p> -->
<p>{{ item.userName }}</p> <p>{{ item.userName }}</p>
@ -33,17 +33,16 @@
<el-link type="success" :underline="false">私聊</el-link> <el-link type="success" :underline="false">私聊</el-link>
</div> </div>
<div> <div>
<el-link <el-link v-if="type === 1" type="success" :underline="false"
v-if="type === 1" >根据用户的禁言状态来显示禁言还是取消禁言</el-link
type="success" >
:underline="false"
>根据用户的禁言状态来显示禁言还是取消禁言</el-link>
<el-link <el-link
v-else-if="type === 2" v-else-if="type === 2"
type="success" type="success"
:underline="false" :underline="false"
@click="setCommentBlack(2, item)" @click="setCommentBlack(2, item)"
>取消禁言</el-link> >取消禁言</el-link
>
</div> </div>
</div> </div>
</dd> </dd>
@ -95,7 +94,6 @@ export default {
type: "warning" type: "warning"
}) })
.then(() => { .then(() => {
debugger;
removeCommentBlack({ removeCommentBlack({
userPhone: item.phone, userPhone: item.phone,
productId: item.productId, productId: item.productId,
@ -107,6 +105,7 @@ export default {
showClose: false, showClose: false,
type: "success" type: "success"
}); });
this.searchMsg();
} }
}); });
}) })
@ -122,6 +121,7 @@ export default {
productId: this.groupId, productId: this.groupId,
userName: this.userName, userName: this.userName,
productType: 41, productType: 41,
status: 0,
userType: 3 // 访 1: 2:() 3: userType: 3 // 访 1: 2:() 3:
}).catch(() => { }).catch(() => {
this.loading = false; this.loading = false;

View File

@ -13,7 +13,7 @@
> >
<li v-for="(item, index) in list" :key="index"> <li v-for="(item, index) in list" :key="index">
<div class="new-header"> <div class="new-header">
<img :src="defaultAvatar.student"> <img :src="defaultAvatar.student" />
<div class="news-info"> <div class="news-info">
<div class="news-info-top"> <div class="news-info-top">
<div class="news-user"> <div class="news-user">
@ -21,7 +21,8 @@
<label <label
v-if="[1, 3].includes(item.userType)" v-if="[1, 3].includes(item.userType)"
:class="[item.userType === 1 ? 'blue' : 'orange']" :class="[item.userType === 1 ? 'blue' : 'orange']"
>{{ item.userType === 1 ? "老师" : "助教" }}</label> >{{ item.userType === 1 ? "老师" : "助教" }}</label
>
<span><i>1</i>/4</span> <span><i>1</i>/4</span>
<span>已读</span> <span>已读</span>
</div> </div>
@ -30,21 +31,20 @@
</div> </div>
<div class="news-opt"> <div class="news-opt">
<div class="flex"> <div class="flex">
<el-link <el-link type="success" @click="setReplyMsg(item)"
type="success" >引用</el-link
@click="setReplyMsg(item)" >
>引用</el-link>
<el-link <el-link
v-if="item.userType === 2 && item.status === 1" v-if="item.userType === 2 && item.status === 1"
type="success" type="success"
@click="updateMessageStatus(item)" @click="updateMessageStatus(item)"
>通过审核</el-link> >通过审核</el-link
>
</div> </div>
<div class="flex"> <div class="flex">
<el-link <el-link type="success" @click="toPrivateChat(item)"
type="success" >私聊</el-link
@click="toPrivateChat(item)" >
>私聊</el-link>
<el-link type="success" @click="prohibition(item)">{{ <el-link type="success" @click="prohibition(item)">{{
item.isForbidden === 1 ? "取消禁言" : "禁言" item.isForbidden === 1 ? "取消禁言" : "禁言"
@ -54,7 +54,7 @@
</div> </div>
<div class="new-content"> <div class="new-content">
<p v-if="item.contentType === 1">{{ item.content }}</p> <p v-if="item.contentType === 1">{{ item.content }}</p>
<img v-else :src="item.content" alt=""> <img v-else :src="item.content" alt="" />
</div> </div>
</li> </li>
</ul> </ul>
@ -110,10 +110,11 @@ export default {
groupId() { groupId() {
this.keyword = ""; this.keyword = "";
this.list = []; this.list = [];
this.msgIdsObj = {};
this.getMessageList(); this.getMessageList();
}, },
newMsg(msg) { newMsg(msg) {
if (msg.userType === 2) { if (msg.userType === 2 && !this.msgIdsObj[msg.id]) {
this.list.unshift(msg); this.list.unshift(msg);
this.msgIdsObj[msg.id] = msg; this.msgIdsObj[msg.id] = msg;
if (this.msgUserIdsObj[msg.userId]) { if (this.msgUserIdsObj[msg.userId]) {
@ -121,6 +122,8 @@ export default {
} else { } else {
this.msgUserIdsObj[msg.userId] = [msg]; this.msgUserIdsObj[msg.userId] = [msg];
} }
} else if (msg.userType === 2 && this.msgIdsObj[msg.id]) {
Object.assign(this.msgIdsObj[msg.id], msg);
} }
} }
}, },
@ -140,8 +143,9 @@ export default {
this.loading = false; this.loading = false;
}); });
if (ret && ret.code === 0) { if (ret && ret.code === 0) {
this.list = this.list.concat(ret.data.list); let retList = ret.data.list;
this.list.forEach(msg => { this.list = this.list.concat(retList);
retList.forEach(msg => {
this.msgIdsObj[msg.id] = msg; this.msgIdsObj[msg.id] = msg;
if (this.msgUserIdsObj[msg.userId]) { if (this.msgUserIdsObj[msg.userId]) {
this.msgUserIdsObj[msg.userId].push(msg); this.msgUserIdsObj[msg.userId].push(msg);