输入检查
This commit is contained in:
@@ -22,33 +22,31 @@ export default defineEventHandler(async event => {
|
||||
|
||||
// 添加任务到队列(生成一个32位随机字符串作为任务ID)
|
||||
if (event.node.req.method === 'POST') {
|
||||
const task = await readBody(event) // 读取body数据到
|
||||
task.id = Math.random().toString(36).substring(2, 34) // 生成随机任务ID
|
||||
task.uid = 1234567890 // 用户ID
|
||||
task.createdAt = new Date().getTime() // 设定创建时间
|
||||
// 验证需要输入的参数
|
||||
task.model = 'SD2' // 模型
|
||||
task.ckpt = '768-v-ema' // 风格
|
||||
task.image = '' // 图片数据(img2img)
|
||||
task.prompt = '猫猫' // 提示词
|
||||
task.remove = '狗狗' // 排除词
|
||||
task.number = 1 // 生成数量
|
||||
task.w = 512 // 图片宽度
|
||||
task.h = 512 // 图片高度
|
||||
task.seed = 0 // 随机种子
|
||||
task.sampler = 'pndm' // 扩散采样器
|
||||
task.prompt_guidance = 0.5 // 提示词权重
|
||||
task.quality_details = 25 // 质量和细节(步数)
|
||||
// 输出参数
|
||||
task.status = 'waiting' // 任务状态
|
||||
task.progress = 0.00 // 任务进度
|
||||
task.data = [] // 生成结果
|
||||
const {
|
||||
model = 'SD2', // 模型
|
||||
ckpt = '768-v-ema', // 风格
|
||||
image = '', // 图片数据(img2img)
|
||||
prompt = 'cat', // 提示词
|
||||
remove = 'dog', // 排除词
|
||||
number = 1, // 生成数量
|
||||
w = 512, // 图片宽度
|
||||
h = 512, // 图片高度
|
||||
seed = 0, // 随机种子
|
||||
sampler = 'pndm', // 扩散采样器
|
||||
prompt_guidance = 0.5, // 提示词权重
|
||||
quality_details = 25, // 质量和细节(步数)
|
||||
} = await readBody(event)
|
||||
const id = Math.random().toString(36).substring(2, 34) // 生成随机任务ID
|
||||
const uid = 1234567890 // 用户ID
|
||||
const createdAt = new Date().getTime() // 设定创建时间
|
||||
const status = 'waiting' // 任务状态
|
||||
const progress = 0.00 // 任务进度
|
||||
const data:any[] = [] // 生成结果
|
||||
const task = { model, ckpt, image, prompt, remove, number, w, h, seed, sampler, prompt_guidance, quality_details, id, uid, createdAt, status, progress, data }
|
||||
console.log('task:', task)
|
||||
await useStorage().setItem(`task:${task.id}`, task) // 保存任务到内存
|
||||
// 筛选出所有的任务(并打印)
|
||||
let tasks = await useStorage().getKeys().then((keys: any[]) => keys.filter(key => key.startsWith('task:')))
|
||||
await useStorage().setItem(`task:${task.id}`, task) // 保存任务到内存
|
||||
const tasks = await useStorage().getKeys().then((keys: any[]) => keys.filter(key => key.startsWith('task:')))
|
||||
console.log('tasks:', tasks)
|
||||
// 如果无需排队,直接返回结果, 否则返回任务排队状态(预估等待时间)
|
||||
return task
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user