feat: 新增平台

This commit is contained in:
2025-11-30 19:49:25 +08:00
parent c3e56a954d
commit fbd2c491b2
41 changed files with 4293 additions and 76 deletions

View File

@@ -0,0 +1,35 @@
-- API Key 相关表结构
-- 执行方式: mysql -u root -p video_parser < database/api_key_tables.sql
-- 用户 API Key 表
CREATE TABLE IF NOT EXISTS `user_api_keys` (
`id` INT PRIMARY KEY AUTO_INCREMENT,
`user_id` INT NOT NULL,
`name` VARCHAR(100) NOT NULL COMMENT 'Key名称',
`api_key` VARCHAR(64) NOT NULL UNIQUE COMMENT 'API Key',
`is_active` TINYINT(1) DEFAULT 1 COMMENT '是否启用',
`daily_limit` INT DEFAULT 100 COMMENT '每日调用限制',
`total_calls` INT DEFAULT 0 COMMENT '总调用次数',
`last_used_at` DATETIME COMMENT '最后使用时间',
`last_used_ip` VARCHAR(45) COMMENT '最后使用IP',
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
`updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON DELETE CASCADE,
INDEX `idx_api_key` (`api_key`),
INDEX `idx_user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户API Key表';
-- API Key 每日统计表
CREATE TABLE IF NOT EXISTS `api_key_daily_stats` (
`id` INT PRIMARY KEY AUTO_INCREMENT,
`api_key_id` INT NOT NULL,
`date` DATE NOT NULL,
`call_count` INT DEFAULT 0 COMMENT '调用次数',
`success_count` INT DEFAULT 0 COMMENT '成功次数',
`fail_count` INT DEFAULT 0 COMMENT '失败次数',
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
`updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (`api_key_id`) REFERENCES `user_api_keys`(`id`) ON DELETE CASCADE,
UNIQUE KEY `uk_api_key_date` (`api_key_id`, `date`),
INDEX `idx_date` (`date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='API Key每日统计表';