fix: use snake_case invoke commands

This commit is contained in:
2026-06-15 11:56:55 +08:00
parent edab5158f0
commit c9964ce4fb
25167 changed files with 9271 additions and 15148 deletions

View File

@@ -166,15 +166,21 @@ const skippedPeople = computed(() => {
onMounted(async () => {
// Wait for Tauri to be ready
const tauri = (window as any).__TAURI_INTERNALS__ || (window as any).__TAURI__
let tauri = (window as any).__TAURI_INTERNALS__ || (window as any).__TAURI__
let retries = 0
while (!tauri && retries < 20) {
await new Promise(r => setTimeout(r, 100))
tauri = (window as any).__TAURI_INTERNALS__ || (window as any).__TAURI__
retries++
}
if (!tauri) {
console.error('Tauri not available - must run inside Tauri webview')
console.error('Tauri not available after waiting')
loading.value = false
return
}
try {
console.log('PeopleView: Tauri available, calling getPeople...')
const result = await invoke('getPeople', { page: 1, perPage: 1000 })
const result = await invoke('get_people', { page: 1, perPage: 1000 })
console.log('PeopleView: getPeople raw result type:', typeof result)
console.log('PeopleView: getPeople raw result:', result)
console.log('PeopleView: isArray?', Array.isArray(result))
@@ -191,7 +197,7 @@ onMounted(async () => {
loading.value = false
}
try {
const fc: any = await invoke('getFaceCandidates', { page: 1, perPage: 100 })
const fc: any = await invoke('get_face_candidates', { page: 1, perPage: 100 })
faceCandidates.value = Array.isArray(fc) ? fc : []
} catch (e) {
console.error('Failed to load face candidates:', e)
@@ -209,7 +215,7 @@ function onSearch() {
searchTimer = setTimeout(async () => {
if (!searchQuery.value.trim()) { isSearching.value = false; return }
try {
const results: any = await invoke('searchIdentities', { query: searchQuery.value, limit: 50 })
const results: any = await invoke('search_identities', { query: searchQuery.value, limit: 50 })
searchResults.value = Array.isArray(results) ? results : []
isSearching.value = true
} catch (e) { console.error('Search failed:', e) }
@@ -218,12 +224,12 @@ function onSearch() {
async function loadProfile(uuid: string) {
if (profiles.value[uuid]) return
try { profiles.value[uuid] = await invoke('getIdentityProfile', { uuid }) } catch {}
try { profiles.value[uuid] = await invoke('get_identity_profile', { uuid }) } catch {}
}
async function loadCandidateThumb(uuid: string) {
if (!uuid || candidateThumbs.value[uuid]) return
try { candidateThumbs.value[uuid] = await invoke('getThumbnail', { uuid, frame: 30 }) } catch {}
try { candidateThumbs.value[uuid] = await invoke('get_thumbnail', { uuid, frame: 30 }) } catch {}
}
function selectPerson(p: any) {
@@ -240,7 +246,7 @@ async function toggleStar() {
async function confirmDelete() {
if (!confirm(`Delete "${selected.value.name}"?`)) return
try {
await invoke('deleteIdentity', { uuid: selected.value.identity_uuid })
await invoke('delete_identity', { uuid: selected.value.identity_uuid })
people.value = people.value.filter((p: any) => p.identity_uuid !== selected.value.identity_uuid)
selected.value = null
} catch (e) { console.error('Failed to delete:', e) }
@@ -248,7 +254,7 @@ async function confirmDelete() {
async function loadCandidates() {
try {
const result: any = await invoke('getFaceCandidates', { page: 1, perPage: 50 })
const result: any = await invoke('get_face_candidates', { page: 1, perPage: 50 })
candidates.value = Array.isArray(result) ? result : []
} catch (e) { console.error('Failed to load candidates:', e) }
}
@@ -256,7 +262,7 @@ async function loadCandidates() {
async function bindCandidate(c: any) {
if (!selected.value) return
try {
await invoke('bindFace', { uuid: selected.value.identity_uuid, faceId: String(c.id), fileUuid: c.file_uuid })
await invoke('bind_face', { uuid: selected.value.identity_uuid, faceId: String(c.id), fileUuid: c.file_uuid })
showCandidates.value = false
if (selected.value) selectPerson(selected.value)
} catch (e) { console.error('Bind failed:', e) }
@@ -265,7 +271,7 @@ async function bindCandidate(c: any) {
async function confirmMerge() {
if (!selected.value || !mergeTarget.value) return
try {
await invoke('mergeIdentities', { uuid: selected.value.identity_uuid, intoUuid: mergeTarget.value })
await invoke('merge_identities', { uuid: selected.value.identity_uuid, intoUuid: mergeTarget.value })
showMerge.value = false
people.value = people.value.filter((p: any) => p.identity_uuid !== selected.value.identity_uuid)
selected.value = null
@@ -301,12 +307,12 @@ function ctxAction(action: string) {
const idx = people.value.findIndex((x: any) => x.identity_uuid === p.identity_uuid)
if (idx >= 0) people.value[idx].starred = p.starred
} else if (action === 'skip') {
invoke('updateIdentityStatus', { uuid: p.identity_uuid, status: 'skipped' }).then(() => {
invoke('update_identity_status', { uuid: p.identity_uuid, status: 'skipped' }).then(() => {
const idx = people.value.findIndex((x: any) => x.identity_uuid === p.identity_uuid)
if (idx >= 0) people.value[idx].status = 'skipped'
}).catch(e => console.error('Skip failed:', e))
} else if (action === 'confirm') {
invoke('updateIdentityStatus', { uuid: p.identity_uuid, status: 'confirmed' }).then(() => {
invoke('update_identity_status', { uuid: p.identity_uuid, status: 'confirmed' }).then(() => {
const idx = people.value.findIndex((x: any) => x.identity_uuid === p.identity_uuid)
if (idx >= 0) people.value[idx].status = 'confirmed'
}).catch(e => console.error('Confirm failed:', e))

View File

@@ -158,7 +158,7 @@ onMounted(async () => {
console.log('PersonDetailView mounted, uuid:', uuid)
try {
console.log('Calling getPeople with uuid:', uuid)
const people: any = await invoke('getPeople', { page: 1, perPage: 1000 })
const people: any = await invoke('get_people', { page: 1, perPage: 1000 })
console.log('getPeople raw result:', JSON.stringify(people).slice(0, 200))
console.log('getPeople result count:', Array.isArray(people) ? people.length : 'not array')
peopleCount.value = Array.isArray(people) ? people.length : 0
@@ -179,7 +179,7 @@ onMounted(async () => {
})
async function loadProfile(uuid: string) {
try { profile.value = await invoke('getIdentityProfile', { uuid }) } catch {}
try { profile.value = await invoke('get_identity_profile', { uuid }) } catch {}
}
async function loadFaces(uuid: string) {
@@ -224,7 +224,7 @@ async function loadMedia(uuid: string) {
async function loadCandidates() {
try {
const result: any = await invoke('getFaceCandidates', { page: 1, perPage: 100 })
const result: any = await invoke('get_face_candidates', { page: 1, perPage: 100 })
candidates.value = (Array.isArray(result) ? result : []).map((c: any) => ({
...c,
thumbUrl: c.file_uuid ? `${CORE_API}/api/v1/file/${c.file_uuid}/thumbnail?api_key=${API_KEY}&frame=${c.frame_number || 0}` : ''
@@ -245,7 +245,7 @@ async function toggleStar() {
async function confirmDelete() {
if (!person.value || !confirm(`Delete "${person.value.name}"?`)) return
try {
await invoke('deleteIdentity', { uuid: person.value.identity_uuid })
await invoke('delete_identity', { uuid: person.value.identity_uuid })
router.back()
} catch (e) { console.error('Failed to delete:', e) }
}
@@ -253,7 +253,7 @@ async function confirmDelete() {
async function bindCandidate(c: any) {
if (!person.value) return
try {
await invoke('bindFace', { uuid: person.value.identity_uuid, faceId: String(c.id), fileUuid: c.file_uuid })
await invoke('bind_face', { uuid: person.value.identity_uuid, faceId: String(c.id), fileUuid: c.file_uuid })
showCandidates.value = false
await loadFaces(person.value.identity_uuid)
} catch (e) { console.error('Bind failed:', e) }
@@ -262,7 +262,7 @@ async function bindCandidate(c: any) {
async function confirmMerge() {
if (!person.value || !mergeTarget.value) return
try {
await invoke('mergeIdentities', { uuid: person.value.identity_uuid, intoUuid: mergeTarget.value })
await invoke('merge_identities', { uuid: person.value.identity_uuid, intoUuid: mergeTarget.value })
router.back()
} catch (e) { console.error('Merge failed:', e) }
}