Administrator 6f1fa04b1e fix: 调整径赛和团体赛分类
- 径赛(个人赛):100m、200m、400m
- 团体赛(接力赛):4×100m、4×400m、20×50m
- 团体赛(其他):旱地龙舟、跳长绳、折返跑
2026-03-19 14:12:52 +08:00

79 lines
3.0 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import db from '../db'
// 初始化种子数据
export default defineEventHandler(() => {
try {
// 检查是否已有数据
const checkTeams = db.prepare('SELECT COUNT(*) as count FROM teams').get()
if (checkTeams.count > 0) {
return { success: true, message: '数据已存在,跳过初始化' }
}
// 插入示例队伍
const teams = [
{ name: '高一1班', group: '文化班甲组' },
{ name: '高一2班', group: '文化班甲组' },
{ name: '高二1班', group: '文化班乙组' },
{ name: '高二2班', group: '文化班乙组' },
{ name: '体育1班', group: '体育班组' },
{ name: '体育2班', group: '体育班组' },
{ name: '航空1班', group: '航空班组' },
{ name: '航空2班', group: '航空班组' },
{ name: '教师队', group: '教师组' }
]
const insertTeam = db.prepare('INSERT INTO teams (name, team_group) VALUES (?, ?)')
const insertScore = db.prepare('INSERT INTO team_scores (team_id, total_score, gold_count, silver_count, bronze_count) VALUES (?, 0, 0, 0, 0)')
teams.forEach(team => {
const result = insertTeam.run(team.name, team.group)
insertScore.run(result.lastInsertRowid)
})
// 插入示例比赛项目
const events = [
// 田赛(个人赛)
{ name: '跳高', category: '田赛', event_group: '文化班甲组', unit: '米' },
{ name: '跳远', category: '田赛', event_group: '文化班甲组', unit: '米' },
{ name: '掷铅球', category: '田赛', event_group: '文化班乙组', unit: '米' },
// 径赛(个人赛)
{ name: '100m', category: '径赛', event_group: '体育班组', unit: '秒' },
{ name: '200m', category: '径赛', event_group: '体育班组', unit: '秒' },
{ name: '400m', category: '径赛', event_group: '体育班组', unit: '秒' },
// 径赛(接力赛/团体赛)
{ name: '4×100m', category: '团体赛', event_group: '航空班组', unit: '秒' },
{ name: '4×400m', category: '团体赛', event_group: '航空班组', unit: '秒' },
{ name: '20×50m', category: '团体赛', event_group: '航空班组', unit: '秒' },
// 团体赛
{ name: '旱地龙舟', category: '团体赛', event_group: '教师组', unit: '秒' },
{ name: '跳长绳', category: '团体赛', event_group: '文化班甲组', unit: '次' },
{ name: '折返跑', category: '团体赛', event_group: '文化班乙组', unit: '秒' }
]
const insertEvent = db.prepare('INSERT INTO events (name, category, event_group, unit) VALUES (?, ?, ?, ?)')
events.forEach(event => {
insertEvent.run(event.name, event.category, event.group, event.unit)
})
return {
success: true,
message: '初始化数据成功',
data: {
teams: teams.length,
events: events.length
}
}
} catch (error) {
console.error('Seed error:', error)
throw createError({
statusCode: 500,
message: '初始化数据失败: ' + error.message
})
}
})