Internal error occurred but is skipped: FindTagsByCommitIDs

Files
CamTalk/desktop/main/permissions.ts

43 lines
1.4 KiB
TypeScript
Raw Normal View History

2026-06-14 18:10:58 +08:00
// ============================================================
// 权限管理 — 自动授予摄像头、麦克风权限
// 职责绕过浏览器的权限弹窗Electron 下直接授权
// ============================================================
import { session } from 'electron'
/**
*
* Electron Main Process
*/
export function setupPermissions(): void {
const allowedPermissions = [
'media', // 摄像头和麦克风
'mediaKeySystem', // 媒体键
'notifications', // 通知
'clipboard-sanitized-write', // 剪贴板写入
]
// 处理权限请求
session.defaultSession.setPermissionRequestHandler(
(_webContents, permission, callback, details) => {
console.log(`[Permissions] 收到权限请求: ${permission}`, details)
if (allowedPermissions.includes(permission)) {
console.log(`[Permissions] ✅ 已授予: ${permission}`)
callback(true)
} else {
console.warn(`[Permissions] ❌ 拒绝权限请求: ${permission}`)
callback(false)
}
}
)
// 权限检查:对允许的权限始终返回已授权
session.defaultSession.setPermissionCheckHandler(
(_webContents, permission) => {
return allowedPermissions.includes(permission)
}
)
console.log('[Permissions] 已设置权限自动授予:', allowedPermissions.join(', '))
}