54 lines
1.1 KiB
TypeScript
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[];
|
|
}
|