enhance handle the scene resume might not exist - show dialog to lead user edit

This commit is contained in:
geekgeekrun
2025-04-20 13:00:03 +08:00
parent f182ee2c5b
commit 4a82e9e345
3 changed files with 37 additions and 1 deletions

View File

@@ -78,6 +78,14 @@ export function formatResumeJsonToMarkdown(resume) {
return result
}
export function checkIsResumeContentValid(resumeItem: { content: ResumeContent }) {
return (
!!resumeItem?.content &&
resumeItem.content.geekProjExpList?.[0]?.name?.trim() &&
resumeItem.content.geekWorkExpList?.[0]?.positionName?.trim()
)
}
export function resumeContentEnoughDetect(resumeItem: { content: ResumeContent }) {
return resumeItem?.content && formatResumeJsonToMarkdown(resumeItem)?.length > 800
}

View File

@@ -38,7 +38,10 @@ import {
autoReminderPromptTemplateFileName,
writeDefaultAutoRemindPrompt
} from '../../READ_NO_REPLY_AUTO_REMINDER/boss-operation'
import { resumeContentEnoughDetect } from '../../../../common/utils/resume'
import {
checkIsResumeContentValid,
resumeContentEnoughDetect
} from '../../../../common/utils/resume'
export default function initIpc() {
ipcMain.handle('fetch-config-file-content', async () => {
@@ -510,6 +513,10 @@ export default function initIpc() {
ipcMain.handle('check-if-auto-remind-prompt-valid', async () => {
await getValidTemplate()
})
ipcMain.handle('check-is-resume-content-valid', async () => {
const res = (await readConfigFile('resumes.json'))?.[0]
return checkIsResumeContentValid(res)
})
ipcMain.handle('resume-content-enough-detect', async () => {
const res = (await readConfigFile('resumes.json'))?.[0]
return resumeContentEnoughDetect(res)

View File

@@ -270,6 +270,25 @@ const handleSubmit = async () => {
formContent.value.autoReminder?.rechatContentSource ===
RECHAT_CONTENT_SOURCE.GEMINI_WITH_CHAT_CONTEXT
) {
if (!(await electron.ipcRenderer.invoke('check-is-resume-content-valid'))) {
gtagRenderer('cannot_launch_due_to_invalid_resume_content_dialog_show')
try {
await ElMessageBox.confirm(`简历内容无效;您需要编辑一下您的简历`, {
cancelButtonText: '取消',
confirmButtonText: '好的,去编辑我的简历',
dangerouslyUseHTMLString: true
})
gtagRenderer('cannot_launch_due_to_invalid_resume_content_dialog_click_confirm')
try {
await electron.ipcRenderer.invoke('resume-edit')
} catch (err) {
console.log(err)
}
} catch {
gtagRenderer('cannot_launch_due_to_invalid_resume_content_dialog_click_cancel')
}
return
}
try {
await electron.ipcRenderer.invoke('check-if-llm-config-list-valid')
} catch (err) {
@@ -351,7 +370,9 @@ const handleSubmit = async () => {
dangerouslyUseHTMLString: true
}
)
gtagRenderer('resume_content_not_enough_dialog_click_confirm')
} catch {
gtagRenderer('resume_content_not_enough_dialog_click_cancel')
return
}
}