30 lines
1.1 KiB
TypeScript
30 lines
1.1 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.query.tid = Math.random().toString(36).substring(2, 34)
|
|
await useStorage().setItem(`task:${event.context.query.tid}`, event.context.query)
|
|
return { 'message': 'ok' }
|
|
}
|
|
|
|
// 逐删除自己的指定任务(普通用户只能删除自己的)
|
|
if (event.node.req.method === 'DELETE') {
|
|
await useStorage().removeItem(`task:${event.context.query.tid}`)
|
|
return { 'message': 'ok' }
|
|
}
|
|
|
|
})
|