V 3.1.7
1. 移除软件包自带的本地 whisper(需单独安装) 2. 重构版本底层依赖,移除外部依赖 3. 修复 首页 暗黑模式不兼容的问题 4. 修复 SD 合并提示词报错
This commit is contained in:
@@ -37,7 +37,6 @@
|
||||
label-placement="left"
|
||||
inline
|
||||
:model="frameValue"
|
||||
:rules="rules"
|
||||
size="medium"
|
||||
>
|
||||
<n-form-item label="分割敏感度" path="sensitivity" style="width: 300px">
|
||||
@@ -68,7 +67,7 @@
|
||||
<n-code style="padding: 0; font-size: small" :code="code" language="js" word-wrap />
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script setup>
|
||||
import { defineComponent, ref, onMounted, toRaw } from 'vue'
|
||||
import {
|
||||
NSelect,
|
||||
@@ -83,161 +82,142 @@ import {
|
||||
NForm,
|
||||
NFormItem,
|
||||
NSlider,
|
||||
NInput
|
||||
NInput,
|
||||
useDialog
|
||||
} from 'naive-ui'
|
||||
import { DEFINE_STRING } from '../../../../define/define_string'
|
||||
export default defineComponent({
|
||||
components: {
|
||||
NSelect,
|
||||
NButton,
|
||||
NSpin,
|
||||
NDivider,
|
||||
NCode,
|
||||
NTabs,
|
||||
NTabPane,
|
||||
NSpace,
|
||||
NForm,
|
||||
NFormItem,
|
||||
NSlider,
|
||||
NInput
|
||||
},
|
||||
setup() {
|
||||
let options = []
|
||||
let out_dir = ref(null)
|
||||
let selectedValue = ref(null)
|
||||
let show = ref(false)
|
||||
let code = ref('')
|
||||
const message = useMessage()
|
||||
let storyLoading = ref(false)
|
||||
|
||||
let frameValue = ref({
|
||||
sensitivity: 30,
|
||||
video_path: null
|
||||
})
|
||||
let options = []
|
||||
let out_dir = ref(null)
|
||||
let selectedValue = ref(null)
|
||||
let show = ref(false)
|
||||
let code = ref('')
|
||||
const message = useMessage()
|
||||
let storyLoading = ref(false)
|
||||
let dialog = useDialog()
|
||||
|
||||
onMounted(() => {
|
||||
window.api.getDraftFileList((value) => {
|
||||
value.forEach((element) => {
|
||||
let obj = {
|
||||
label: element,
|
||||
value: element
|
||||
}
|
||||
options.push(obj)
|
||||
})
|
||||
})
|
||||
window.api.setEventListen([DEFINE_STRING.GET_FRAME_RETUN], (value) => {
|
||||
if (value.code == 0) {
|
||||
message.error(value.message)
|
||||
code.value = code.value + '\n' + value.data
|
||||
return
|
||||
}
|
||||
// 完成
|
||||
if (value.type == 0) {
|
||||
storyLoading.value = false
|
||||
message.success('分镜抽帧完成')
|
||||
}
|
||||
code.value = code.value + '\n' + value.data
|
||||
})
|
||||
})
|
||||
|
||||
async function getFrameFunc(e) {
|
||||
out_dir = window.config.project_path
|
||||
if (selectedValue.value == null || selectedValue.value == undefined) {
|
||||
message.error('请选择剪映草稿和输出草稿')
|
||||
return
|
||||
}
|
||||
show.value = true
|
||||
// 抽帧
|
||||
await window.api.getFrame([selectedValue.value, out_dir], (value) => {
|
||||
if (value.code == 0) {
|
||||
message.error('抽帧失败')
|
||||
code.value = value.message
|
||||
return
|
||||
}
|
||||
message.success('抽帧成功')
|
||||
code.value = value.data
|
||||
show.value = false
|
||||
})
|
||||
}
|
||||
|
||||
function selectExportFolder(e) {
|
||||
window.api.selectFolder(null, (value) => {
|
||||
if (value.length <= 0) {
|
||||
message.error('必须选择输出文件夹位置')
|
||||
return
|
||||
}
|
||||
out_dir.value = value[0]
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 选择指定的视频文件
|
||||
*/
|
||||
async function GetVideoFile() {
|
||||
await window.api.SelectFile(['mp4'], (value) => {
|
||||
if (value.code == 0) {
|
||||
message.error(value.message)
|
||||
return
|
||||
}
|
||||
frameValue.value.video_path = value.value
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 开始分镜执行分镜任务
|
||||
*/
|
||||
async function StartStoryboarding() {
|
||||
storyLoading.value = true
|
||||
if (frameValue.value.video_path == null) {
|
||||
message.error('选择分镜的视频地址')
|
||||
return
|
||||
}
|
||||
|
||||
if (
|
||||
toRaw(frameValue.value)
|
||||
.video_path.split('.')
|
||||
[toRaw(frameValue.value).video_path.split('.').length - 1].toUpperCase() != 'MP4'
|
||||
) {
|
||||
message.error('目前只支持MP4格式')
|
||||
return
|
||||
}
|
||||
|
||||
await window.api.StartStoryboarding(toRaw(frameValue.value))
|
||||
}
|
||||
|
||||
/**
|
||||
* 打开环境安装网站
|
||||
*/
|
||||
function OpenTeachDoc() {
|
||||
window.api.OpenUrl(
|
||||
'https://pvwu1oahp5m.feishu.cn/docx/VrBVd2KUDosmNfxat3OceWuInjd?from=from_copylink'
|
||||
)
|
||||
}
|
||||
|
||||
function openExportFolder() {
|
||||
window.system.OpenFolder({
|
||||
folderPath: 'tmp/input_crop',
|
||||
baseProject: true
|
||||
})
|
||||
}
|
||||
|
||||
return {
|
||||
selectedValue,
|
||||
options,
|
||||
out_dir,
|
||||
getFrameFunc,
|
||||
selectExportFolder,
|
||||
show,
|
||||
code,
|
||||
frameValue,
|
||||
GetVideoFile,
|
||||
StartStoryboarding,
|
||||
OpenTeachDoc,
|
||||
storyLoading,
|
||||
openExportFolder
|
||||
}
|
||||
}
|
||||
let frameValue = ref({
|
||||
sensitivity: 30,
|
||||
video_path: null
|
||||
})
|
||||
|
||||
onMounted(() => {
|
||||
window.api.getDraftFileList((value) => {
|
||||
value.forEach((element) => {
|
||||
let obj = {
|
||||
label: element,
|
||||
value: element
|
||||
}
|
||||
options.push(obj)
|
||||
})
|
||||
})
|
||||
window.api.setEventListen([DEFINE_STRING.GET_FRAME_RETUN], (value) => {
|
||||
if (value.code == 0) {
|
||||
message.error(value.message)
|
||||
code.value = code.value + '\n' + value.data
|
||||
return
|
||||
}
|
||||
// 完成
|
||||
if (value.type == 0) {
|
||||
storyLoading.value = false
|
||||
message.success('分镜抽帧完成')
|
||||
}
|
||||
code.value = code.value + '\n' + value.data
|
||||
})
|
||||
})
|
||||
|
||||
async function getFrameFunc(e) {
|
||||
out_dir = window.config.project_path
|
||||
if (selectedValue.value == null || selectedValue.value == undefined) {
|
||||
message.error('请选择剪映草稿和输出草稿')
|
||||
return
|
||||
}
|
||||
show.value = true
|
||||
// 抽帧
|
||||
await window.api.getFrame([selectedValue.value, out_dir], (value) => {
|
||||
if (value.code == 0) {
|
||||
message.error('抽帧失败')
|
||||
code.value = value.message
|
||||
return
|
||||
}
|
||||
message.success('抽帧成功')
|
||||
code.value = value.data
|
||||
show.value = false
|
||||
})
|
||||
}
|
||||
|
||||
function selectExportFolder(e) {
|
||||
window.api.selectFolder(null, (value) => {
|
||||
if (value.length <= 0) {
|
||||
message.error('必须选择输出文件夹位置')
|
||||
return
|
||||
}
|
||||
out_dir.value = value[0]
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 选择指定的视频文件
|
||||
*/
|
||||
async function GetVideoFile() {
|
||||
await window.api.SelectFile(['mp4'], (value) => {
|
||||
if (value.code == 0) {
|
||||
message.error(value.message)
|
||||
return
|
||||
}
|
||||
frameValue.value.video_path = value.value
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 开始分镜执行分镜任务
|
||||
*/
|
||||
async function StartStoryboarding() {
|
||||
storyLoading.value = true
|
||||
if (frameValue.value.video_path == null) {
|
||||
message.error('选择分镜的视频地址')
|
||||
return
|
||||
}
|
||||
|
||||
if (
|
||||
toRaw(frameValue.value)
|
||||
.video_path.split('.')
|
||||
[toRaw(frameValue.value).video_path.split('.').length - 1].toUpperCase() != 'MP4'
|
||||
) {
|
||||
message.error('目前只支持MP4格式')
|
||||
return
|
||||
}
|
||||
|
||||
let res = await window.api.StartStoryboarding(toRaw(frameValue.value))
|
||||
if (res.code == 0) {
|
||||
dialog.error({
|
||||
title: '抽帧错误输出',
|
||||
content: res.message
|
||||
})
|
||||
return
|
||||
} else {
|
||||
dialog.success({
|
||||
title: '抽帧成功',
|
||||
content: '视频分镜,抽帧,问题提取都已完成'
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 打开环境安装网站
|
||||
*/
|
||||
function OpenTeachDoc() {
|
||||
window.api.OpenUrl(
|
||||
'https://pvwu1oahp5m.feishu.cn/docx/VrBVd2KUDosmNfxat3OceWuInjd?from=from_copylink'
|
||||
)
|
||||
}
|
||||
|
||||
function openExportFolder() {
|
||||
window.system.OpenFolder({
|
||||
folderPath: 'tmp/input_crop',
|
||||
baseProject: true
|
||||
})
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
@@ -47,7 +47,6 @@ export default defineComponent({
|
||||
onMounted(async () => {
|
||||
// 监听返回的日志数据
|
||||
window.api.setEventListen([DEFINE_STRING.SYSTEM.RETURN_LOGGER], (value) => {
|
||||
debuger
|
||||
if (value.code == 0) {
|
||||
message.error('添加日志输出失败,但是不影响使用')
|
||||
logger.value += value.message + '\n'
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
<template>
|
||||
<div style="width: 100%; height: 100%">
|
||||
<div
|
||||
id="showmessage"
|
||||
style="font-size: 15px; display: flex; justify-content: center; width: 100%; height: 100%"
|
||||
></div>
|
||||
<div style="font-size: 15px; display: flex; justify-content: center; width: 100%; height: 100%">
|
||||
<div id="showmessage"></div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -34,6 +33,7 @@ async function GetRemoteSystemInformation() {
|
||||
iframe.style.padding = '0'
|
||||
iframe.style.height = '98vh' // Adjust the height as needed
|
||||
showMessageDiv.innerHTML = ''
|
||||
showMessageDiv.style.width = '100%'
|
||||
showMessageDiv.appendChild(iframe)
|
||||
} else {
|
||||
showMessageDiv.innerHTML = remoteHomePage
|
||||
|
||||
Reference in New Issue
Block a user