geo/frontend/types/diagnosis.ts

54 lines
1.1 KiB
TypeScript

/**
* 诊断分析相关类型定义
*/
export type DiagnosisStatus = "pass" | "warning" | "fail";
export type DiagnosisTab = "seo" | "geo" | "combined";
export interface DiagnosisItem {
name: string;
status: DiagnosisStatus;
description: string;
suggestion?: string;
}
export interface DiagnosisDimension {
name: string;
score: number;
max_score: number;
percentage: number;
status: string;
items: DiagnosisItem[];
}
export interface DiagnosisRecommendation {
priority: string;
dimension: string;
title: string;
description: string;
impact: string;
effort: string;
}
export interface DiagnosisResult {
overall_score: number;
health_level: string;
dimensions: DiagnosisDimension[];
recommendations: DiagnosisRecommendation[];
}
export interface SEODiagnosisResponse extends DiagnosisResult {}
export interface GEODiagnosisResponse extends DiagnosisResult {}
export interface CombinedDiagnosisResponse {
overall_score: number;
health_level: string;
seo_score: number;
geo_score: number;
seo_dimensions: DiagnosisDimension[];
geo_dimensions: DiagnosisDimension[];
recommendations: DiagnosisRecommendation[];
}