캐릭터 챗봇 #74
| @@ -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, | ||||||
|   | |||||||
| @@ -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' | ||||||
|       ]; |       ]; | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user