Browse Source

fix: 修改bug

bill 2 năm trước cách đây
mục cha
commit
51ee656254

+ 2 - 0
src/api/user.ts

@@ -21,3 +21,5 @@ export const fetchUser = async (): Promise<User> => {
     phone: data.userName
     phone: data.userName
   }
   }
 }
 }
+
+export const postLogout = () => axios.post('/takelook/fdLogout')

+ 6 - 2
src/components/data-list/index.vue

@@ -2,8 +2,11 @@
   <slot v-if="dataSource.length"></slot>
   <slot v-if="dataSource.length"></slot>
   <div v-else class="un-data">
   <div v-else class="un-data">
     <img :src="unDataPng" class="icon" />
     <img :src="unDataPng" class="icon" />
-    <p v-if="keyword">未搜索到结果,</p>
-    <p>您还没有{{ name || '数据' }},请先创建{{ name || '数据' }}~</p>
+    <p v-if="keyword">未搜索到结果</p>
+    <p v-if="!unSearchDesc">
+      您还没有{{ name || '数据' }},请先创建{{ name || '数据' }}~
+    </p>
+    <p v-else>{{ unSearchDesc }}</p>
     <div class="undata">
     <div class="undata">
       <slot name="undata"></slot>
       <slot name="undata"></slot>
     </div>
     </div>
@@ -16,6 +19,7 @@ import unDataPng from '@/assets/images/un-data.png'
 defineOptions({ name: 'DataList' })
 defineOptions({ name: 'DataList' })
 defineProps<{
 defineProps<{
   dataSource: Array<any>
   dataSource: Array<any>
+  unSearchDesc?: string
   name?: string
   name?: string
   keyword: string
   keyword: string
 }>()
 }>()

+ 5 - 3
src/layout/header.vue

@@ -30,7 +30,7 @@
 <script lang="ts" setup>
 <script lang="ts" setup>
 import { MenuProps } from 'ant-design-vue'
 import { MenuProps } from 'ant-design-vue'
 import { useUserStore } from '@/store'
 import { useUserStore } from '@/store'
-import { gotoLogin } from '@/api'
+import { gotoLogin, postLogout } from '@/api'
 import logoPng from '@/assets/images/logo.png'
 import logoPng from '@/assets/images/logo.png'
 
 
 defineOptions({ name: 'LayoutHeader' })
 defineOptions({ name: 'LayoutHeader' })
@@ -39,9 +39,11 @@ const userStore = useUserStore()
 userStore.fetch()
 userStore.fetch()
 
 
 const menus = [{ label: '退出', key: 'logout' }]
 const menus = [{ label: '退出', key: 'logout' }]
-const handlerMenuClick: MenuProps['onClick'] = e => {
+const handlerMenuClick: MenuProps['onClick'] = async e => {
+  await postLogout()
   if (e.key === 'logout') {
   if (e.key === 'logout') {
-    gotoLogin()
+    location.replace('https://test.4dkankan.com/')
+    // gotoLogin()
   }
   }
 }
 }
 </script>
 </script>

+ 1 - 4
src/store/room.ts

