Отключаемый модуль (instance_settings.device_check, дефолт выключен): запрос доступа к камере/микрофону на LoginPage и в карточке "Как вас зовут?" (JoinPage), живое зеркальное превью и кнопки вкл/выкл камеры и микрофона там же. На JoinPage кнопки определяют, с чем гость войдёт в конференцию (RoomPage.LiveKitRoom audio/video вместо жёстких false) — на LoginPage только пре-авторизуют разрешение, без UI (карточка ведёт в лобби, применить выбор некуда). Вход в комнату по умолчанию, как и раньше, с выключенными микрофоном/камерой. Публичный GET /api/v1/public/settings отдаёт флаг модуля обеим страницам до аутентификации.
14 lines
770 B
TypeScript
14 lines
770 B
TypeScript
/** Публичные настройки инстанса — доступны без аутентификации (`GET /public/settings`). */
|
|
import { apiRequest } from '@/api/client'
|
|
|
|
/** Флаги, нужные странице логина и гостевой карточке входа до аутентификации. */
|
|
export interface PublicSettingsOut {
|
|
/** Проверка устройств на входе (сессия 33) — запрос доступа к камере/микрофону
|
|
* и превью камеры на LoginPage/JoinPage. */
|
|
device_check_enabled: boolean
|
|
}
|
|
|
|
export async function getPublicSettings(): Promise<PublicSettingsOut> {
|
|
return apiRequest<PublicSettingsOut>('/public/settings', { skipAuthRefresh: true })
|
|
}
|