核心业务
导入、导出与公开分享
维护可携带的简历数据和公开链接的访问边界。
导入与导出
项目提供 JSON 导入与多种导出能力。JSON 用于结构化备份,Markdown 用于文字内容,PNG 用于图片,PDF 通过打印流程生成。
核心入口为 src/features/resume/utils/resume-export.ts。修改字段、顺序或区块结构时检查所有格式,不能把视觉预览当作序列化契约。
富文本与附件
编辑器富文本在展示与应用 AI 结果时经过清理。求职工作区附件则通过浏览器解析出文字,再经用户核对后提交给模型,两条链路不要混用。
导入外部数据先校验、再规范化,失败保留当前文档。旧版本数据要能通过兼容逻辑继续读取。
公开分享
私有简历详情走账户认证;公开读取走专门的公开 API。公开入口必须判断分享设置,不能复用绕过所有权检查的私有查询。
相关路由:
/api/resumes:当前账户简历集合。/api/resumes/[id]:详情与状态维护。/api/resumes/[id]/share:分享设置。/api/resumes/public/[slug]:公开读取。
变更公开字段时核对返回内容,不要把私有历史、模型凭据或账户资料混入分享结果。
验证要点
- JSON 导出后重新导入,核心内容一致。
- Markdown 保留条目层次与区块顺序。
- PDF 与 PNG 的长文、字体和分页可读。
- 未开放分享时公开链接不可读取,跨账户私有请求被拒绝。
实现依据见 src/features/resume/api/service.ts 与 api/validation.ts。