Files
TurboHR/frontend/src/lib/errorToast.ts
T
freedakgmail a2e9ba55c2 feat: 20260809 系统优化 - 全部28项问题修复(P0×6+P1×16+P2×6)
P0: 福利批量参保/离职证明下载防乱码/考勤模板合并Sheet/补卡修改/附件在线查看删除
P1: 分页pageSize修复/离职导出筛选/撤回删除草稿/加班费自动计算/考勤加班汇总/证据链异常详情/制度催办/模板导入Word/社保封顶保底/校验字段提示/职务字段/社保费用明细/弹窗防误关/身份证查重/证明员工下拉/培训批量
P2: 离职流程去重/社保基数覆盖输入/薪税入口改名/添加员工引导/绩效模板清理
2026-08-09 11:59:02 +08:00

20 lines
658 B
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { toast } from 'sonner'
/**
* 从 axios 错误中提取并显示错误信息,支持 Zod 校验失败时展示具体字段
*/
export function toastError(err: any, fallback = '操作失败') {
const error = err?.response?.data?.error
if (!error) {
toast.error(fallback)
return
}
// 如果有 details(Zod 校验失败),展示具体字段
if (error.details && Array.isArray(error.details) && error.details.length > 0) {
const fields = error.details.map((d: any) => `${d.path || '字段'}: ${d.message}`).join('')
toast.error(`${error.message}${fields}`)
return
}
toast.error(error.message || fallback)
}