panhui 2 лет назад
Родитель
Сommit
58e754c279
3 измененных файлов с 22 добавлено и 15 удалено
  1. 4 5
      src/api/index.ts
  2. 17 9
      src/components/common/MaskPannel.vue
  3. 1 1
      src/views/chat/Chat.vue

+ 4 - 5
src/api/index.ts

@@ -168,15 +168,14 @@ 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
     })
 }
 
 export function fetchGetMask<T>(id: any) {
     return get<T>({
-        url: `admin/mask/get/${id}`
+        url: `/admin/mask/get/${id}`
     })
 }

+ 17 - 9
src/components/common/MaskPannel.vue

@@ -94,23 +94,22 @@ 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[(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
     getMask()
 })
 
@@ -118,7 +117,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
     })

+ 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">