修复报错

This commit is contained in:
root 2025-07-11 12:20:27 +08:00
parent c07fa7e99e
commit f02e962b22
3 changed files with 55 additions and 24 deletions

View File

@ -1,7 +1,7 @@
import React, { useState } from 'react'
import { Sparkles, User, Video, Wand2, Play, Download } from 'lucide-react'
import { Project } from '../services/projectService'
import { AudioFile as Model } from '../services/audioService'
import { Model } from '../services/modelService'
interface AICreationPanelProps {
project: Project
@ -181,9 +181,9 @@ const AICreationPanel: React.FC<AICreationPanelProps> = ({
<div className="flex items-center">
<User size={16} className="text-gray-400 mr-2" />
<div>
<div className="font-medium text-sm">{model.filename}</div>
<div className="font-medium text-sm">{model.model_number}</div>
<div className="text-xs text-gray-500">
{model.tags.slice(0, 2).join(', ')}
{new Date(model.created_at).toLocaleDateString()}
</div>
</div>
</div>

View File

@ -35,25 +35,11 @@ const ProjectFiles: React.FC<ProjectFilesProps> = ({
const loadProjectFiles = async () => {
try {
setLoading(true)
// 调用Rust命令扫描项目目录
const result = await invoke<any[]>('scan_directory', {
directoryPath: project.local_directory
})
const projectFiles: ProjectFile[] = result.map(file => ({
name: file.name,
path: file.path,
size: file.size,
type: getFileType(file.extension),
modified: file.modified,
extension: file.extension
}))
onFilesChange(projectFiles)
} catch (error) {
console.error('Failed to load project files:', error)
// 如果扫描失败,使用模拟数据
// 暂时使用模拟数据,因为文件扫描功能还未完全实现
console.log('Loading files for directory:', project.local_directory)
// 模拟文件扫描结果
const mockFiles: ProjectFile[] = [
{
name: 'project_video.mp4',
@ -78,9 +64,54 @@ const ProjectFiles: React.FC<ProjectFilesProps> = ({
type: 'document',
modified: Date.now() - 7200000,
extension: 'txt'
},
{
name: 'audio_track.mp3',
path: `${project.local_directory}/audio_track.mp3`,
size: 5242880,
type: 'audio',
modified: Date.now() - 1800000,
extension: 'mp3'
},
{
name: 'project_notes.md',
path: `${project.local_directory}/project_notes.md`,
size: 2048,
type: 'document',
modified: Date.now() - 900000,
extension: 'md'
}
]
onFilesChange(mockFiles)
// TODO: 实现真实的文件扫描功能
// try {
// const result = await invoke<any[]>('scan_directory', {
// directoryPath: project.local_directory
// })
//
// if (result && Array.isArray(result)) {
// const projectFiles: ProjectFile[] = result.map(file => ({
// name: file.name,
// path: file.path,
// size: file.size,
// type: getFileType(file.extension),
// modified: file.modified,
// extension: file.extension
// }))
// onFilesChange(projectFiles)
// } else {
// onFilesChange(mockFiles)
// }
// } catch (scanError) {
// console.warn('File scan failed, using mock data:', scanError)
// onFilesChange(mockFiles)
// }
} catch (error) {
console.error('Failed to load project files:', error)
onFilesChange([])
} finally {
setLoading(false)
}

View File

@ -3,7 +3,7 @@ import { useParams, useNavigate } from 'react-router-dom'
import { ArrowLeft, User, Layout, Video, Sparkles, FolderOpen, Plus } from 'lucide-react'
import { Project, ProjectService } from '../services/projectService'
import { VideoSegment, MediaService } from '../services/mediaService'
import { AudioFile as Model, AudioService as ModelService } from '../services/audioService'
import { Model, ModelService } from '../services/modelService'
import ProjectModels from '../components/ProjectModels'
import ProjectTemplates from '../components/ProjectTemplates'
import ProjectMaterials from '../components/ProjectMaterials'
@ -63,7 +63,7 @@ const ProjectDetailPage: React.FC = () => {
const loadProjectModels = async (project: Project) => {
try {
// 获取所有模特,后续可以添加项目关联逻辑
const response = await ModelService.getAllAudioFiles()
const response = await ModelService.getAllModels()
if (response.status && response.data) {
setProjectModels(response.data)
}