캐릭터 챗봇 #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, age: characterData.age,
gender: characterData.gender, gender: characterData.gender,
mbti: characterData.mbti, mbti: characterData.mbti,
characterType: characterData.type,
originalTitle: characterData.originalTitle,
originalLink: characterData.originalLink,
speechPattern: characterData.speechPattern, speechPattern: characterData.speechPattern,
speechStyle: characterData.conversationStyle, speechStyle: characterData.conversationStyle,
appearance: characterData.appearance, appearance: characterData.appearance,

View File

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