export default defineEventHandler(async event => { event.context.query = getQuery(event) // 获取任务列表的状态进度(普通用户只能看到自己的) if (event.node.req.method === 'GET') { let tasks = await useStorage().getItem(`task:${event.context.query.tid}`) return { 'tasks': tasks } } // 保存任务列表的状态进度(只允许BOT写入) if (event.node.req.method === 'PUT') { await useStorage().setItem(`task:${event.context.query.tid}`, event.context.query.tid) return { 'message': 'ok' } } // 添加任务到队列(生成一个32位随机字符串作为任务ID) if (event.node.req.method === 'POST') { event.context.body = await readBody(event) // 读取body数据到 event.context.body.tid = Math.random().toString(36).substring(2, 34) await useStorage().setItem(`task:${event.context.query.tid}`, event.context.query) // 如果无需排队,直接返回结果, 否则返回任务排队状态(预估等待时间) return event.context.body } // 逐删除自己的指定任务(普通用户只能删除自己的) if (event.node.req.method === 'DELETE') { await useStorage().removeItem(`task:${event.context.query.tid}`) return { 'message': 'ok' } } })