提交 934e7c78 authored 作者: lhh's avatar lhh

修改数字营销Ai,在线设计优化

上级 710eb954
......@@ -10,7 +10,8 @@ import {
materialMethodList,
materialUsageList,
materialUsersList,
materialPictureStyleList
materialPictureStyleList,
textPurposeList
} from '@/utils/dictionary'
import IconComputer from './IconComputer.vue'
import IconUser from './IconUser.vue'
......@@ -36,9 +37,11 @@ const welcomeMessage = computed(() => {
const connection = connectionList.value.find(item => item.id == data.channel)?.type_name
const extendInfo = data.extend_info || {}
const pictureStyle = getNameByValue(extendInfo.picture_style, materialPictureStyleList)
const textPurpose = getNameByValue(extendInfo.text_use, textPurposeList)
console.log(textPurpose, 'textPurpose')
if (data.type == 1) {
return `请帮我创作一个<b class="bold">“${industry}”</b>,“<b class="bold">${personnel}”</b>,通过<b class="bold">“${connection}”</b>渠道,向客户发送<b class="bold">“${scenario}”</b>的文本,字数控制在“<b class="bold">${extendInfo.text_count}字以内</b>“,关键点需要包含:<b class="bold">${data.key_points}</b>。`
return `请帮我创作一个在<b class="bold">“${industry}行业”</b>,使用的“<b class="bold">${textPurpose}”</b>,这个内容的使用人员是“<b class="bold">${personnel}”</b>,通过<b class="bold">“${connection}”</b>渠道进行投放,使用场景是<b class="bold">“${scenario}”</b>,字数控制在“<b class="bold">${extendInfo.text_count}字以内</b>“,关键点需要包含:<b class="bold">${data.key_points}</b>。`
} else if (data.type == 2) {
return `<b class="bold">${extendInfo.person_des}${extendInfo.scene_des}</b>,重点突出<b class="bold">${extendInfo.important_info_desc}${pictureStyle}</b>`
}
......@@ -280,7 +283,7 @@ async function handleSave(message) {
border-top: 1px solid #edeff1;
}
.chat-message-extra button{
.chat-message-extra button {
margin-bottom: 10px;
}
......
......@@ -57,7 +57,6 @@ window.chuangkitComplete = async result => {
if ([1, 2, 3].includes(result.kind)) {
emit('close')
}
console.log('编辑器加载完成,回调函数...', result)
}
let cktInstance
......
......@@ -2,7 +2,14 @@
import { useMapStore } from '@/stores/map'
import { useConnection } from '../composables/useConnection'
import { useIndustry } from '../composables/useIndustry'
import { getNameByValue, materialMethodList, materialUsageList, materialUsersList, materialPictureStyleList } from '@/utils/dictionary'
import {
getNameByValue,
materialMethodList,
materialUsageList,
materialUsersList,
materialPictureStyleList,
textPurposeList
} from '@/utils/dictionary'
defineProps(['action'])
......@@ -24,7 +31,8 @@ const rules = ref({
'extend_info.picture_style': [{ required: true, message: '请选择图片风格' }],
'extend_info.person_des': [{ required: true, message: '请输入人物描述' }],
'extend_info.scene_des': [{ required: true, message: '请输入场景描述' }],
'extend_info.important_info_desc': [{ required: true, message: '请输入突出重点信息描述' }]
'extend_info.important_info_desc': [{ required: true, message: '请输入突出重点信息描述' }],
'extend_info.text_use': [{ required: true, message: '请选择文本用途' }]
})
async function handleValidate() {
......@@ -50,12 +58,21 @@ async function handleNext() {
<el-form-item label="创作方式">{{ getNameByValue(form.way, materialMethodList) }}</el-form-item>
</el-form>
<el-divider></el-divider>
<el-form label-suffix=":" label-width="130" :model="form" :rules="rules" ref="formRef" :disabled="action === 'view'">
<el-form
label-suffix=":"
label-width="130"
:model="form"
:rules="rules"
ref="formRef"
:disabled="action === 'view'"
>
<template v-if="form.type == 2 && form.way == 1">
<!-- 图片AI -->
<el-form-item label="图片风格" prop="extend_info.picture_style">
<el-radio-group v-model="form.extend_info.picture_style">
<el-radio v-for="item in materialPictureStyleList" :key="item.id" :value="item.value">{{ item.label }}</el-radio>
<el-radio v-for="item in materialPictureStyleList" :key="item.id" :value="item.value">{{
item.label
}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="人物描述" prop="extend_info.person_des">
......@@ -69,6 +86,11 @@ async function handleNext() {
</el-form-item>
</template>
<template v-else>
<el-form-item label="文本用途" prop="extend_info.text_use">
<el-radio-group v-model="form.extend_info.text_use">
<el-radio v-for="item in textPurposeList" :key="item.id" :value="item.value">{{ item.label }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="所属行业" prop="industry_id">
<el-select v-model="form.industry_id">
<el-option v-for="item in industryList" :key="item.id" :label="item.name" :value="item.id + ''"></el-option>
......@@ -91,14 +113,28 @@ async function handleNext() {
</el-form-item>
<el-form-item label="文本字数" prop="extend_info.text_count" v-if="form.type == 1 && form.way == 1">
<el-radio-group v-model="form.extend_info.text_count">
<template v-if="form.extend_info.text_use !== '2' && form.extend_info.text_use !== '3'">
<el-radio :value="50">50</el-radio>
<el-radio :value="100">100</el-radio>
<el-radio :value="200">200</el-radio>
</template>
<template v-if="form.extend_info.text_use === '2'">
<el-radio :value="300">300</el-radio>
<el-radio :value="500">500</el-radio>
<el-radio :value="1000">1000</el-radio>
</template>
<template v-if="form.extend_info.text_use === '3'">
<el-radio :value="500">500</el-radio>
<el-radio :value="1000">1000</el-radio>
</template>
</el-radio-group>
</el-form-item>
<el-form-item label="关键点" prop="key_points">
<el-input type="textarea" :rows="4" v-model="form.key_points" placeholder="请输入内容的核心内容或者关键点,多个请使用英文“,”号进行隔离。" />
<el-input
type="textarea"
:rows="4"
v-model="form.key_points"
placeholder="请输入内容的核心内容或者关键点,多个请使用英文“,”号进行隔离。"
/>
</el-form-item>
</template>
</el-form>
......
......@@ -18,7 +18,7 @@ const form: any = reactive({
type: route.query.type || '1',
name: '',
way: '2',
industry_id: '1',
industry_id: '',
scenario_type: '1',
personnel_type: '1',
channel: '',
......@@ -83,10 +83,10 @@ async function handleUpdate() {
<el-tab-pane lazy label="第1步" :name="1" disabled>
<StepOne v-model="form" :action="action" style="max-width: 1000px; margin: 0 auto" @next="handleNext"></StepOne>
</el-tab-pane>
<el-tab-pane lazy label="第2步" :name="2" disabled>
<el-tab-pane lazy label="第2步" :name="2" disabled v-if="form.way !== '3'">
<StepTwo v-model="form" :action="action" style="max-width: 1000px; margin: 0 auto" @prev="handlePrev" @next="handleNextAndSubmit"></StepTwo>
</el-tab-pane>
<el-tab-pane lazy label="第3步" :name="3" disabled>
<el-tab-pane lazy :label="form.way === '3' ? '第二步' : '第3步'" :name="form.way === '3' ? 2 : 3" disabled>
<StepThree v-model="form" :action="action" @prev="handlePrev" @submit="handleSubmit"></StepThree>
</el-tab-pane>
</el-tabs>
......
......@@ -148,3 +148,10 @@ export const materialPictureStyleList = [
{ label: '时尚杂志风 ', value: '9' },
{ label: '漫画风格 ', value: '10' }
]
// 文本用途
export const textPurposeList = [
{ label: '消息/短息', value: '1' },
{ label: '长文本/文章 ', value: '2' },
{ label: '短视频脚本 ', value: '3' }
]
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论