敏感词提示
This commit is contained in:
@ -118,7 +118,7 @@ const openRichMessageEditor = () => {
|
|||||||
const sendMessage = () => {
|
const sendMessage = () => {
|
||||||
const msgObj = {
|
const msgObj = {
|
||||||
id: uniqueId(),
|
id: uniqueId(),
|
||||||
account,
|
account: account.value,
|
||||||
msg: editingMessage.value,
|
msg: editingMessage.value,
|
||||||
isMe: true,
|
isMe: true,
|
||||||
time: dayjs().format("YYYY-MM-DD HH:mm:ss"),
|
time: dayjs().format("YYYY-MM-DD HH:mm:ss"),
|
||||||
|
@ -67,12 +67,24 @@ router.beforeEach(async (to) => {
|
|||||||
if (!store.state.meeting.id && to.params.meetingId) {
|
if (!store.state.meeting.id && to.params.meetingId) {
|
||||||
await store.dispatch("getMeetingInfo", to.params.meetingId);
|
await store.dispatch("getMeetingInfo", to.params.meetingId);
|
||||||
}
|
}
|
||||||
|
// 当路由类型(host,panelist,meeting,supervisor)改变时,清空用户信息、消息列表
|
||||||
|
// if (store.state.routeType !== to.name) {
|
||||||
|
// store.commit("setMessagesList", []);
|
||||||
|
// store.commit("setJoinUser", {});
|
||||||
|
// }
|
||||||
|
// store.commit("setRouteType", to.name);
|
||||||
|
|
||||||
|
// 如果前往页面的会议id于之前的不同,就清除用户信息、消息列表
|
||||||
|
if (to.params.meetingId !== store.state.joinUser.meetingId) {
|
||||||
|
store.commit("setJoinUser", {});
|
||||||
|
store.commit("setMessagesList", []);
|
||||||
|
}
|
||||||
// 前往主持人页面
|
// 前往主持人页面
|
||||||
if (to.name === "Host") {
|
if (to.name === "Host") {
|
||||||
console.log("host");
|
// console.log("host");
|
||||||
if (to.params.meetingId !== store.state.joinUser.meetingId) {
|
// if (to.params.meetingId !== store.state.joinUser.meetingId) {
|
||||||
store.commit("setMessagesList", []);
|
// store.commit("setMessagesList", []);
|
||||||
}
|
// }
|
||||||
store.commit("setJoinUser", {
|
store.commit("setJoinUser", {
|
||||||
meetingId: to.params.meetingId,
|
meetingId: to.params.meetingId,
|
||||||
nickname: to.params.nickname,
|
nickname: to.params.nickname,
|
||||||
@ -85,10 +97,10 @@ router.beforeEach(async (to) => {
|
|||||||
// 如果要前往参会页面
|
// 如果要前往参会页面
|
||||||
else if (to.name === "Meeting") {
|
else if (to.name === "Meeting") {
|
||||||
// 如果要去的页面会议号于 vuex中的不一样,则清除数据
|
// 如果要去的页面会议号于 vuex中的不一样,则清除数据
|
||||||
if (to.params.meetingId !== store.state.joinUser.meetingId) {
|
// if (to.params.meetingId !== store.state.joinUser.meetingId) {
|
||||||
store.commit("setJoinUser", {});
|
// store.commit("setJoinUser", {});
|
||||||
store.commit("setMessagesList", []);
|
// store.commit("setMessagesList", []);
|
||||||
}
|
// }
|
||||||
// 如果参会方式发生更改,则清除数据
|
// 如果参会方式发生更改,则清除数据
|
||||||
if (
|
if (
|
||||||
store.state.joinType &&
|
store.state.joinType &&
|
||||||
@ -153,10 +165,10 @@ router.beforeEach(async (to) => {
|
|||||||
}
|
}
|
||||||
} else if (to.name === "Panelist") {
|
} else if (to.name === "Panelist") {
|
||||||
// 如果要去的页面会议号于 vuex中的不一样,则清除数据
|
// 如果要去的页面会议号于 vuex中的不一样,则清除数据
|
||||||
if (to.params.meetingId !== store.state.joinUser.meetingId) {
|
// if (to.params.meetingId !== store.state.joinUser.meetingId) {
|
||||||
store.commit("setJoinUser", {});
|
// store.commit("setJoinUser", {});
|
||||||
store.commit("setMessagesList", []);
|
// store.commit("setMessagesList", []);
|
||||||
}
|
// }
|
||||||
if (store.state.joinUser.icCard) {
|
if (store.state.joinUser.icCard) {
|
||||||
try {
|
try {
|
||||||
const { meetingPassword, email } = await panelistJoinMeeting({
|
const { meetingPassword, email } = await panelistJoinMeeting({
|
||||||
|
@ -15,6 +15,9 @@ const store = createStore({
|
|||||||
joinType: localStorage.getItem("JOINTYPE")
|
joinType: localStorage.getItem("JOINTYPE")
|
||||||
? JSON.parse(localStorage.getItem("JOINTYPE"))
|
? JSON.parse(localStorage.getItem("JOINTYPE"))
|
||||||
: "",
|
: "",
|
||||||
|
routeType: localStorage.getItem("ROUTETYPE")
|
||||||
|
? localStorage.getItem("ROUTETYPE")
|
||||||
|
: "",
|
||||||
},
|
},
|
||||||
mutations: {
|
mutations: {
|
||||||
// 设置参会人员信息
|
// 设置参会人员信息
|
||||||
@ -43,6 +46,10 @@ const store = createStore({
|
|||||||
state.messagesList = data;
|
state.messagesList = data;
|
||||||
localStorage.setItem("MESSAGES", JSON.stringify(data));
|
localStorage.setItem("MESSAGES", JSON.stringify(data));
|
||||||
},
|
},
|
||||||
|
setRouteType(state, data) {
|
||||||
|
state.routeType = data;
|
||||||
|
localStorage.setItem("ROUTETYPE", data);
|
||||||
|
},
|
||||||
},
|
},
|
||||||
actions: {
|
actions: {
|
||||||
// 请求会议信息
|
// 请求会议信息
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="joinuser-item" v-if="fieldConfig.phone">
|
<div class="joinuser-item" v-if="fieldConfig.phone">
|
||||||
<el-form-item label="手机号" prop="phone">
|
<el-form-item label="手机号" prop="phone">
|
||||||
<el-input v-model="appointForm.phone" placeholder="请输入手机号" />
|
<el-input v-model="appointForm.phone" maxlength="11" placeholder="请输入手机号" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
<div class="joinuser-item" v-if="fieldConfig.unit">
|
<div class="joinuser-item" v-if="fieldConfig.unit">
|
||||||
|
@ -64,6 +64,12 @@
|
|||||||
@send="sendMessage"
|
@send="sendMessage"
|
||||||
/>
|
/>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
|
<!-- <el-tab-pane label="其他"> -->
|
||||||
|
<!-- // 签到、考试、问卷弹窗 -->
|
||||||
|
<!-- <el-row :gutter="10"> -->
|
||||||
|
<!-- <el-col :xs="24" :sm="24" :md="8" :lg="3" :xl="1"></el-col> -->
|
||||||
|
<!-- </el-row> -->
|
||||||
|
<!-- </el-tab-pane> -->
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
|
|
||||||
<el-dialog
|
<el-dialog
|
||||||
@ -121,12 +127,7 @@ import { uniqueId } from "lodash";
|
|||||||
import ZoomMtgEmbedded from "@zoomus/websdk/embedded";
|
import ZoomMtgEmbedded from "@zoomus/websdk/embedded";
|
||||||
import ReconnectingWebSocket from "reconnecting-websocket";
|
import ReconnectingWebSocket from "reconnecting-websocket";
|
||||||
import { ElMessage, ElMessageBox } from "element-plus";
|
import { ElMessage, ElMessageBox } from "element-plus";
|
||||||
import {
|
import { FullScreen, CloseBold } from "@element-plus/icons-vue";
|
||||||
FullScreen,
|
|
||||||
CloseBold,
|
|
||||||
Microphone,
|
|
||||||
Mute,
|
|
||||||
} from "@element-plus/icons-vue";
|
|
||||||
import { signMeeting, generateSignature } from "@/api/meeting";
|
import { signMeeting, generateSignature } from "@/api/meeting";
|
||||||
import Chat from "@/components/chat";
|
import Chat from "@/components/chat";
|
||||||
import mediaCheck from "@/components/mediaCheck.vue";
|
import mediaCheck from "@/components/mediaCheck.vue";
|
||||||
@ -148,7 +149,10 @@ screenWidth.value = window.screen.width;
|
|||||||
const joinName = ref(""); // 显示昵称
|
const joinName = ref(""); // 显示昵称
|
||||||
const joinAccount = ref(""); // 用于连接 websocket,提交考试
|
const joinAccount = ref(""); // 用于连接 websocket,提交考试
|
||||||
joinAccount.value =
|
joinAccount.value =
|
||||||
store.getters.icCard || store.getters.phone || store.getters.nickname;
|
store.getters.username ||
|
||||||
|
store.getters.icCard ||
|
||||||
|
store.getters.phone ||
|
||||||
|
store.getters.nickname;
|
||||||
joinName.value =
|
joinName.value =
|
||||||
store.getters.nickname || store.getters.phone || store.getters.icCard;
|
store.getters.nickname || store.getters.phone || store.getters.icCard;
|
||||||
|
|
||||||
@ -547,7 +551,14 @@ const initWebSocket = () => {
|
|||||||
|
|
||||||
// 监听websocket消息
|
// 监听websocket消息
|
||||||
socket.addEventListener("message", async (event) => {
|
socket.addEventListener("message", async (event) => {
|
||||||
const data = JSON.parse(JSON.parse(event.data));
|
// console.log(JSON.parse(event.data));
|
||||||
|
let data;
|
||||||
|
try {
|
||||||
|
data = JSON.parse(JSON.parse(event.data));
|
||||||
|
} catch (error) {
|
||||||
|
console.log(error);
|
||||||
|
data = JSON.parse(event.data);
|
||||||
|
}
|
||||||
console.log(data);
|
console.log(data);
|
||||||
// 会议信息更新时
|
// 会议信息更新时
|
||||||
if (data.type === "isRefreshMeeting") {
|
if (data.type === "isRefreshMeeting") {
|
||||||
@ -574,6 +585,11 @@ const initWebSocket = () => {
|
|||||||
});
|
});
|
||||||
store.commit("setMessagesList", messages.value);
|
store.commit("setMessagesList", messages.value);
|
||||||
}
|
}
|
||||||
|
// 当检测到敏感词时
|
||||||
|
else if (data.type === "isSensitive") {
|
||||||
|
console.log("敏感词");
|
||||||
|
ElMessage.error(`消息未发送成功,因为包含违禁词:${data.content}。`);
|
||||||
|
}
|
||||||
// 开始签到时
|
// 开始签到时
|
||||||
else if (data.type === "isStartSign" && route.name === "Meeting") {
|
else if (data.type === "isStartSign" && route.name === "Meeting") {
|
||||||
showSignDialog.value = true;
|
showSignDialog.value = true;
|
||||||
|
@ -44,7 +44,7 @@
|
|||||||
<el-input
|
<el-input
|
||||||
v-model.number="newJoinUser.phone"
|
v-model.number="newJoinUser.phone"
|
||||||
placeholder="请输入手机号"
|
placeholder="请输入手机号"
|
||||||
max="11"
|
maxlength="11"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
|
Reference in New Issue
Block a user