Ver Fonte

随机面具

panhui há 2 anos atrás
pai
commit
3041ffe167
3 ficheiros alterados com 24 adições e 16 exclusões
  1. 3 4
      src/api/index.ts
  2. 20 11
      src/components/common/MaskPannel.vue
  3. 1 1
      src/views/chat/Chat.vue

+ 3 - 4
src/api/index.ts

@@ -166,10 +166,9 @@ export function fetchSystemMessage<T>() {
     })
 }
 
-export function fetchMasks<T>(data: any) {
-    return post<T>({
-        url: 'admin/mask',
-        data: data
+export function fetchMasks<T>(num: number) {
+    return get<T>({
+        url: '/admin/mask/getRandom/' + num
     })
 }
 

+ 20 - 11
src/components/common/MaskPannel.vue

@@ -94,23 +94,23 @@ const finish = ref(false)
 const masks = ref([])
 function getMask() {
     let iconIndex = Math.floor(Math.random() * 4)
-    fetchMasks({ page: { page: page.value, limit: 4 } }).then((res: any) => {
-        masks.value = res.items.map((item: any, index: number) => {
+    fetchMasks(4).then((res: any) => {
+        masks.value = res.map((item: any, index: number) => {
             return {
                 ...item,
-                icon: icons[(iconIndex + index) % 4]
+                icon: icons[(item.iconId - 1) % 4]
             }
         })
-        if (res.meta.totalPages === res.meta.currentPage) {
-            finish.value = true
-        } else {
-            finish.value = false
-        }
+        // if (res.meta.totalPages === res.meta.currentPage) {
+        //     finish.value = true
+        // } else {
+        //     finish.value = false
+        // }
     })
 }
 
 onMounted(() => {
-    page.value = 1
+    // page.value = 1
     getMask()
 })
 
@@ -118,7 +118,16 @@ const emit = defineEmits(['closeMask'])
 const chatStore = useChatStore()
 const router = useRouter()
 function update(mask: any) {
-    chatStore.addHistory({ title: mask.name, uuid: Date.now(), isEdit: false, maskId: mask.id })
+    chatStore.addHistory({ title: mask.name, uuid: Date.now(), isEdit: false, maskId: mask.id }, [
+        {
+            dateTime: new Date().toLocaleString(),
+            text: mask.welcomeMessage,
+            inversion: false,
+            error: false,
+            conversationOptions: null,
+            requestOptions: { prompt: mask.welcomeMessage, options: null }
+        }
+    ])
     updateSettings({
         systemMessage: mask.describe
     })
@@ -153,7 +162,7 @@ function handleAdd() {
 
     &.maskDark {
         background: linear-gradient(310deg, #30155a 0%, #2d2c61 100%);
-        border: 1px solid #FFBEF2;
+        border: 1px solid #ffbef2;
         box-shadow: none;
     }
 }

+ 1 - 1
src/views/chat/Chat.vue

@@ -541,7 +541,7 @@ function handleAdd() {
         <footer :class="footerClass">
             <div class="w-full max-w-screen-xl m-auto">
                 <div class="flex items-center justify-between space-x-2">
-                    <HoverButton @click="handleAdd">
+                    <HoverButton v-if="!isMobile"  @click="handleAdd">
                         <img class="w-[24px] h-[24px]" :src="isDark ? maskDarkIcon : maskIcon" alt="" />
                     </HoverButton>
                     <HoverButton @click="handleClear">