캐릭터 챗봇 #74

Merged
klaus merged 33 commits from test into main 2025-09-10 06:26:03 +00:00
2 changed files with 57 additions and 10 deletions
Showing only changes of commit a3e82a81f8 - Show all commits

View File

@ -34,6 +34,9 @@ async function createCharacter(characterData) {
age: characterData.age,
gender: characterData.gender,
mbti: characterData.mbti,
characterType: characterData.type,
originalTitle: characterData.originalTitle,
originalLink: characterData.originalLink,
speechPattern: characterData.speechPattern,
speechStyle: characterData.conversationStyle,
appearance: characterData.appearance,

View File

@ -69,17 +69,16 @@
</v-col>
</v-row>
<!-- 캐릭터 설명 -->
<!-- 캐릭터 소개 -->
<v-row>
<v-col cols="12">
<v-textarea
<v-text-field
v-model="character.description"
label="캐릭터 설명"
label="캐릭터 한 줄 소개"
:rules="descriptionRules"
required
outlined
auto-grow
rows="4"
dense
/>
</v-col>
</v-row>
@ -117,7 +116,7 @@
</v-col>
</v-row>
<!-- MBTI -->
<!-- MBTI & 캐릭터 유형 -->
<v-row>
<v-col
cols="12"
@ -131,6 +130,18 @@
dense
/>
</v-col>
<v-col
cols="12"
md="6"
>
<v-select
v-model="character.type"
:items="typeOptions"
label="캐릭터 유형"
outlined
dense
/>
</v-col>
</v-row>
<!-- 태그 - 입력 띄어쓰기 때마다 Chip 형태로 변경 -->
@ -168,6 +179,32 @@
</v-col>
</v-row>
<!-- 원작 정보 -->
<v-row>
<v-col
cols="12"
md="6"
>
<v-text-field
v-model="character.originalTitle"
label="원작명"
outlined
dense
/>
</v-col>
<v-col
cols="12"
md="6"
>
<v-text-field
v-model="character.originalLink"
label="원작링크"
outlined
dense
/>
</v-col>
</v-row>
<!-- 텍스트 섹션 -->
<v-row>
<v-col cols="12">
@ -925,6 +962,9 @@ export default {
gender: '',
age: '',
mbti: '',
type: '',
originalTitle: '',
originalLink: '',
speechPattern: '',
conversationStyle: '',
appearance: '',
@ -950,8 +990,8 @@ export default {
v => (v && v.trim().length > 0) || '이름을 입력하세요'
],
descriptionRules: [
v => !!v || '설명을 입력하세요',
v => (v && v.trim().length > 0) || '설명을 입력하세요'
v => !!v || '한 줄 소개를 입력하세요',
v => (v && v.trim().length > 0) || '한 줄 소개를 입력하세요'
],
imageRules: [
v => !this.isEdit || !!v || !!this.character.imageUrl || '이미지를 선택하세요'
@ -962,7 +1002,8 @@ export default {
'INFJ', 'INFP', 'ENFJ', 'ENFP',
'ISTJ', 'ISFJ', 'ESTJ', 'ESFJ',
'ISTP', 'ISFP', 'ESTP', 'ESFP'
]
],
typeOptions: ['Clone', 'Character']
}
},
@ -1247,6 +1288,9 @@ export default {
age: this.character.age,
gender: this.character.gender,
mbti: this.character.mbti,
type: this.character.type,
originalTitle: this.character.originalTitle,
originalLink: this.character.originalLink,
speechPattern: this.character.speechPattern,
speechStyle: this.character.conversationStyle,
appearance: this.character.appearance,
@ -1269,7 +1313,7 @@ export default {
//
const simpleFields = [
'name', 'description', 'age', 'gender', 'mbti',
'name', 'description', 'age', 'gender', 'mbti', 'type', 'originalTitle', 'originalLink',
'speechPattern', 'isActive'
];