LaiTool V 3.1.4
This commit is contained in:
parent
595cbe8374
commit
92c1d99efd
4
package-lock.json
generated
4
package-lock.json
generated
@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "laitool",
|
||||
"version": "3.1.3",
|
||||
"version": "3.1.4",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "laitool",
|
||||
"version": "3.1.3",
|
||||
"version": "3.1.4",
|
||||
"hasInstallScript": true,
|
||||
"dependencies": {
|
||||
"@alicloud/alimt20181012": "^1.2.0",
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "laitool",
|
||||
"version": "3.1.3",
|
||||
"version": "3.1.4",
|
||||
"description": "An AI tool for image processing, video processing, and other functions.",
|
||||
"main": "./out/main/index.js",
|
||||
"author": "laitool.cn",
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@ -317,16 +317,45 @@ export const DEFINE_STRING = {
|
||||
|
||||
FRAMING: 'FRAMING',
|
||||
|
||||
//#region 字幕相关
|
||||
|
||||
/**
|
||||
* 获取copywriting
|
||||
*/
|
||||
GET_COPYWRITING: 'GET_COPYWRITING',
|
||||
/**
|
||||
* 获取copywriting的返回信息
|
||||
*/
|
||||
GET_COPYWRITING_RETURN: 'GET_COPYWRITING_RETURN',
|
||||
|
||||
//#endregion
|
||||
|
||||
REMOVE_WATERMARK: 'REMOVE_WATERMARK',
|
||||
REMOVE_WATERMARK_RETURN: 'REMOVE_WATERMARK_RETURN',
|
||||
|
||||
SPLI_TAUDIO: 'SPLI_TAUDIO',
|
||||
SPLI_TAUDIO_RETURN: 'SPLI_TAUDIO_RETURN',
|
||||
|
||||
//#region 反推相关
|
||||
/**
|
||||
* 添加反推任务
|
||||
*/
|
||||
ADD_REVERSE_PROMPT: 'ADD_REVERSE_PROMPT',
|
||||
/**
|
||||
* 反推任务返回信息
|
||||
*/
|
||||
REVERSE_PROMPT_RETURN: 'REVERSE_PROMPT_RETURN',
|
||||
//#endregion
|
||||
|
||||
//#region 翻译相关
|
||||
|
||||
/**
|
||||
* 反推翻译返回信息
|
||||
*/
|
||||
REVERSE_PROMPT_TRANSLATE_RETURN: 'REVERSE_PROMPT_TRANSLATE_RETURN',
|
||||
|
||||
//#endregion
|
||||
|
||||
},
|
||||
SYSTEM: {
|
||||
OPEN_FILE: 'OPEN_FILE',
|
||||
|
||||
@ -19,6 +19,7 @@ import { MJOpt } from '../MJ/mj'
|
||||
import { TagDefine } from '../../../define/tagDefine'
|
||||
import { BookServiceBasic } from '../ServiceBasic/bookServiceBasic'
|
||||
import { SDOpt } from '../SD/sd'
|
||||
import { isEmpty } from 'lodash'
|
||||
|
||||
|
||||
|
||||
@ -126,6 +127,16 @@ export class ReverseBook {
|
||||
async GetBookTaskDetail(bookTaskId: string): Promise<GeneralResponse.ErrorItem | GeneralResponse.SuccessItem> {
|
||||
try {
|
||||
let res = await this.bookServiceBasic.GetBookTaskDetailData({ bookTaskId: bookTaskId })
|
||||
|
||||
// 这边再所有的图片后面添加后缀,这样可以保证图片实时更新
|
||||
res = res.map(item => {
|
||||
return {
|
||||
...item,
|
||||
outImagePath: isEmpty(item.outImagePath) ? item.outImagePath : item.outImagePath + '?t=' + new Date().getTime(),
|
||||
subImagePath: item.subImagePath && item.subImagePath.length > 0 ? item.subImagePath.map(it => it + '?t=' + new Date().getTime()) : item.subImagePath
|
||||
}
|
||||
})
|
||||
|
||||
return successMessage(res, '获取小说任务详情成功', 'ReverseBook_GetBookTaskDetail')
|
||||
} catch (error) {
|
||||
return errorMessage(
|
||||
@ -287,7 +298,7 @@ export class ReverseBook {
|
||||
throw new Error("暂不支持的推理类型")
|
||||
}
|
||||
// 添加后台任务
|
||||
await this.bookServiceBasic.AddBookBackTask(book.id, task_type, TaskExecuteType.AUTO, bookTaskDetail.bookTaskId, bookTaskDetail.id
|
||||
await this.bookServiceBasic.AddBookBackTask(book.id, task_type, TaskExecuteType.AUTO, bookTaskDetail.bookTaskId, bookTaskDetail.id, DEFINE_STRING.BOOK.REVERSE_PROMPT_RETURN
|
||||
);
|
||||
// 添加返回日志
|
||||
await this.taskScheduler.AddLogToDB(book.id, book.type, `添加 ${task_type} 反推任务成功`, bookTaskDetail.bookTaskId, LoggerStatus.SUCCESS)
|
||||
|
||||
@ -32,12 +32,14 @@ export class BookGeneral {
|
||||
let afterGpt = element.afterGpt
|
||||
let subValue = element.subValue
|
||||
if (subValue && subValue.length > 0) {
|
||||
if (Array.isArray(subValue)) {
|
||||
subValue = subValue.map(item => {
|
||||
return {
|
||||
...item,
|
||||
srt_value: item.srt_value.replaceAll(replaceData.before, replaceData.after)
|
||||
}
|
||||
})
|
||||
}
|
||||
let btd = realm.objectForPrimaryKey('BookTaskDetail', element.id)
|
||||
btd.subValue = JSON.stringify(subValue);
|
||||
result.push({
|
||||
@ -184,6 +186,9 @@ export class BookGeneral {
|
||||
async ReplaceBookData(bookTaskId: string, replaceData: Book.BookReplaceData): Promise<GeneralResponse.SuccessItem | GeneralResponse.ErrorItem> {
|
||||
try {
|
||||
console.log(bookTaskId, replaceData)
|
||||
if (isEmpty(replaceData.after)) {
|
||||
replaceData.after = '' // 默认为空
|
||||
}
|
||||
let bookTask = await this.bookServiceBasic.GetBookTaskDataById(bookTaskId)
|
||||
let bookTaskDetails = await this.bookServiceBasic.GetBookTaskDetailData({
|
||||
bookTaskId: bookTaskId
|
||||
|
||||
@ -255,7 +255,7 @@ export class BookImage {
|
||||
case BookImageCategory.SD:
|
||||
throw new Error('暂时不支持SD的生成')
|
||||
case BookImageCategory.MJ:
|
||||
res = await this.mjOpt.AddMJGenerateImageTask(bookTaskId, OperateBookType.BOOKTASK)
|
||||
res = await this.mjOpt.AddMJGenerateImageTask(bookTaskId, OperateBookType.BOOKTASK, DEFINE_STRING.BOOK.MJ_IMAGE_GENERATE_RETURN)
|
||||
break;
|
||||
case BookImageCategory.D3:
|
||||
throw new Error('暂时不支持D3的生成')
|
||||
|
||||
@ -278,9 +278,9 @@ export class BookTask {
|
||||
throw new Error("没有找到对应的数小说任务,请检查数据")
|
||||
}
|
||||
// 获取所有的出图中最少的
|
||||
let bookTaskDetail = (await this.bookServiceBasic.GetBookTaskDetailData({
|
||||
let bookTaskDetail = await this.bookServiceBasic.GetBookTaskDetailData({
|
||||
bookTaskId: bookTaskId
|
||||
})) as Book.SelectBookTaskDetail[]
|
||||
}) as Book.SelectBookTaskDetail[]
|
||||
if (bookTaskDetail == null || bookTaskDetail.length <= 0) {
|
||||
throw new Error("没有对应的小说分镜任务,请先添加分镜任务")
|
||||
}
|
||||
|
||||
@ -277,6 +277,7 @@ export class BookServiceBasic {
|
||||
* @param executeType 执行的类型,是不是自动执行
|
||||
* @param bookTaskId 小说批次任务ID
|
||||
* @param bookTaskDetailId 小说批次任务分镜ID
|
||||
* @param responseMessageName 消息名称
|
||||
*/
|
||||
async AddBookBackTask(bookId: string,
|
||||
taskType: BookBackTaskType,
|
||||
|
||||
@ -23,6 +23,7 @@ import axios from 'axios'
|
||||
import { GptService } from '../GPT/gpt'
|
||||
import FormData from 'form-data'
|
||||
import { RetryWithBackoff } from '../../../define/Tools/common'
|
||||
import { DEFINE_STRING } from '../../../define/define_string'
|
||||
const util = require('util')
|
||||
const { exec } = require('child_process')
|
||||
const execAsync = util.promisify(exec)
|
||||
@ -119,7 +120,7 @@ export class Subtitle {
|
||||
content: content,
|
||||
progress: progress
|
||||
} as GeneralResponse.SubtitleProgressResponse // 返回识别到的文案
|
||||
})
|
||||
}, DEFINE_STRING.BOOK.GET_COPYWRITING_RETURN)
|
||||
|
||||
// 添加日志
|
||||
await this.taskScheduler.AddLogToDB(
|
||||
|
||||
@ -29,17 +29,17 @@ export class GptSetting extends ServiceBase {
|
||||
async InitAISetting() {
|
||||
let defaultData = {
|
||||
laiapi: {
|
||||
gpt_url: 'https://laitool.net/v1/chat/completions',
|
||||
gpt_url: 'https://api.laitool.cc',
|
||||
api_key: "请输入你的LAI API 的 Key",
|
||||
model: "请输入你的LAI API 的 Model名称"
|
||||
},
|
||||
kimi: {
|
||||
gpt_url: 'https://api.moonshot.cn/v1/chat/completions',
|
||||
gpt_url: 'https://api.moonshot.cn',
|
||||
api_key: "请输入你的Kimi API 的 Key",
|
||||
model: "请输入你的Kimi API 的 Model名称"
|
||||
},
|
||||
doubao: {
|
||||
gpt_url: 'https://ark.cn-beijing.volces.com/api/v3/chat/completions',
|
||||
gpt_url: 'https://ark.cn-beijing.volces.com/api',
|
||||
api_key: "请输入你的Doubao API 的 Key",
|
||||
model: "请输入你的Doubao API 的 Model名称"
|
||||
}
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
<template #description> {{ softwareStore.spin.tip }} </template>
|
||||
<n-config-provider
|
||||
:hljs="hljs"
|
||||
:theme="softwareStore.softWare.theme == 'dark' ? darkTheme : null"
|
||||
:theme="softwareStore.globalSetting.theme == 'dark' ? darkTheme : null"
|
||||
>
|
||||
<n-message-provider>
|
||||
<n-dialog-provider>
|
||||
@ -44,6 +44,7 @@ export default defineComponent({
|
||||
let softwareStore = useSoftwareStore()
|
||||
|
||||
onMounted(async () => {
|
||||
debugger
|
||||
softwareStore.SoftColor = SoftColor
|
||||
window.api.getSettingDafultData(async (value) => {
|
||||
await window.darkMode.toggle(value.theme)
|
||||
@ -60,6 +61,7 @@ export default defineComponent({
|
||||
throw new Error('初始化信息错误: 未获取到数据')
|
||||
}
|
||||
softwareStore.softWare = software.data
|
||||
console.log(softwareStore.softWare)
|
||||
await window.darkMode.toggle(softwareStore.softWare.theme)
|
||||
})
|
||||
|
||||
|
||||
@ -164,8 +164,10 @@ watch(
|
||||
watch(
|
||||
() => props.initData.outImagePath,
|
||||
(value) => {
|
||||
if (value) {
|
||||
outImagePath.value = value + `?t=${new Date().getTime()}`
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
// 监听 props.initData 修改
|
||||
@ -180,7 +182,9 @@ watch(
|
||||
|
||||
onMounted(async () => {
|
||||
setNodeAttribute()
|
||||
if (!isEmpty(outImagePath.value)) {
|
||||
outImagePath.value = outImagePath.value + `?t=${new Date().getTime()}`
|
||||
}
|
||||
})
|
||||
|
||||
async function setNodeAttribute() {
|
||||
@ -246,11 +250,14 @@ async function imageDragOver(e) {
|
||||
}
|
||||
|
||||
async function ModifyLock() {
|
||||
debugger
|
||||
if (!data.value.imageLock) {
|
||||
// 锁定之前,判断是不是有
|
||||
if (!outImagePath.value) {
|
||||
message.error('没有生成图片,不能锁定')
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
let lock = !data.value.imageLock
|
||||
// 修改数据库数据
|
||||
@ -283,6 +290,10 @@ async function DownloadImage() {
|
||||
message.error('当前图片不是MJ图片,不能下载')
|
||||
return
|
||||
}
|
||||
if (!data.value.mjMessage) {
|
||||
message.error('没有MJ生图信息,不能下载')
|
||||
return
|
||||
}
|
||||
// 只要状态不是success 和 error ,其他的都重新获取
|
||||
if (data.value.mjMessage.status == 'error') {
|
||||
message.error('失败状态不能采集图片')
|
||||
|
||||
@ -36,6 +36,7 @@ import { ContainsChineseOrPunctuation } from '../../../../../define/Tools/common
|
||||
import ReSelectReversePrompt from '../MJReverse/ReSelectReversePrompt.vue'
|
||||
import { OperateBookType } from '../../../../../define/enum/bookEnum'
|
||||
import { isEmpty } from 'lodash'
|
||||
import { DEFINE_STRING } from '../../../../../define/define_string'
|
||||
|
||||
export default defineComponent({
|
||||
components: { NDropdown, NButton },
|
||||
@ -127,7 +128,8 @@ export default defineComponent({
|
||||
to: to,
|
||||
type: TranslateType.GPT_PROMPT_TRANSLATE,
|
||||
isSplit: false, // 该参数设置为true时,会将文本按照标点符号分割成多个句子进行翻译
|
||||
bookTaskDetailId: data.value.id
|
||||
bookTaskDetailId: data.value.id,
|
||||
responseMessgeName: DEFINE_STRING.BOOK.REVERSE_PROMPT_TRANSLATE_RETURN
|
||||
})
|
||||
} else {
|
||||
let reversePrompt = data.value.reversePrompt
|
||||
@ -147,7 +149,8 @@ export default defineComponent({
|
||||
type: TranslateType.REVERSE_PROMPT_TRANSLATE,
|
||||
isSplit: false, // 该参数设置为true时,会将文本按照标点符号分割成多个句子进行翻译
|
||||
bookTaskDetailId: data.value.id,
|
||||
reversePromptId: item.id
|
||||
reversePromptId: item.id,
|
||||
responseMessgeName: DEFINE_STRING.BOOK.REVERSE_PROMPT_TRANSLATE_RETURN
|
||||
}
|
||||
|
||||
translateData.push(temp_obj)
|
||||
@ -171,7 +174,8 @@ export default defineComponent({
|
||||
to: to,
|
||||
type: TranslateType.GPT_PROMPT_TRANSLATE,
|
||||
isSplit: false, // 该参数设置为true时,会将文本按照标点符号分割成多个句子进行翻译
|
||||
bookTaskDetailId: element.id
|
||||
bookTaskDetailId: element.id,
|
||||
responseMessgeName: DEFINE_STRING.BOOK.REVERSE_PROMPT_TRANSLATE_RETURN
|
||||
})
|
||||
} else {
|
||||
let reversePrompt = element.reversePrompt
|
||||
@ -191,7 +195,8 @@ export default defineComponent({
|
||||
type: TranslateType.REVERSE_PROMPT_TRANSLATE,
|
||||
isSplit: false, // 该参数设置为true时,会将文本按照标点符号分割成多个句子进行翻译
|
||||
bookTaskDetailId: element.id,
|
||||
reversePromptId: item.id
|
||||
reversePromptId: item.id,
|
||||
responseMessgeName: DEFINE_STRING.BOOK.REVERSE_PROMPT_TRANSLATE_RETURN
|
||||
}
|
||||
translateData.push(temp_obj)
|
||||
})
|
||||
|
||||
@ -54,6 +54,7 @@ import { OperateBookType } from '../../../../../define/enum/bookEnum'
|
||||
import { BookImageCategory } from '../../../../../define/enum/bookEnum'
|
||||
import { debounce } from 'lodash'
|
||||
import InputDialogContent from '../../Original/Components/InputDialogContent.vue'
|
||||
import { DEFINE_STRING } from '../../../../../define/define_string'
|
||||
|
||||
export default defineComponent({
|
||||
components: { NInput, NButton, NDropdown },
|
||||
@ -104,7 +105,11 @@ export default defineComponent({
|
||||
async function SingleGenerateImage() {
|
||||
let res = undefined
|
||||
if (reverseManageStore.selectBookTask.imageCategory == BookImageCategory.MJ) {
|
||||
res = await window.mj.AddMJGenerateImageTask(data.value.id, OperateBookType.BOOKTASKDETAIL)
|
||||
res = await window.mj.AddMJGenerateImageTask(
|
||||
data.value.id,
|
||||
OperateBookType.BOOKTASKDETAIL,
|
||||
DEFINE_STRING.BOOK.MJ_IMAGE_GENERATE_RETURN
|
||||
)
|
||||
} else if (reverseManageStore.selectBookTask.imageCategory == BookImageCategory.SD) {
|
||||
// res = await window.sd.SingleGenerateImage(data.value.id, OperateBookType.BOOKTASKDETAIL)
|
||||
message.error('暂不支该出图模式')
|
||||
@ -123,7 +128,11 @@ export default defineComponent({
|
||||
async function UnderGenerateImage() {
|
||||
let res = undefined
|
||||
if (reverseManageStore.selectBookTask.imageCategory == BookImageCategory.MJ) {
|
||||
res = await window.mj.AddMJGenerateImageTask(data.value.id, OperateBookType.UNDERBOOKTASK)
|
||||
res = await window.mj.AddMJGenerateImageTask(
|
||||
data.value.id,
|
||||
OperateBookType.UNDERBOOKTASK,
|
||||
DEFINE_STRING.BOOK.MJ_IMAGE_GENERATE_RETURN
|
||||
)
|
||||
} else if (reverseManageStore.selectBookTask.imageCategory == BookImageCategory.SD) {
|
||||
// res = await window.sd.SingleGenerateImage(data.value.id, OperateBookType.UNDERBOOKTASK)
|
||||
message.error('暂不支该出图模式')
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
<div class="artplayer-app" style="height: 100%">
|
||||
<Artplayer @get-instance="getInstance" :option="option" :style="palyarStyle" />
|
||||
<n-log
|
||||
style="height: 60%; background-color: #f8f8f8; margin-top: 10px"
|
||||
style="height: 60%; width: 280px; background-color: #f8f8f8; margin-top: 10px"
|
||||
ref="logInst"
|
||||
:log="logger"
|
||||
:loading="loading"
|
||||
|
||||
@ -157,35 +157,7 @@ export default defineComponent({
|
||||
let reverseManageStore = useReverseManageStore()
|
||||
let softwareStore = useSoftwareStore()
|
||||
// 获取当前这个界面的数据
|
||||
onMounted(async () => {
|
||||
window.api.setEventListen([DEFINE_STRING.BOOK.GET_COPYWRITING_RETURN], (value) => {
|
||||
debugger
|
||||
if (value.code == 0) {
|
||||
message.error(value.message)
|
||||
code.value = code.value + '\n' + value.data
|
||||
return
|
||||
}
|
||||
// 修改进度
|
||||
softwareStore.spin.tip = `正在提取文案,当前进度 ${value.data.progress.current} / ${value.data.progress.total} 。。。`
|
||||
let index = reverseManageStore.selectBookTaskDetail.findIndex((item) => item.id == value.id)
|
||||
if (index >= 0) {
|
||||
reverseManageStore.selectBookTaskDetail[index].word = value.data.content
|
||||
reverseManageStore.selectBookTaskDetail[index].afterGpt = value.data.content
|
||||
}
|
||||
})
|
||||
|
||||
window.api.setEventListen([DEFINE_STRING.BOOK.REMOVE_WATERMARK_RETURN], (value) => {
|
||||
if (value.code == 0) {
|
||||
message.error(value.message)
|
||||
return
|
||||
}
|
||||
let index = reverseManageStore.selectBookTaskDetail.findIndex((item) => item.id == value.id)
|
||||
if (index >= 0) {
|
||||
reverseManageStore.selectBookTaskDetail[index].oldImage =
|
||||
value.data + '?time=' + new Date().getTime()
|
||||
}
|
||||
})
|
||||
})
|
||||
onMounted(async () => {})
|
||||
|
||||
// 返回主页
|
||||
function RetuenMain() {
|
||||
@ -696,7 +668,8 @@ export default defineComponent({
|
||||
to: to,
|
||||
type: TranslateType.GPT_PROMPT_TRANSLATE,
|
||||
isSplit: false, // 该参数设置为true时,会将文本按照标点符号分割成多个句子进行翻译
|
||||
bookTaskDetailId: element.id
|
||||
bookTaskDetailId: element.id,
|
||||
responseMessgeName: DEFINE_STRING.BOOK.REVERSE_PROMPT_TRANSLATE_RETURN
|
||||
})
|
||||
} else {
|
||||
let reversePrompt = element.reversePrompt
|
||||
@ -715,7 +688,8 @@ export default defineComponent({
|
||||
type: TranslateType.REVERSE_PROMPT_TRANSLATE,
|
||||
isSplit: false, // 该参数设置为true时,会将文本按照标点符号分割成多个句子进行翻译
|
||||
bookTaskDetailId: element.id,
|
||||
reversePromptId: item.id
|
||||
reversePromptId: item.id,
|
||||
responseMessgeName: DEFINE_STRING.BOOK.REVERSE_PROMPT_TRANSLATE_RETURN
|
||||
}
|
||||
translateData.push(temp_obj)
|
||||
})
|
||||
|
||||
@ -86,7 +86,6 @@ let test = ref('error-class')
|
||||
|
||||
// 计算所有的数据的百分比
|
||||
function ComputePercentage() {
|
||||
debugger
|
||||
if (
|
||||
reverseManageStore &&
|
||||
reverseManageStore.selectBookTaskDetail &&
|
||||
|
||||
@ -25,6 +25,7 @@ import DatatableHeaderPrompt from '../Components/DatatableHeaderPrompt.vue'
|
||||
import DatatablePrompt from '../Components/DatatablePrompt.vue'
|
||||
import DatatableHeaderImage from '../Components/DatatableHeaderImage.vue'
|
||||
import DatatableAfterGpt from '../Components/DatatableAfterGpt.vue'
|
||||
import DatatableGenerateImage from '../Components/DatatableGenerateImage.vue'
|
||||
|
||||
export default defineComponent({
|
||||
components: { NDataTable, NImage },
|
||||
@ -120,7 +121,7 @@ export default defineComponent({
|
||||
width: 300,
|
||||
className: 'space-row',
|
||||
render(row, index) {
|
||||
return h(DataTableShowGenerateImage, {
|
||||
return h(DatatableGenerateImage, {
|
||||
image_generate_category: 'mj',
|
||||
initData: row,
|
||||
index: index,
|
||||
@ -157,7 +158,7 @@ export default defineComponent({
|
||||
debugger
|
||||
// 视口的高度
|
||||
let height = window.innerHeight
|
||||
maxHeight.value = height - 100
|
||||
maxHeight.value = height - 120
|
||||
}
|
||||
|
||||
return {
|
||||
|
||||
@ -49,15 +49,70 @@ export default defineComponent({
|
||||
let reverseManageStore = useReverseManageStore()
|
||||
let bookType = ref(BookType)
|
||||
onMounted(async () => {
|
||||
// 添加一个总的监听器,主要监听后端数据变化,修改后端数据后,前端数据也会随之变化
|
||||
if (!window['mainReturn']) {
|
||||
window.mainReturn = true
|
||||
window.api.setEventListen([DEFINE_STRING.BOOK.MAIN_DATA_RETURN], (value) => {
|
||||
// 这边是不监听的数据
|
||||
if (value.type == ResponseMessageType.HD_IMAGE) {
|
||||
// 监听提取文案的返回数据
|
||||
window.api.setEventListen([DEFINE_STRING.BOOK.GET_COPYWRITING_RETURN], (value) => {
|
||||
if (value.code == 0) {
|
||||
message.error(value.message)
|
||||
code.value = code.value + '\n' + value.data
|
||||
return
|
||||
}
|
||||
// 修改进度
|
||||
softwareStore.spin.tip = `正在提取文案,当前进度 ${value.data.progress.current} / ${value.data.progress.total} 。。。`
|
||||
let index = reverseManageStore.selectBookTaskDetail.findIndex((item) => item.id == value.id)
|
||||
if (index >= 0) {
|
||||
reverseManageStore.selectBookTaskDetail[index].word = value.data.content
|
||||
reverseManageStore.selectBookTaskDetail[index].afterGpt = value.data.content
|
||||
}
|
||||
})
|
||||
|
||||
// 监听删除水印的返回的图片数据
|
||||
window.api.setEventListen([DEFINE_STRING.BOOK.REMOVE_WATERMARK_RETURN], (value) => {
|
||||
if (value.code == 0) {
|
||||
message.error(value.message)
|
||||
return
|
||||
}
|
||||
let index = reverseManageStore.selectBookTaskDetail.findIndex((item) => item.id == value.id)
|
||||
if (index >= 0) {
|
||||
reverseManageStore.selectBookTaskDetail[index].oldImage =
|
||||
value.data + '?time=' + new Date().getTime()
|
||||
}
|
||||
})
|
||||
|
||||
// 监听反推提示词的返回数据
|
||||
window.api.setEventListen([DEFINE_STRING.BOOK.REVERSE_PROMPT_RETURN], (value) => {
|
||||
if (value.code == 0) {
|
||||
errorResponse(value)
|
||||
} else {
|
||||
MJReverseResponse(value)
|
||||
}
|
||||
})
|
||||
|
||||
// 监听MJ出图的返回信息
|
||||
window.api.setEventListen([DEFINE_STRING.BOOK.MJ_IMAGE_GENERATE_RETURN], (value) => {
|
||||
if (value.code == 0) {
|
||||
errorResponse(value)
|
||||
}
|
||||
MJImageResponse(value)
|
||||
})
|
||||
|
||||
// 监听反推的翻译数据返回
|
||||
window.api.setEventListen([DEFINE_STRING.BOOK.REVERSE_PROMPT_TRANSLATE_RETURN], (value) => {
|
||||
if (value.code == 0) {
|
||||
errorResponse(value)
|
||||
} else {
|
||||
if (value.type == ResponseMessageType.REVERSE_PROMPT_TRANSLATE) {
|
||||
ReversePromptTranslateResponse(value)
|
||||
} else if (value.type == ResponseMessageType.GPT_PROMPT_TRANSLATE) {
|
||||
GptPromptTranslateResponse(value)
|
||||
} else {
|
||||
message.error('错误的返回数据类型')
|
||||
return
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
function errorResponse(value) {
|
||||
switch (value.dialogType) {
|
||||
case DialogType.DIALOG:
|
||||
window.api.showGlobalMessageDialog(value)
|
||||
@ -74,28 +129,12 @@ export default defineComponent({
|
||||
}
|
||||
}
|
||||
|
||||
// 执行对应的方法,修改数据
|
||||
switch (value.type) {
|
||||
case ResponseMessageType.MJ_REVERSE: // MJ反推的数据返回处理
|
||||
MJReverseResponse(value)
|
||||
break
|
||||
case ResponseMessageType.REVERSE_PROMPT_TRANSLATE: // 翻译反推提示词的数据处理
|
||||
ReversePromptTranslateResponse(value)
|
||||
break
|
||||
case ResponseMessageType.GPT_PROMPT_TRANSLATE: // GPT提示词翻译返回
|
||||
GptPromptTranslateResponse(value)
|
||||
break
|
||||
case ResponseMessageType.MJ_IMAGE:
|
||||
MJImageResponse(value)
|
||||
break
|
||||
case ResponseMessageType.HD_IMAGE:
|
||||
break
|
||||
default:
|
||||
message.error('未知的返回数据类型')
|
||||
break
|
||||
}
|
||||
})
|
||||
}
|
||||
onUnmounted(() => {
|
||||
window.api.removeEventListen(DEFINE_STRING.BOOK.GET_COPYWRITING_RETURN)
|
||||
window.api.removeEventListen(DEFINE_STRING.BOOK.REMOVE_WATERMARK_RETURN)
|
||||
window.api.removeEventListen(DEFINE_STRING.BOOK.REVERSE_PROMPT_RETURN)
|
||||
window.api.removeEventListen(DEFINE_STRING.BOOK.MJ_IMAGE_GENERATE_RETURN)
|
||||
window.api.removeEventListen(DEFINE_STRING.BOOK.REVERSE_PROMPT_TRANSLATE_RETURN)
|
||||
})
|
||||
|
||||
function MJImageResponse(value) {
|
||||
@ -105,7 +144,7 @@ export default defineComponent({
|
||||
(item) => item.id == value.data.id
|
||||
)
|
||||
if (dataIndex >= 0) {
|
||||
reverseManageStore.selectBookTaskDetail[dataIndex].mj_message = value.data
|
||||
reverseManageStore.selectBookTaskDetail[dataIndex].mjMessage = value.data
|
||||
reverseManageStore.selectBookTaskDetail[dataIndex].outImagePath = value.data.outImagePath
|
||||
reverseManageStore.selectBookTaskDetail[dataIndex].subImagePath = value.data.subImagePath
|
||||
}
|
||||
@ -166,15 +205,15 @@ export default defineComponent({
|
||||
return
|
||||
}
|
||||
reverseManageStore.selectBookTaskDetail[index].gptPrompt = value.data.prompt
|
||||
// 这边也要修改进度
|
||||
softwareStore.spin.tip = `翻译中 ... ${value.data.progress} / ${value.data.total}`
|
||||
}
|
||||
|
||||
/**
|
||||
* MJ反推返回数据
|
||||
*/
|
||||
function MJReverseResponse(value) {
|
||||
console.log('MJReverseResponse', value)
|
||||
if (value.data && value.data.progress == 100) {
|
||||
debugger
|
||||
let dataIndex = reverseManageStore.selectBookTaskDetail.findIndex(
|
||||
(item) => item.id == value.data.id
|
||||
)
|
||||
|
||||
@ -101,7 +101,7 @@ async function TranslateSelect(key) {
|
||||
const element = reverseManageStore.selectBookTaskDetail[i]
|
||||
if (i >= props.index) {
|
||||
translateData.push({
|
||||
text: row.value.gptPrompt,
|
||||
text: element.gptPrompt,
|
||||
from: 'en',
|
||||
to: 'zh',
|
||||
type: TranslateType.GPT_PROMPT_TRANSLATE,
|
||||
@ -116,7 +116,7 @@ async function TranslateSelect(key) {
|
||||
const element = reverseManageStore.selectBookTaskDetail[i]
|
||||
if (i >= props.index) {
|
||||
translateData.push({
|
||||
text: row.value.gptPrompt,
|
||||
text: element.gptPrompt,
|
||||
from: 'zh',
|
||||
to: 'en',
|
||||
type: TranslateType.GPT_PROMPT_TRANSLATE,
|
||||
|
||||
@ -209,7 +209,7 @@ export default defineComponent({
|
||||
translation_app_id: window.config.translation_app_id,
|
||||
translation_secret: window.config.translation_secret,
|
||||
translation_auto: window.config.translation_auto,
|
||||
theme: softwareStore.softWare.theme,
|
||||
theme: softwareStore.globalSetting.theme,
|
||||
character_select_model: window.config.character_select_model,
|
||||
window_wh_bm_remember: window.config.window_wh_bm_remember,
|
||||
laiApiSelect: window.config.laiApiSelect ? window.config.laiApiSelect : LaiAPIType.MAIN
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user