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
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;
|
|
}
|