LaiTool V 3.1.4
This commit is contained in:
@@ -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,7 +164,9 @@ watch(
|
||||
watch(
|
||||
() => props.initData.outImagePath,
|
||||
(value) => {
|
||||
outImagePath.value = value + `?t=${new Date().getTime()}`
|
||||
if (value) {
|
||||
outImagePath.value = value + `?t=${new Date().getTime()}`
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
@@ -180,7 +182,9 @@ watch(
|
||||
|
||||
onMounted(async () => {
|
||||
setNodeAttribute()
|
||||
outImagePath.value = outImagePath.value + `?t=${new Date().getTime()}`
|
||||
if (!isEmpty(outImagePath.value)) {
|
||||
outImagePath.value = outImagePath.value + `?t=${new Date().getTime()}`
|
||||
}
|
||||
})
|
||||
|
||||
async function setNodeAttribute() {
|
||||
@@ -246,10 +250,13 @@ async function imageDragOver(e) {
|
||||
}
|
||||
|
||||
async function ModifyLock() {
|
||||
// 锁定之前,判断是不是有
|
||||
if (!outImagePath.value) {
|
||||
message.error('没有生成图片,不能锁定')
|
||||
return
|
||||
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,53 +49,92 @@ 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
|
||||
}
|
||||
if (value.code == 0) {
|
||||
switch (value.dialogType) {
|
||||
case DialogType.DIALOG:
|
||||
window.api.showGlobalMessageDialog(value)
|
||||
break
|
||||
case DialogType.MESSAGE:
|
||||
message.error(value.message)
|
||||
break
|
||||
case DialogType.NOTIFICATION:
|
||||
window.api.showGlobalNotificationDialog(value)
|
||||
break
|
||||
default:
|
||||
window.api.showGlobalNotificationDialog(value)
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
// 执行对应的方法,修改数据
|
||||
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
|
||||
}
|
||||
})
|
||||
function errorResponse(value) {
|
||||
switch (value.dialogType) {
|
||||
case DialogType.DIALOG:
|
||||
window.api.showGlobalMessageDialog(value)
|
||||
break
|
||||
case DialogType.MESSAGE:
|
||||
message.error(value.message)
|
||||
break
|
||||
case DialogType.NOTIFICATION:
|
||||
window.api.showGlobalNotificationDialog(value)
|
||||
break
|
||||
default:
|
||||
window.api.showGlobalNotificationDialog(value)
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user