import request, { RequestEventStreamConfig } from '@/utils/request'

export type DrawingFormType = {
  prompt: string      // 是 关键词
  action: string      // 是 操作 generate=生成图片 upsample{index}=放大 variation{index}=变换
  imageBase: string  // 否 图片地址 图生成图时必填
  imageId: string    // 否 图片id 图片放大或变换时必填
  model: string       // 是 绘画的模型
  version: string     // 是 版本
  scale: string       // 否 图片比例
  no_content: string    // 否 忽略的关键词
  other: string       // 否 其它参数
  style: string       // 否 风格 动漫-default 可爱-cute 丰富-expressive 风景-scenic
  engine: string      // 否 意间sd-绘画引擎
  quality: string     // 否 DALLE-3 画质
}

// 生成图片
export function drawing(data: DrawingFormType) {
  return request.post({ url: '/draw/execute', data, method: 'POST' })
}

// 生成图片详情
export function drawingDetail(data: number[]) {
  return request.post({ url: '/draw/records/detail', data })
}

// 生成图片记录
export function drawingRecord(data: any) {
  return request.get({
    url: '/draw/records/list',
    data
  })
}

// 删除
export function drawingDelete(data: number[]) {
  return request.post({ url: '/draw/records/del', data, method: 'POST' })
}

// 关键词分类
export function keywordCate() {
  return request.get({
    url: '/draw/category/get'
  })
}

// 关键词
export function keywordPrompt(data: any) {
  return request.get({
    url: '/draw/prompt/get',
    data
  })
}

// 绘画示例
export function drawingExample() {
  return request.get({ url: '/draw/prompt/example/get' })
}

// 关键词翻译
export function keywordPromptTranslate(data: any) {
  return request.post({
    url: '/draw/translate',
    data, method: 'POST'
  })
}

// 绘画模型
export function drawingModel() {
  return request.get({ url: '/draw/getDrawBillingConfig' })
}

// 意间绘画风格选择
export function yjStyleSelector() {
  return request.get({ url: '/draw/getSelector' })
}

// SD
export function sdModelList() {
  return request.get({ url: '/draw/sd/getModel' })
}