Files
drawing/server/api/drawing.ts
2023-02-14 00:36:50 +08:00

32 lines
1.3 KiB
TypeScript

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' }
}
})