fix:mediaDevices

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2026-02-25 14:33:50 +07:00
parent 6010c6ff59
commit 662cca4e22

View file

@ -536,6 +536,17 @@ function handleVisibilityChange() {
} }
} }
const isPermissionCameraDenied = ref<boolean>(false) //
async function requestCamera() {
try {
await navigator.mediaDevices.getUserMedia({ video: true })
} catch (err) {
console.error('ผู้ใช้ปฏิเสธการเข้าถึง หรือเกิดข้อผิดพลาด: ', err)
isPermissionCameraDenied.value = true
}
}
/** Hook*/ /** Hook*/
onMounted(async () => { onMounted(async () => {
isLoadingCheckTime.value = true isLoadingCheckTime.value = true
@ -545,6 +556,7 @@ onMounted(async () => {
// privacy // privacy
if (privacyStore.isAccepted) { if (privacyStore.isAccepted) {
mapRef.value?.requestLocationPermission() mapRef.value?.requestLocationPermission()
requestCamera()
} }
// event listeners // event listeners
@ -571,6 +583,7 @@ watch(
(newVal) => { (newVal) => {
if (newVal) { if (newVal) {
mapRef.value?.requestLocationPermission() mapRef.value?.requestLocationPermission()
requestCamera()
} }
} }
) )
@ -658,7 +671,12 @@ watch(
<div <div
v-if="!cameraIsOn && img == null" v-if="!cameraIsOn && img == null"
class="preview-placeholder" class="preview-placeholder"
@click="() => !isDisabledCheckTime && openCamera()" @click="
() =>
!isDisabledCheckTime &&
!isPermissionCameraDenied &&
openCamera()
"
> >
<div class="text-center"> <div class="text-center">
<q-icon <q-icon