diff --git a/server/api/admin/schedule/sequence.post.ts b/server/api/admin/schedule/sequence.post.ts index 2be93f4..82f20ec 100644 --- a/server/api/admin/schedule/sequence.post.ts +++ b/server/api/admin/schedule/sequence.post.ts @@ -14,9 +14,11 @@ export default defineEventHandler(async (event) => { try { const body = await readBody(event) - const { schedules } = body + // 注意:不要写成 const { schedules } = body —— 那会在本作用域内遮蔽上面导入的 + // Drizzle 表对象,导致下面 db.update(schedules) 实际拿到的是请求体数组,接口必然报错。 + const scheduleItems = body?.schedules - if (!schedules || !Array.isArray(schedules) || schedules.length === 0) { + if (!scheduleItems || !Array.isArray(scheduleItems) || scheduleItems.length === 0) { throw createError({ statusCode: 400, statusMessage: '缺少排期数据' @@ -25,7 +27,7 @@ export default defineEventHandler(async (event) => { // 批量更新排期顺序 const results = await Promise.all( - schedules.map(async (item) => { + scheduleItems.map(async (item) => { return db .update(schedules) .set({ sequence: item.sequence })