/** 解析角色卡并返回预览(不写入数据库) */ export default defineEventHandler(async (event) => { getProject(param(event)) const form = await readMultipartFormData(event) const file = form?.find(f => f.name === 'file') if (!file?.data?.length) throw createError({ statusCode: 400, message: '请上传角色卡文件(PNG 或 JSON)' }) try { const card = parseCardFile(file.data, file.filename) const { raw: _raw, ...rest } = card return { ...rest, isPng: file.data[0] === 0x89, filename: file.filename ?? '' } } catch (err) { throw createError({ statusCode: 400, message: (err as Error).message }) } })