嘉宾参会

This commit is contained in:
cxc
2022-05-26 17:33:16 +08:00
parent 7dee95c3ca
commit 2eb9e43df2
7 changed files with 752 additions and 36 deletions

View File

@ -7,6 +7,7 @@ import {
whitelistJoinMeeting,
registerJoinUser,
visitorJoinUser,
panelistJoinMeeting,
} from "@/api/meeting";
const router = createRouter({
history: createWebHistory(),
@ -21,20 +22,30 @@ const router = createRouter({
name: "Verify",
component: () => import("@/views/verify.vue"),
},
{
path: "/panelist-verify/:meetingId",
name: "PanelistVerify",
component: () => import("@/views/panelist-verify.vue"),
},
{
path: "/meeting/:meetingId",
name: "Meeting",
component: () => import("@/views/meeting.vue"),
},
{
path: "/panelist/:meetingId",
name: "Panelist",
component: () => import("@/views/meeting.vue"),
},
// {
// path: "/host/:meetingId/:hostinfo",
// name: "Host",
// component: () => import("@/views/host.vue"),
// },
{
path: "/host/:meetingId/:pwd/:username/:nickname",
path: "/host/:meetingId/:createEmail/:pwd/:username/:nickname",
name: "Host",
component: () => import("@/views/host.vue"),
component: () => import("@/views/host_new.vue"),
},
{
path: "/:pathMatch(.*)*",
@ -57,6 +68,7 @@ router.beforeEach(async (to) => {
store.commit("setJoinUser", {
nickname: to.params.nickname,
username: to.params.username,
email: to.params.createEmail,
});
store.commit("setPassword", to.params.pwd);
return true;
@ -81,11 +93,11 @@ router.beforeEach(async (to) => {
if (store.state.joinUser.icCard) {
// 检测输入的IC卡号是否在白名单范围内是则放行否则返回原地址
try {
const { data } = await whitelistJoinMeeting({
const { meetingPassword } = await whitelistJoinMeeting({
meetingId: to.params.meetingId,
icCard: store.state.joinUser.icCard,
});
store.commit("setPassword", data);
store.commit("setPassword", meetingPassword);
return true;
} catch (error) {
store.commit("setJoinUser", {});
@ -101,16 +113,54 @@ router.beforeEach(async (to) => {
return `/verify/${to.params.meetingId}`;
} else {
if (store.state.meeting.joinType === "2") {
const { data } = await registerJoinUser(store.state.joinUser);
store.commit("setPassword", data);
const { meetingPassword, email } = await registerJoinUser(
store.state.joinUser
);
store.commit("setJoinUser", {
...store.state.joinUser,
email: email.email,
token: email.token,
});
store.commit("setPassword", meetingPassword);
} else {
const { data } = await visitorJoinUser(store.state.joinUser);
store.commit("setPassword", data);
const { meetingPassword } = await visitorJoinUser(
store.state.joinUser
);
store.commit("setPassword", meetingPassword);
}
return true;
}
}
}
if (to.name === "Panelist") {
console.log("Panelist");
// 如果要去的页面会议号于 vuex中的不一样则清除数据
if (to.params.meetingId !== store.state.joinUser.meetingId) {
console.log('dis');
store.commit("setJoinUser", {});
}
if (store.state.joinUser.icCard) {
try {
const { meetingPassword, email } = await panelistJoinMeeting({
meetingId: to.params.meetingId,
icCard: store.state.joinUser.icCard,
});
store.commit("setJoinUser", {
...store.state.joinUser,
email: email.email,
token: email.token,
});
store.commit("setPassword", meetingPassword);
return true;
} catch (error) {
store.commit("setJoinUser", {});
return `/panelist-verify/${to.params.meetingId}`;
}
} else {
store.commit("setJoinUser", {});
return `/panelist-verify/${to.params.meetingId}`;
}
}
});
export default router;