默认封面
This commit is contained in:
@ -90,3 +90,10 @@ export function commitQuestionnaire(data) {
|
|||||||
data,
|
data,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function getMeetingSetting() {
|
||||||
|
return request({
|
||||||
|
url: `/app/meetingSetting`,
|
||||||
|
method: "get",
|
||||||
|
});
|
||||||
|
}
|
||||||
|
@ -56,6 +56,7 @@ const router = createRouter({
|
|||||||
});
|
});
|
||||||
|
|
||||||
router.beforeEach(async (to) => {
|
router.beforeEach(async (to) => {
|
||||||
|
await store.dispatch("getMeetingSettings");
|
||||||
// 判断会议信息是否存在,不存在则请求数据
|
// 判断会议信息是否存在,不存在则请求数据
|
||||||
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);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { createStore } from "vuex";
|
import { createStore } from "vuex";
|
||||||
import { getMeetingDetailById } from "@/api/meeting";
|
import { getMeetingDetailById, getMeetingSetting } from "@/api/meeting";
|
||||||
|
|
||||||
const store = createStore({
|
const store = createStore({
|
||||||
state: {
|
state: {
|
||||||
@ -7,6 +7,7 @@ const store = createStore({
|
|||||||
? JSON.parse(localStorage.getItem("JOIN_USER"))
|
? JSON.parse(localStorage.getItem("JOIN_USER"))
|
||||||
: {},
|
: {},
|
||||||
meeting: {},
|
meeting: {},
|
||||||
|
meetingSetting: {},
|
||||||
password: "", //参会密码
|
password: "", //参会密码
|
||||||
joinType: localStorage.getItem("JOINTYPE")
|
joinType: localStorage.getItem("JOINTYPE")
|
||||||
? JSON.parse(localStorage.getItem("JOINTYPE"))
|
? JSON.parse(localStorage.getItem("JOINTYPE"))
|
||||||
@ -32,6 +33,9 @@ const store = createStore({
|
|||||||
state.joinType = data;
|
state.joinType = data;
|
||||||
localStorage.setItem("JOINTYPE", JSON.stringify(data));
|
localStorage.setItem("JOINTYPE", JSON.stringify(data));
|
||||||
},
|
},
|
||||||
|
setMeetingSetting(state, data) {
|
||||||
|
state.meetingSetting = data;
|
||||||
|
},
|
||||||
},
|
},
|
||||||
actions: {
|
actions: {
|
||||||
// 请求会议信息
|
// 请求会议信息
|
||||||
@ -40,6 +44,11 @@ const store = createStore({
|
|||||||
context.commit("setMeetingInfo", data);
|
context.commit("setMeetingInfo", data);
|
||||||
// context.commit("setJoinType", data.joinType);
|
// context.commit("setJoinType", data.joinType);
|
||||||
},
|
},
|
||||||
|
async getMeetingSettings(context) {
|
||||||
|
const { data } = await getMeetingSetting();
|
||||||
|
console.log(data);
|
||||||
|
context.commit("setMeetingSetting", data);
|
||||||
|
},
|
||||||
},
|
},
|
||||||
getters: {
|
getters: {
|
||||||
nickname: (state) => state.joinUser.nickname, // 姓名
|
nickname: (state) => state.joinUser.nickname, // 姓名
|
||||||
@ -58,6 +67,8 @@ const store = createStore({
|
|||||||
textLabelList: (state) => state.meeting.textLabelList,
|
textLabelList: (state) => state.meeting.textLabelList,
|
||||||
questionnaireId: (state) => state.meeting.questionnaireId,
|
questionnaireId: (state) => state.meeting.questionnaireId,
|
||||||
bankId: (state) => state.meeting.bankId,
|
bankId: (state) => state.meeting.bankId,
|
||||||
|
defaultCover: (state) => state.meetingSetting.defaultCover,
|
||||||
|
defaultBackground: (state) => state.meetingSetting.defaultBackground,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<img class="meeting-cover" :src="meeting.meetingPic" alt="" />
|
<img
|
||||||
|
class="meeting-cover"
|
||||||
|
:src="meeting.meetingPic ? meeting.meetingPic : store.getters.defaultCover"
|
||||||
|
alt=""
|
||||||
|
/>
|
||||||
<h3 class="meeting-title">{{ meeting.meetingName }}</h3>
|
<h3 class="meeting-title">{{ meeting.meetingName }}</h3>
|
||||||
<p class="meeting-time">
|
<p class="meeting-time">
|
||||||
<span class="title">会议时间</span>
|
<span class="title">会议时间</span>
|
||||||
|
@ -97,15 +97,6 @@
|
|||||||
:showDialog="showQuestionnaireDialog"
|
:showDialog="showQuestionnaireDialog"
|
||||||
@close="showQuestionnaireDialog = $event"
|
@close="showQuestionnaireDialog = $event"
|
||||||
></questions>
|
></questions>
|
||||||
<el-dialog v-model="showHorizontalScreen" fullscreen :show-close="false">
|
|
||||||
<el-result icon="warning" title="无法全屏" sub-title="请先将手机横过来">
|
|
||||||
<template #icon>
|
|
||||||
<svg class="icon" aria-hidden="true">
|
|
||||||
<use xlink:href="#icon-hengping"></use>
|
|
||||||
</svg>
|
|
||||||
</template>
|
|
||||||
</el-result>
|
|
||||||
</el-dialog>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -178,7 +169,6 @@ const meetingConfig = reactive({
|
|||||||
});
|
});
|
||||||
|
|
||||||
// 开始会议
|
// 开始会议
|
||||||
const isJoinFirstTime = ref(true);
|
|
||||||
const startMeeting = async () => {
|
const startMeeting = async () => {
|
||||||
const { sign } = await generateSignature({
|
const { sign } = await generateSignature({
|
||||||
meetingNumber: store.getters.meetingNumber,
|
meetingNumber: store.getters.meetingNumber,
|
||||||
@ -228,8 +218,7 @@ const startMeeting = async () => {
|
|||||||
userEmail: meetingConfig.userEmail,
|
userEmail: meetingConfig.userEmail,
|
||||||
tk: meetingConfig.registrantToken,
|
tk: meetingConfig.registrantToken,
|
||||||
});
|
});
|
||||||
isJoinFirstTime.value = false;
|
|
||||||
console.log(meetingConfig.client.getAttendeeslist());
|
|
||||||
document.querySelector("#suspension-view-tab-thumbnail-gallery").click();
|
document.querySelector("#suspension-view-tab-thumbnail-gallery").click();
|
||||||
|
|
||||||
// 自动点击允许共享屏幕 //TODO:自动点击按钮
|
// 自动点击允许共享屏幕 //TODO:自动点击按钮
|
||||||
@ -271,9 +260,6 @@ const setSize = () => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
window.client = meetingConfig.client;
|
|
||||||
window.startMeeting = startMeeting;
|
|
||||||
|
|
||||||
// 设置文本标签
|
// 设置文本标签
|
||||||
const setTextLabel = () => {
|
const setTextLabel = () => {
|
||||||
document.querySelectorAll(".text-tag").forEach((el) => {
|
document.querySelectorAll(".text-tag").forEach((el) => {
|
||||||
@ -294,6 +280,7 @@ const setTextLabel = () => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 自动翻页到开启摄像头的用户
|
||||||
const switchToVideoOn = () => {
|
const switchToVideoOn = () => {
|
||||||
const prevBtn = document.querySelector(
|
const prevBtn = document.querySelector(
|
||||||
"#suspension-view-tabpanel-ribbon>div>div:last-child>.zmwebsdk-MuiBox-root>button:first-child"
|
"#suspension-view-tabpanel-ribbon>div>div:last-child>.zmwebsdk-MuiBox-root>button:first-child"
|
||||||
@ -340,13 +327,11 @@ const switchToVideoOn = () => {
|
|||||||
clearInterval(timer);
|
clearInterval(timer);
|
||||||
}
|
}
|
||||||
}, 100);
|
}, 100);
|
||||||
// console.log(isNextBtnHidden);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const inSharing = ref(false); // 共享屏幕是否开启
|
const inSharing = ref(false); // 共享屏幕是否开启
|
||||||
const attendeeslist = ref("");
|
const attendeeslist = ref("");
|
||||||
setInterval(() => {
|
setInterval(() => {
|
||||||
screenWidth.value = window.screen.width;
|
|
||||||
// 共享屏幕状态变化
|
// 共享屏幕状态变化
|
||||||
const screenShareEl = document.querySelector(
|
const screenShareEl = document.querySelector(
|
||||||
`div[class*="zmwebsdk-makeStyles-inSharing"]`
|
`div[class*="zmwebsdk-makeStyles-inSharing"]`
|
||||||
@ -436,16 +421,8 @@ watch(attendeeslist, (val) => {
|
|||||||
// 点击进入全屏模式
|
// 点击进入全屏模式
|
||||||
const fullscreenWrapRef = ref(null);
|
const fullscreenWrapRef = ref(null);
|
||||||
const isVerticalFullScreen = ref(false);
|
const isVerticalFullScreen = ref(false);
|
||||||
const showHorizontalScreen = ref(false);
|
|
||||||
const setFullScreen = async () => {
|
const setFullScreen = async () => {
|
||||||
// if (window.orientation === 0) {
|
|
||||||
// // ElMessageBox.prompt("请将手机横过来");
|
|
||||||
// showHorizontalScreen.value = true;
|
|
||||||
// setTimeout(() => {
|
|
||||||
// showHorizontalScreen.value = false;
|
|
||||||
// }, 1500);
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
try {
|
try {
|
||||||
document.querySelector(".fullscreen-wrap").requestFullscreen();
|
document.querySelector(".fullscreen-wrap").requestFullscreen();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
@ -700,7 +677,7 @@ onMounted(() => {
|
|||||||
});
|
});
|
||||||
// 当修改窗口尺寸时
|
// 当修改窗口尺寸时
|
||||||
window.addEventListener("resize", (e) => {
|
window.addEventListener("resize", (e) => {
|
||||||
console.log(e);
|
screenWidth.value = window.screen.width;
|
||||||
meetingWidth.value = meetingContainerRef.value.offsetWidth * 0.96;
|
meetingWidth.value = meetingContainerRef.value.offsetWidth * 0.96;
|
||||||
meetingHeight.value = (meetingWidth.value * 9) / 16;
|
meetingHeight.value = (meetingWidth.value * 9) / 16;
|
||||||
if (!document.fullscreenElement) {
|
if (!document.fullscreenElement) {
|
||||||
@ -743,9 +720,12 @@ onUnmounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
$meetingComponentWitdh: 80vw * 0.96;
|
$meetingComponentWitdh: 80vw * 0.96; // 会议组件宽度
|
||||||
$meetingComponentHeight: $meetingComponentWitdh * 9 / 16;
|
$meetingComponentHeight: $meetingComponentWitdh * 9 / 16;
|
||||||
|
|
||||||
|
$meetingBackgroundWidth: 80vw; //会议背景宽度
|
||||||
|
$meetingBackgroundHeight: 80vw * 9 / 16;
|
||||||
|
|
||||||
:deep(#right-chat .chat-container .message-list) {
|
:deep(#right-chat .chat-container .message-list) {
|
||||||
height: $meetingComponentWitdh * 9 / 16;
|
height: $meetingComponentWitdh * 9 / 16;
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
@ -760,7 +740,7 @@ $meetingComponentHeight: $meetingComponentWitdh * 9 / 16;
|
|||||||
padding-top: calc(80vw * 0.08);
|
padding-top: calc(80vw * 0.08);
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
width: 80vw;
|
width: $meetingBackgroundWidth;
|
||||||
position: relative;
|
position: relative;
|
||||||
#video-element {
|
#video-element {
|
||||||
width: $meetingComponentWitdh;
|
width: $meetingComponentWitdh;
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<img class="meeting-cover" :src="meeting.meetingPic" alt="" />
|
<img
|
||||||
|
class="meeting-cover"
|
||||||
|
:src="meeting.meetingPic ? meeting.meetingPic : store.getters.defaultCover"
|
||||||
|
alt=""
|
||||||
|
/>
|
||||||
<h3 class="meeting-title">{{ meeting.meetingName }}</h3>
|
<h3 class="meeting-title">{{ meeting.meetingName }}</h3>
|
||||||
<p class="meeting-time">
|
<p class="meeting-time">
|
||||||
<span class="title">会议时间</span>
|
<span class="title">会议时间</span>
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<img class="meeting-cover" :src="meeting.meetingPic" alt="" />
|
<img
|
||||||
|
class="meeting-cover"
|
||||||
|
:src="meeting.meetingPic ? meeting.meetingPic : store.getters.defaultCover"
|
||||||
|
alt=""
|
||||||
|
/>
|
||||||
<h3 class="meeting-title">{{ meeting.meetingName }}</h3>
|
<h3 class="meeting-title">{{ meeting.meetingName }}</h3>
|
||||||
<p class="meeting-time">
|
<p class="meeting-time">
|
||||||
<span class="title">会议时间</span>
|
<span class="title">会议时间</span>
|
||||||
|
Reference in New Issue
Block a user