diff --git a/src/views/PeopleView.vue b/src/views/PeopleView.vue
index 1648d81..d620ed6 100644
--- a/src/views/PeopleView.vue
+++ b/src/views/PeopleView.vue
@@ -22,10 +22,10 @@
已知人物:
-
+
-
![]()
-
-
+
-
![]()
-
+
+
@@ -72,10 +72,10 @@
-
+
-
![]()
-
+
+
@@ -224,7 +224,13 @@ function onSearch() {
async function loadProfile(uuid: string) {
if (profiles.value[uuid]) return
- try { profiles.value[uuid] = await invoke('get_identity_profile', { uuid }) } catch {}
+ try {
+ const result: string = await invoke('get_identity_profile', { uuid })
+ console.log('Profile loaded for:', uuid, result ? 'success' : 'empty')
+ profiles.value[uuid] = result
+ } catch (e) {
+ console.error('Profile load failed for:', uuid, e)
+ }
}
async function loadCandidateThumb(uuid: string) {
@@ -233,7 +239,10 @@ async function loadCandidateThumb(uuid: string) {
}
function selectPerson(p: any) {
- router.push({ name: 'PersonDetail', params: { uuid: p.identity_uuid } })
+ const uuid = p.identityUuid || p.identityUuid
+ console.log('selectPerson called:', uuid, p.name)
+ router.push({ name: 'PersonDetail', params: { uuid } })
+ .catch(e => console.error('Router push failed:', e))
}
async function toggleStar() {
@@ -247,7 +256,7 @@ async function confirmDelete() {
if (!confirm(`Delete "${selected.value.name}"?`)) return
try {
await invoke('delete_identity', { uuid: selected.value.identity_uuid })
- people.value = people.value.filter((p: any) => p.identity_uuid !== selected.value.identity_uuid)
+ people.value = people.value.filter((p: any) => p.identityUuid !== selected.value.identity_uuid)
selected.value = null
} catch (e) { console.error('Failed to delete:', e) }
}
@@ -273,7 +282,7 @@ async function confirmMerge() {
try {
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)
+ people.value = people.value.filter((p: any) => p.identityUuid !== selected.value.identity_uuid)
selected.value = null
} catch (e) { console.error('Merge failed:', e) }
}
@@ -304,16 +313,16 @@ function ctxAction(action: string) {
ctxMenu.value.show = false
if (action === 'star') {
p.starred = !p.starred
- const idx = people.value.findIndex((x: any) => x.identity_uuid === p.identity_uuid)
+ const idx = people.value.findIndex((x: any) => x.identity_uuid === p.identityUuid)
if (idx >= 0) people.value[idx].starred = p.starred
} else if (action === 'skip') {
- invoke('update_identity_status', { uuid: p.identity_uuid, status: 'skipped' }).then(() => {
- const idx = people.value.findIndex((x: any) => x.identity_uuid === p.identity_uuid)
+ invoke('update_identity_status', { uuid: p.identityUuid, status: 'skipped' }).then(() => {
+ const idx = people.value.findIndex((x: any) => x.identity_uuid === p.identityUuid)
if (idx >= 0) people.value[idx].status = 'skipped'
}).catch(e => console.error('Skip failed:', e))
} else if (action === 'confirm') {
- invoke('update_identity_status', { uuid: p.identity_uuid, status: 'confirmed' }).then(() => {
- const idx = people.value.findIndex((x: any) => x.identity_uuid === p.identity_uuid)
+ invoke('update_identity_status', { uuid: p.identityUuid, status: 'confirmed' }).then(() => {
+ const idx = people.value.findIndex((x: any) => x.identity_uuid === p.identityUuid)
if (idx >= 0) people.value[idx].status = 'confirmed'
}).catch(e => console.error('Confirm failed:', e))
} else if (action === 'rename' || action === 'merge') {
diff --git a/src/views/PersonDetailView.vue b/src/views/PersonDetailView.vue
index 4bb4bb7..7550fd0 100644
--- a/src/views/PersonDetailView.vue
+++ b/src/views/PersonDetailView.vue
@@ -162,7 +162,7 @@ onMounted(async () => {
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
- const found = (Array.isArray(people) ? people : []).find((p: any) => p.identity_uuid === uuid)
+ const found = (Array.isArray(people) ? people : []).find((p: any) => p.identityUuid === uuid)
console.log('Person found:', !!found, found?.name)
if (found) {
person.value = { ...found, status: found.status || 'confirmed' }
@@ -245,7 +245,7 @@ async function toggleStar() {
async function confirmDelete() {
if (!person.value || !confirm(`Delete "${person.value.name}"?`)) return
try {
- await invoke('delete_identity', { uuid: person.value.identity_uuid })
+ await invoke('delete_identity', { uuid: person.value.identityUuid })
router.back()
} catch (e) { console.error('Failed to delete:', e) }
}
@@ -253,16 +253,16 @@ async function confirmDelete() {
async function bindCandidate(c: any) {
if (!person.value) return
try {
- await invoke('bind_face', { uuid: person.value.identity_uuid, faceId: String(c.id), fileUuid: c.file_uuid })
+ await invoke('bind_face', { uuid: person.value.identityUuid, faceId: String(c.id), fileUuid: c.file_uuid })
showCandidates.value = false
- await loadFaces(person.value.identity_uuid)
+ await loadFaces(person.value.identityUuid)
} catch (e) { console.error('Bind failed:', e) }
}
async function confirmMerge() {
if (!person.value || !mergeTarget.value) return
try {
- await invoke('merge_identities', { uuid: person.value.identity_uuid, intoUuid: mergeTarget.value })
+ await invoke('merge_identities', { uuid: person.value.identityUuid, intoUuid: mergeTarget.value })
router.back()
} catch (e) { console.error('Merge failed:', e) }
}