@@ -63,11 +63,8 @@ export const useRoomStore = defineStore('room', {
       }
       }
     },
     },
     async update(room: Room) {
     async update(room: Room) {
-      const storeRoom = this.list.find(({ id }) => id === room.id)
       await updateRoom(room, this.getNums(room))
       await updateRoom(room, this.getNums(room))
-      if (storeRoom) {
-        Object.assign(storeRoom, room)
-      }
+      await this.fetchList()
     },
     },
     async insert(room: Omit<Room, 'id'>) {
     async insert(room: Omit<Room, 'id'>) {
       await insertRoom(room, this.getNums(room))
       await insertRoom(room, this.getNums(room))

+ 16 - 2
src/views/room/edit-room/index.vue

@@ -50,11 +50,17 @@
           name="title"
           name="title"
           :rules="[{ required: true, message: '标题为必填字段' }]"
           :rules="[{ required: true, message: '标题为必填字段' }]"
         >
         >
-          <a-input v-model:value="current.title" :maxlength="15" show-count />
+          <a-input
+            v-model:value="current.title"
+            placeholder="请输入标题名称,限15字"
+            :maxlength="15"
+            show-count
+          />
         </a-form-item>
         </a-form-item>
         <a-form-item label="简介" name="desc">
         <a-form-item label="简介" name="desc">
           <a-textarea
           <a-textarea
             v-model:value="current.desc"
             v-model:value="current.desc"
+            placeholder="请输入文件夹名,限15字"
             no
             no
             :maxlength="200"
             :maxlength="200"
             show-count
             show-count
@@ -63,6 +69,7 @@
         <h4>主持人信息</h4>
         <h4>主持人信息</h4>
         <a-form-item
         <a-form-item
           label="昵称"
           label="昵称"
+          placeholder="请输入主持人昵称,限15字"
           name="leaderName"
           name="leaderName"
           :rules="[{ required: true, message: '请输入昵称' }]"
           :rules="[{ required: true, message: '请输入昵称' }]"
         >
         >
@@ -72,7 +79,14 @@
             show-count
             show-count
           />
           />
         </a-form-item>
         </a-form-item>
-        <h4>选择场景</h4>
+        <h4>场景库</h4>
+        <a-form-item
+          required
+          label="选择场景"
+          name="desc"
+          style="margin-bottom: 2px"
+        >
+        </a-form-item>
         <EditScenes
         <EditScenes
           :scenes="current.scenes"
           :scenes="current.scenes"
           @delete="deleteScene"
           @delete="deleteScene"

+ 3 - 0
src/views/room/edit-room/scene-list.vue

@@ -121,6 +121,9 @@ const selectScenes = () => {
     font-size: 12px;
     font-size: 12px;
     color: #fff;
     color: #fff;
     margin: 0;
     margin: 0;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
   }
   }
 
 
   .delete-scene {
   .delete-scene {

+ 5 - 0
src/views/room/list.vue

@@ -12,6 +12,7 @@
   </div>
   </div>
 
 
   <DataList
   <DataList
+    un-search-desc=" "
     :data-source="roomList.filter(room => room !== addMarked)"
     :data-source="roomList.filter(room => room !== addMarked)"
     :keyword="keyword"
     :keyword="keyword"
     name="作品"
     name="作品"
@@ -115,16 +116,20 @@ const shareRoom = async (room: Room) => {
 const miniSyncRoom = async (room: Room, key?: 'leader') => {
 const miniSyncRoom = async (room: Room, key?: 'leader') => {
   let miniCode: string
   let miniCode: string
   let descs: string[]
   let descs: string[]
+  let title: string
   if (key === 'leader') {
   if (key === 'leader') {
     await roomStore.setLeaderRoomMiniCode(room)
     await roomStore.setLeaderRoomMiniCode(room)
     miniCode = room.leaderMiniCode!
     miniCode = room.leaderMiniCode!
     descs = ['打开微信“扫一扫”', '进入微信小程序开始带看']
     descs = ['打开微信“扫一扫”', '进入微信小程序开始带看']
+    title = '小程序带看'
   } else {
   } else {
     await roomStore.setRoomMiniCode(room)
     await roomStore.setRoomMiniCode(room)
     miniCode = room.miniCode!
     miniCode = room.miniCode!
     descs = ['分享给好友', '微信”扫一扫“参与带看']
     descs = ['分享给好友', '微信”扫一扫“参与带看']
+    title = '分享'
   }
   }
   renderModal(MiniSync, {
   renderModal(MiniSync, {
+    title,
     miniCode,
     miniCode,
     descs
     descs
   })
   })

+ 2 - 1
src/views/room/modal/mini-sync.vue

@@ -1,7 +1,7 @@
 <template>
 <template>
   <a-modal
   <a-modal
     :visible="visible"
     :visible="visible"
-    title="小程序带看"
+    :title="title"
     :footer="null"
     :footer="null"
     :after-close="onCancel"
     :after-close="onCancel"
     width="500px"
     width="500px"
@@ -19,6 +19,7 @@ import { ref } from 'vue'
 
 
 defineOptions<{ name: 'MiniSync' }>()
 defineOptions<{ name: 'MiniSync' }>()
 defineProps<{
 defineProps<{
+  title: string
   miniCode: string
   miniCode: string
   descs: string[]
   descs: string[]
   onCancel: () => void
   onCancel: () => void