修复报错
This commit is contained in:
parent
c07fa7e99e
commit
f02e962b22
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -36,24 +36,10 @@ const ProjectFiles: React.FC<ProjectFilesProps> = ({
|
|||
try {
|
||||
setLoading(true)
|
||||
|
||||
// 调用Rust命令扫描项目目录
|
||||
const result = await invoke<any[]>('scan_directory', {
|
||||
directoryPath: project.local_directory
|
||||
})
|
||||
// 暂时使用模拟数据,因为文件扫描功能还未完全实现
|
||||
console.log('Loading files for directory:', 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)
|
||||
// 如果扫描失败,使用模拟数据
|
||||
// 模拟文件扫描结果
|
||||
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)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue