// import request from '../request'
import type { ApiResponse } from '../types'

// 活动相关的类型定义
export interface Activity {
  id: number
  title: string
  subtitle: string
  description: string
  startDate: string
  endDate: string
  status: 'upcoming' | 'ongoing' | 'ended'
  registrationCount: number
  likeCount: number
  categories: string[]
  timeline: ActivityTimelineItem[]
  content: ActivityContentItem[]
  images: string[]
  organizer: string
  coOrganizer?: string
}

export interface ActivityTimelineItem {
  date: string
  title: string
  description: string
}

export interface ActivityContentItem {
  text: string
  downloadLink?: string
}

export interface ActivityListItem {
  id: number
  title: string
  subtitle: string
  courseTitle: string
  schedule: string
  duration: string
  students: string
  price: string
  status: string
  image: string
}

// 活动API类
export class ActivityApi {
  // 获取活动列表
  static async getActivities(): Promise<ApiResponse<ActivityListItem[]>> {
    try {
      // 模拟API调用 - 实际项目中这里应该调用真实的API
      const mockData: ActivityListItem[] = [
        {
          id: 1,
          title: '计算机二级',
          subtitle: 'C语言讲练综合班',
          courseTitle: '计算机二级C语言程序设计证书',
          schedule: '开课时间：2025.07.26-2025.09.28',
          duration: '适合年级：高校本科生',
          students: '已报名：1468/2000',
          price: '免费',
          status: '进行中',
          image: '/images/activity/活动图1.png'
        },
        {
          id: 2,
          title: 'AI创新实践',
          subtitle: '全国青少年人工智能创新实践活动',
          courseTitle: '与AI共创未来 - 2025年全国青少年人工智能创新实践活动',
          schedule: '开课时间：2025.01.26-2025.09.22',
          duration: '适合年级：中小学生',
          students: '已报名：541/1000',
          price: '免费',
          status: '报名中',
          image: '/images/activity/活动图2.png'
        }
      ]

      return {
        code: 0,
        message: '获取活动列表成功',
        data: mockData
      }
    } catch (error) {
      console.error('获取活动列表失败:', error)
      return {
        code: -1,
        message: '获取活动列表失败',
        data: []
      }
    }
  }

  // 根据ID获取活动详情
  static async getActivityById(id: number): Promise<ApiResponse<Activity>> {
    try {
      // 模拟API调用 - 实际项目中这里应该调用真实的API
      const mockActivity: Activity = {
        id: id,
        title: '"与AI共创未来"',
        subtitle: '2025年全国青少年人工智能创新实践活动',
        description: '本活动是面向全国，以青少年为主体的人工智能DeepSeek，该活动以公司自主研发的创新成果，以实践工作作为引导，向青少年群体宣传推广人工智能技术，让青少年了解人工智能技术的发展历程，体验人工智能技术带来的便利，培养青少年对人工智能技术的兴趣，提升青少年的科学素养，为我国人工智能技术的发展培养后备人才。在此基础上，通过实践活动的开展，让青少年在实践中学习，在学习中实践。',
        startDate: '2025-01-26',
        endDate: '2025-09-22',
        status: 'ongoing',
        registrationCount: 541,
        likeCount: 2377,
        categories: [
          'AI少年明日程',
          'AI实习程序员', 
          'AI工程实践营',
          'AI智能未来营',
          'AI编程教学创新实验'
        ],
        timeline: [
          {
            date: '7月1日-7月24日',
            title: '青少年编程技能实践活动报名参赛',
            description: ''
          },
          {
            date: '7月25日-8月31日',
            title: '青少年编程技能竞赛活动、开发实践活动',
            description: ''
          },
          {
            date: '8月31日-9月5日',
            title: '实践作品提交和技能竞赛活动开展',
            description: ''
          },
          {
            date: '9月6日-9月20日',
            title: '优秀作品公示期',
            description: ''
          },
          {
            date: '9月21日-9月27日',
            title: '人工智能实践活动总结活动举办',
            description: ''
          }
        ],
        content: [
          {
            text: '中国科协青少年科技中心、中国青少年科技教育工作者协会等',
            downloadLink: undefined
          },
          {
            text: '作品提交规则说明',
            downloadLink: '#'
          },
          {
            text: '中小学教师人工智能素养提升在线学习平台(网址)',
            downloadLink: '#'
          },
          {
            text: '作品提交 报名表',
            downloadLink: '#'
          }
        ],
        images: [
          '/images/activity/活动图1.png',
          '/images/activity/活动图2.png',
          '/images/activity/活动图3.png'
        ],
        organizer: '中国科协青少年科技中心',
        coOrganizer: '中国青少年科技教育工作者协会、上海人工智能实验室'
      }

      return {
        code: 0,
        message: '获取活动详情成功',
        data: mockActivity
      }
    } catch (error) {
      console.error('获取活动详情失败:', error)
      return {
        code: -1,
        message: '获取活动详情失败',
        data: {} as Activity
      }
    }
  }

  // 报名活动
  static async registerActivity(activityId: number): Promise<ApiResponse<any>> {
    try {
      // 模拟API调用
      console.log('报名活动:', activityId)
      
      return {
        code: 0,
        message: '报名成功',
        data: { success: true }
      }
    } catch (error) {
      console.error('报名活动失败:', error)
      return {
        code: -1,
        message: '报名失败',
        data: { success: false }
      }
    }
  }

  // 提交作品
  static async submitWork(activityId: number, workData: any): Promise<ApiResponse<any>> {
    try {
      // 模拟API调用
      console.log('提交作品:', activityId, workData)
      
      return {
        code: 0,
        message: '作品提交成功',
        data: { success: true }
      }
    } catch (error) {
      console.error('提交作品失败:', error)
      return {
        code: -1,
        message: '作品提交失败',
        data: { success: false }
      }
    }
  }
}

export default ActivityApi
