共 {{ rowCount }} 行分镜(当前数量不是最后数量,最后会删除空行)
@@ -15,26 +75,49 @@
\ No newline at end of file
+
diff --git a/src/renderer/src/components/Setting/MJSetting.vue b/src/renderer/src/components/Setting/MJSetting.vue
index 8ac98ba..095dc82 100644
--- a/src/renderer/src/components/Setting/MJSetting.vue
+++ b/src/renderer/src/components/Setting/MJSetting.vue
@@ -168,7 +168,6 @@ export default defineComponent({
mjSetting.value = value.data;
modifyOption(value.data);
}
-
})
}
diff --git a/src/renderer/src/components/Setting/SDSetting.vue b/src/renderer/src/components/Setting/SDSetting.vue
index 1441568..f45207b 100644
--- a/src/renderer/src/components/Setting/SDSetting.vue
+++ b/src/renderer/src/components/Setting/SDSetting.vue
@@ -1,132 +1,244 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- *
-
-
-
-
- 保存设置
-
-
-
-
-
-
-
-
+
+
+
+
+
+ 加载数据
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ *
+
+
+
+ 保存设置
+
+
+
+
+
+
+
\ No newline at end of file
+
diff --git a/src/renderer/src/components/Setting/Setting.vue b/src/renderer/src/components/Setting/Setting.vue
index 0471eec..355ea75 100644
--- a/src/renderer/src/components/Setting/Setting.vue
+++ b/src/renderer/src/components/Setting/Setting.vue
@@ -1,379 +1,481 @@
-
-
-
- 保存中
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 暗
-
-
- 亮
-
-
-
-
-
-
-
-
-
-
-
-
- 购买
-
-
-
-
-
-
-
+
+
+ 保存中
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 暗
+ 亮
+
+
+
+
+
+ 开启窗口大小/位置记忆
+
+
+
+
+
+
+ 购买
+
+
+
+
+
+
-
-
-
-
- 添加GPT
-
-
- 测试链接
-
-
- 添加GPT提示词
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 保存
-
-
-
-
-
+
+
+
+
+ 添加GPT
+
+
+ 测试链接
+
+
+ 添加GPT提示词
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 保存
+
+
+
+
+
\ No newline at end of file
+ onMounted(async () => {
+ await InitGptOptions()
+ })
+
+ let translation_options = [
+ {
+ label: '百度翻译',
+ value: 'https://fanyi-api.baidu.com/api/trans/vip/translate'
+ },
+ {
+ label: '火山引擎',
+ value: 'https://translate.volcengineapi.com?'
+ },
+ {
+ label: '腾讯翻译',
+ value: 'https://tmt.tencentcloudapi.com'
+ },
+ {
+ label: '阿里翻译',
+ value: 'https://mt.cn-hangzhou.aliyuncs.com'
+ }
+ ]
+
+ // 切换翻译服务商事件
+ function SwitchTranslate(value, option) {
+ // 将之前的数据全部删除
+ formValue.value.translation_app_id = null
+ formValue.value.translation_secret = null
+ }
+
+ let ruleObj = (errorMessage) => {
+ return [
+ {
+ required: true,
+ validator(rule, value) {
+ if (value == null || value == '') return new Error(errorMessage)
+ return true
+ },
+ trigger: ['input', 'blur', 'change']
+ }
+ ]
+ }
+
+ let rules = {
+ draft_path: ruleObj('必填剪映草稿地址'),
+ project_path: ruleObj('必填项目地址'),
+ project_name: ruleObj('必填项目名称'),
+ task_number: ruleObj('必填后台并行任务数'),
+ gpt_business: ruleObj('必填GPT接口服务商'),
+ gpt_key: ruleObj('必填GPT Key'),
+ gpt_model: ruleObj('必填GPT模型'),
+ gpt_count: ruleObj('必填自动推理上下文行数'),
+ translation_secret: ruleObj('必填产品密钥'),
+ translation_app_id: ruleObj('必填APP ID'),
+ translation_business: ruleObj('必填翻译服务商')
+ }
+
+ /**
+ * 保存配置信息
+ */
+ function handleValidateButtonClick(e) {
+ e.preventDefault()
+ formRef.value?.validate((errors) => {
+ if (errors) {
+ message.error('请检查必填字段')
+ return
+ }
+ // 保存文件
+ window.api.ModifySampleSetting(JSON.stringify(toRaw(formValue.value)), (value) => {
+ if (value.code == 1) {
+ window.api.getSettingDafultData((value) => {
+ window.config = value
+ })
+ window.api.showGlobalMessageDialog({ code: 1, message: value.message })
+ } else {
+ window.api.showGlobalMessageDialog({ code: 0, message: value.message })
+ }
+ })
+ })
+ }
+
+ let railStyle = (focused, checked) => {
+ const style = {}
+ if (checked) {
+ style.background = '#f3a694'
+ if (focused) {
+ style.boxShadow = '0 0 0 2px #f3a694'
+ }
+ } else {
+ style.background = '#775039'
+ if (focused) {
+ style.boxShadow = '0 0 0 2px #775039'
+ }
+ }
+ return style
+ }
+
+ /**
+ * 打开购买GPT的地址
+ */
+ async function openGptBuyUrl() {
+ window.api.openGptBuyUrl(toRaw(formValue.value.gpt_business))
+ }
+
+ /**
+ * 切换主题
+ * @param {*} value 主题名称
+ */
+ async function ChangeMode(value) {
+ debugger
+ console.log(value)
+ const isDarkMode = await window.darkMode.toggle(value)
+ }
+
+ /**
+ * 添加GPT地址或者模型
+ */
+ async function addGptOption() {
+ // 判断当前数据是不是存在
+ // 处理数据。获取当前的所有的数据
+ let dialogWidth = 600
+ let dialogHeight = 450
+ // ImportWordAndSrt
+ dialog.create({
+ showIcon: false,
+ closeOnEsc: false,
+ title: '添加GPT地址或者模型',
+ content: () => h(AddGptOption, {}),
+ style: `width : ${dialogWidth}px; min-height : ${dialogHeight}px`,
+ maskClosable: false,
+ onClose: async () => {
+ // 刷新界面数据
+ await InitGptOptions()
+ }
+ })
+ }
+
+ /**
+ * 测试当前GPT是不是可以链接成功
+ */
+ async function TestGPTConnection() {
+ loading.value = true
+ // 测试链接
+ await window.api.TestGPTConnection(JSON.stringify(formValue.value), (value) => {
+ loading.value = false
+ if (value.code == 0) {
+ window.api.showGlobalMessageDialog({
+ code: 0,
+ message: 'GPT链接失败,错误信息: ' + value.message
+ })
+ return
+ }
+ window.api.showGlobalMessageDialog({ code: 1, message: 'gpt链接测试成功,可以正常使用!' })
+ })
+ }
+
+ /**
+ * 选择项目文件夹
+ */
+ async function SelectProjectFolder() {
+ await window.api.selectFolder(
+ { default_paht: toRaw(formValue.value).project_path },
+ (value) => {
+ if (value.length > 0) {
+ formValue.value.project_path = value[0]
+ }
+ }
+ )
+ }
+
+ /**
+ * 添加GPT提示词预设
+ */
+ async function AddGptPrompt() {
+ // 判断当前数据是不是存在
+ // 处理数据。获取当前的所有的数据
+ let dialogWidth = 600
+ let dialogHeight = window.innerHeight * 0.9
+ // ImportWordAndSrt
+ dialog.create({
+ showIcon: false,
+ closeOnEsc: false,
+ title: '添加GPT提示词预设',
+ content: () => h(AddGptPrompts, { height: dialogHeight }),
+ style: `width : ${dialogWidth}px; height : ${dialogHeight}px; padding-right : 3px `,
+ maskClosable: false,
+ onClose: () => {}
+ })
+ }
+
+ return {
+ formRef,
+ ChangeMode,
+ openGptBuyUrl,
+ railStyle,
+ handleValidateButtonClick,
+ rules,
+ SwitchTranslate,
+ translation_options,
+ gpt_model_options,
+ gpt_options,
+ show,
+ formValue,
+ addGptOption,
+ TestGPTConnection,
+ loading,
+ SelectProjectFolder,
+ AddGptPrompt,
+ character_select_model_options
+ }
+ }
+})
+