gongxiangp2/components/upload/category-handlers.ts

75 lines
1.6 KiB
TypeScript

/**
* 分类管理处理函数
*/
/**
* 添加新分类
*/
export async function addCategory(
name: string,
onSuccess: (category: { id: string; name: string }) => void,
onError: (error: string) => void
) {
if (!name.trim()) {
onError('请输入分类名称')
return
}
try {
const response = await fetch('/api/categories', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ name: name.trim() }),
})
if (response.ok) {
const newCategory = await response.json()
onSuccess(newCategory)
} else {
const data = await response.json()
onError(data.error || '添加分类失败')
}
} catch (error) {
console.error('Error adding category:', error)
onError('添加分类失败')
}
}
/**
* 添加新场景
*/
export async function addScene(
name: string,
onSuccess: (scene: { id: string; name: string }) => void,
onError: (error: string) => void
) {
if (!name.trim()) {
onError('请输入场景名称')
return
}
try {
const response = await fetch('/api/scenes', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ name: name.trim() }),
})
if (response.ok) {
const newScene = await response.json()
onSuccess(newScene)
} else {
const data = await response.json()
onError(data.error || '添加场景失败')
}
} catch (error) {
console.error('Error adding scene:', error)
onError('添加场景失败')
}
}