轻松聘
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

101 lines
2.6 KiB

/**
* 同岗位竞争力排名相关类型定义
*/
/** 排名总览(岗位维度头信息 + 综合排名指标) */
export interface RankData {
/** 当前排名名次,如 127 */
rank: number;
/** 岗位名称,如 "高级前端工程师" */
jobTitle: string;
/** 公司名,如 "字节跳动" */
company: string;
/** 候选人总数,如 1286 */
totalCandidates: number;
/** 超越的候选人百分比,如 90.1 */
percentile: number;
/** 综合评分,如 88 */
overallScore: number;
/** 评分等级,如 "优秀" */
scoreLevel: string;
/** 百分位排名文案,如 "前 9.9%" */
rankPosition: string;
}
/** 维度百分位 */
export interface DimensionPercentile {
id: string;
/** 维度名称,如 "专业技能" */
name: string;
/** 百分位排名文案,如 "前 15%" */
percentile: string;
/** 该项评分,如 92 */
score: number;
}
/** TOP 候选人 */
export interface TopCandidate {
id: string;
/** 候选人名称,如 "候选人 A" */
name: string;
/** 分数,如 96 */
score: number;
/** 候选标签,如 ["清华硕士", "5 年大厂"] */
tags: string[];
}
/** 提升建议 */
export interface ImprovementTip {
id: string;
/** 建议主标题,如 "补充项目经验可提升 5-8 个百分位" */
title: string;
/** 建议描述,如 "完善你的项目经历描述" */
description: string;
/** tip=普通建议,action=可点击操作 */
type: 'tip' | 'action';
/**
* 可点击建议的目标路由(type='action' 时由接口层下发)。
* 缺省时页面按普通建议渲染 —— 不给「点了没反应」的入口。
*/
route?: string;
}
/** 简历完善进度步骤 */
export interface ResumeProgressStep {
/** 步骤 id */
id: string;
/** 步骤名称 */
label: string;
/** 是否已完成 */
completed: boolean;
/** 补充提示 */
tip?: string;
}
/** 竞争力排名空状态 */
export interface RankEmptyState {
/** 空状态标题 */
title: string;
/** 空状态副标题 */
subtitle: string;
/** 按钮文案 */
actionText: string;
/** 简历完善进度 */
resumeProgress: ResumeProgressStep[];
}
/** 竞争力排名聚合数据(含数据态与空状态) */
export interface RankOverview {
/** 是否有排名数据 */
hasData: boolean;
/** 数据态:排名总览 */
rankData?: RankData;
/** 数据态:维度百分位 */
dimensions?: DimensionPercentile[];
/** 数据态:TOP 候选人 */
candidates?: TopCandidate[];
/** 数据态:提升建议 */
tips?: ImprovementTip[];
/** 空状态 */
emptyState?: RankEmptyState;
}