88 lines
2.3 KiB
TypeScript
88 lines
2.3 KiB
TypeScript
/**
|
|
* 新用户引导向导相关类型定义
|
|
*/
|
|
|
|
export type { HealthLevel } from "@/types/dashboard-health";
|
|
export { HEALTH_LEVEL_CONFIG as HEALTH_LEVELS } from "@/types/dashboard-health";
|
|
export { getHealthLevel } from "@/lib/dashboard-health";
|
|
|
|
export interface OnboardingState {
|
|
currentStep: number;
|
|
brandName: string;
|
|
competitors: string[];
|
|
platforms: string[];
|
|
frequency: "daily" | "weekly" | "monthly";
|
|
healthScore: number | null;
|
|
isCompleted: boolean;
|
|
isSkipped: boolean;
|
|
}
|
|
|
|
export interface CompetitorRecommendation {
|
|
id: string;
|
|
name: string;
|
|
reason: string;
|
|
}
|
|
|
|
export interface BrandHealthReport {
|
|
brand_id: string;
|
|
brand_name: string;
|
|
overall_score: number;
|
|
health_level?: string;
|
|
health_level_label?: string;
|
|
platform_scores: Record<string, number>;
|
|
competitor_scores: Array<{
|
|
name: string;
|
|
score: number;
|
|
is_leading: boolean;
|
|
}>;
|
|
strengths: string[];
|
|
weaknesses: string[];
|
|
dimensions?: Array<{
|
|
name: string;
|
|
score: number;
|
|
max_score: number;
|
|
percentage: number;
|
|
status: string;
|
|
}>;
|
|
recommendations?: Array<{
|
|
priority: string;
|
|
dimension: string;
|
|
title: string;
|
|
description: string;
|
|
}>;
|
|
is_full_report?: boolean;
|
|
}
|
|
|
|
export interface ActionSuggestion {
|
|
id: string;
|
|
title: string;
|
|
description: string;
|
|
priority: "high" | "medium" | "low";
|
|
action_type: string;
|
|
is_paid_action?: boolean;
|
|
action_button_text?: string;
|
|
}
|
|
|
|
export interface OnboardingCreateBrandRequest {
|
|
name: string;
|
|
aliases?: string[];
|
|
competitors?: string[];
|
|
platforms: string[];
|
|
frequency: "daily" | "weekly" | "monthly";
|
|
}
|
|
|
|
export interface OnboardingStep {
|
|
id: number;
|
|
title: string;
|
|
description: string;
|
|
isSkippable: boolean;
|
|
}
|
|
|
|
export const ONBOARDING_STEPS: OnboardingStep[] = [
|
|
{ id: 0, title: "健康分检测", description: "免费检测品牌GEO健康分", isSkippable: false },
|
|
{ id: 1, title: "创建品牌", description: "输入品牌名称开始监控", isSkippable: false },
|
|
{ id: 2, title: "确认竞品", description: "选择与您品牌竞争的对手", isSkippable: true },
|
|
{ id: 3, title: "健康报告", description: "查看详细诊断报告", isSkippable: false },
|
|
{ id: 4, title: "行动建议", description: "获取提升品牌曝光的建议", isSkippable: true },
|
|
];
|