Feat: add guest permission setting
This commit is contained in:
parent
0a7a774354
commit
b327c075ec
|
@ -45,6 +45,7 @@ const getRoomSettings = async () => {
|
|||
});
|
||||
if (!state.value) return;
|
||||
userDefaultPermissions.value = parsePermissions(state.value.user_default_permissions, "member");
|
||||
guestPermissions.value = parsePermissions(state.value.guest_permissions, "member");
|
||||
for (const setting in state.value) {
|
||||
if (settings.value.has(setting)) {
|
||||
settings.value.set(setting, {
|
||||
|
@ -148,6 +149,11 @@ const computedUserDefaultPermissions = computed(() =>
|
|||
userDefaultPermissions.value.reduce((total, permission) => total | permission, 0)
|
||||
);
|
||||
|
||||
const guestPermissions = ref<number[]>([]);
|
||||
const computedGuestPermissions = computed(() =>
|
||||
guestPermissions.value.reduce((total, permission) => total | permission, 0)
|
||||
);
|
||||
|
||||
defineExpose({
|
||||
openDrawer
|
||||
});
|
||||
|
@ -213,6 +219,31 @@ defineExpose({
|
|||
>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="访客权限">
|
||||
<div class="flex">
|
||||
<el-select
|
||||
v-model="guestPermissions"
|
||||
multiple
|
||||
collapse-tags
|
||||
collapse-tags-tooltip
|
||||
:disabled="!isAdmin && !can(RoomAdminPermission.PermissionSetRoomSettings)"
|
||||
>
|
||||
<el-option
|
||||
v-for="(item, i) in roomMemberPermissionKeys"
|
||||
:key="i"
|
||||
:label="
|
||||
roomMemberPermissionKeysTranslate[item.value as unknown as RoomMemberPermission]
|
||||
"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
<el-button
|
||||
v-if="isAdmin && can(RoomAdminPermission.PermissionSetRoomSettings)"
|
||||
@click="updateSet('guest_permissions', computedGuestPermissions)"
|
||||
>更新</el-button
|
||||
>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="房间密码">
|
||||
<el-input v-model.trim.lazy="password" show-password>
|
||||
<template #append v-if="can(RoomAdminPermission.PermissionSetRoomPassword)">
|
||||
|
|
|
@ -162,6 +162,7 @@ export const roomSettingsApi = useDefineApi<
|
|||
disable_join_new_user: boolean;
|
||||
join_need_review: boolean;
|
||||
user_default_permissions: number;
|
||||
guest_permissions: number;
|
||||
can_get_movie_list: boolean;
|
||||
can_add_movie: boolean;
|
||||
can_delete_movie: boolean;
|
||||
|
|
Loading…
Reference in New Issue