666
This commit is contained in:
91
src/stores/workflow.js
Normal file
91
src/stores/workflow.js
Normal file
@@ -0,0 +1,91 @@
|
||||
import { defineStore } from "pinia";
|
||||
|
||||
const defaultPublishPlatforms = () => [
|
||||
{ label: "*音", checked: false, account: null },
|
||||
{ label: "*手", checked: false, account: null },
|
||||
{ label: "*频号", checked: false, account: null },
|
||||
{ label: "*红书", checked: false, account: null },
|
||||
];
|
||||
|
||||
export const useWorkflowStore = defineStore("workflow", {
|
||||
state: () => ({
|
||||
// 01 IP 深度学习
|
||||
ipMode: "ipBrain",
|
||||
recognizedContent: "",
|
||||
videoType: "口播文案",
|
||||
copyType: "人设型",
|
||||
industryPersona: "",
|
||||
productBusiness: "",
|
||||
sellingPrice: "",
|
||||
otherRequirements: "",
|
||||
targetWords: 300,
|
||||
|
||||
// 视频文案编辑
|
||||
scriptContent: "",
|
||||
editLanguage: "中文(普通话)",
|
||||
editWordCount: 300,
|
||||
|
||||
// 02 音视频生成
|
||||
voiceEmotion: "自然",
|
||||
speechRate: 1,
|
||||
voiceLanguage: "中文(普通话)",
|
||||
avatarSelect: null,
|
||||
|
||||
// 03 视频编辑
|
||||
pipInPicture: false,
|
||||
autoCutBreath: false,
|
||||
greenScreen: false,
|
||||
|
||||
// 04 标题标签关键词
|
||||
titleGenerated: "",
|
||||
tagsGenerated: "",
|
||||
keywordTab: "0",
|
||||
keywordsFocus: "",
|
||||
keywordsDescribe: "",
|
||||
keywordsAction: "",
|
||||
keywordsEmotion: "",
|
||||
|
||||
// 05 字幕和音乐
|
||||
autoSubtitle: false,
|
||||
smartSubtitle: true,
|
||||
bgmEnabled: false,
|
||||
bgmVolume: 30,
|
||||
subtitleTemplate: null,
|
||||
|
||||
// 07 视频发布
|
||||
publishPlatforms: defaultPublishPlatforms(),
|
||||
}),
|
||||
|
||||
getters: {
|
||||
ipModes: () => [
|
||||
{ label: "IP学习", value: "ipBrain" },
|
||||
{ label: "视频学习", value: "videoWrite" },
|
||||
{ label: "爆款文案", value: "customPrompt" },
|
||||
],
|
||||
videoTypes: () => ["口播文案", "剧情文案", "带货文案"],
|
||||
copyTypes: () => ["人设型", "卖点型", "故事型"],
|
||||
voiceEmotions: () => ["自然", "热情", "沉稳"],
|
||||
languages: () => ["中文(普通话)", "中文(粤语)", "English"],
|
||||
avatarOptions: () => [{ label: "请选择形象", value: null }],
|
||||
keywordCountFocus: (state) => countLines(state.keywordsFocus),
|
||||
keywordCountDescribe: (state) => countLines(state.keywordsDescribe),
|
||||
keywordCountAction: (state) => countLines(state.keywordsAction),
|
||||
keywordCountEmotion: (state) => countLines(state.keywordsEmotion),
|
||||
},
|
||||
|
||||
actions: {
|
||||
resetAll() {
|
||||
this.$reset();
|
||||
this.publishPlatforms = defaultPublishPlatforms();
|
||||
},
|
||||
|
||||
clearData() {
|
||||
this.resetAll();
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
function countLines(text) {
|
||||
if (!text?.trim()) return 0;
|
||||
return text.split("\n").filter((line) => line.trim()).length;
|
||||
}
|
||||
Reference in New Issue
Block a user