gemercheung 2 年 前
コミット
e6a0e9f720
5 ファイル変更44 行追加30 行削除
  1. 2 1
      .env
  2. 2 1
      .env.development
  3. 2 1
      .env.production
  4. 30 25
      src/views/room/list.vue
  5. 8 2
      src/views/room/sign.vue

+ 2 - 1
.env

@@ -1,4 +1,5 @@
 VITE_BASE_API_URL=https://test.4dkankan.com
 VITE_MAIN_URL=https://test.4dkankan.com
 VITE_LIVE_STEAM_URL=https://test4dkankan.com/livestream
-VITE_SHOW_CONSOLE=0
+VITE_SHOW_CONSOLE=0
+VITE_IS_MINIAPP=1

+ 2 - 1
.env.development

@@ -1,4 +1,5 @@
 VITE_BASE_API_URL=https://v4-test.4dkankan.com
 VITE_MAIN_URL=https://test.4dkankan.com
 VITE_LIVE_STEAM_URL=https://test.4dkankan.com/livestream
-VITE_SHOW_CONSOLE=1
+VITE_SHOW_CONSOLE=1
+VITE_IS_MINIAPP=1

+ 2 - 1
.env.production

@@ -1,4 +1,5 @@
 VITE_BASE_API_URL=https://v4-test.4dkankan.com
 VITE_MAIN_URL=https://test.4dkankan.com
 VITE_LIVE_STEAM_URL=https://test.4dkankan.com/livestream
-VITE_SHOW_CONSOLE=0
+VITE_SHOW_CONSOLE=0
+VITE_IS_MINIAPP=1

+ 30 - 25
src/views/room/list.vue

@@ -82,6 +82,7 @@ import { fetchRoomDetail } from '@/api'
 import { useLocale } from '@/locales/useLocale'
 
 defineOptions({ name: 'RoomList' })
+const isMiniApp = ref(import.meta.env.VITE_IS_MINIAPP)
 
 const addMarked = Symbol('add-room')
 const roomStore = useRoomStore()
@@ -104,31 +105,35 @@ const deleteRoom = (room: Room) => {
   })
 }
 const shareRoom = async (room: Room) => {
-  // await roomStore.setRoomMiniCode(room)
-  const scenes = await fetchRoomDetail(room.id)
-  const { app } = userApp()
-  const m = scenes.sceneData[0].num
-  Modal.confirm({
-    content: createVNode(Share, { room, num: m }),
-    title: t('base.share'),
-    icon: null,
-    width: '500px',
-    okText: t('room.copyLink'),
-    appContext: app._context,
-    cancelText: t('base.cancel'),
-    onOk: async () => {
-      const { getLocale } = useLocale()
-      const link = roomStore.getShareUrl({
-        roomId: room.id,
-        num: m,
-        role: 'customer',
-        isTour: '1',
-        lang: unref(getLocale) || 'zh'
-      })
-      await copyText(link)
-      message.success(t('room.linkCopySuccess'))
-    }
-  })
+  if (Number(unref(isMiniApp)) === 1) {
+    await roomStore.setRoomMiniCode(room)
+    miniSyncRoom(room)
+  } else {
+    const scenes = await fetchRoomDetail(room.id)
+    const { app } = userApp()
+    const m = scenes.sceneData[0].num
+    Modal.confirm({
+      content: createVNode(Share, { room, num: m }),
+      title: t('base.share'),
+      icon: null,
+      width: '500px',
+      okText: t('room.copyLink'),
+      appContext: app._context,
+      cancelText: t('base.cancel'),
+      onOk: async () => {
+        const { getLocale } = useLocale()
+        const link = roomStore.getShareUrl({
+          roomId: room.id,
+          num: m,
+          role: 'customer',
+          isTour: '1',
+          lang: unref(getLocale) || 'zh'
+        })
+        await copyText(link)
+        message.success(t('room.linkCopySuccess'))
+      }
+    })
+  }
 }
 const miniSyncRoom = async (room: Room, key?: 'leader') => {
   let miniCode: string

+ 8 - 2
src/views/room/sign.vue

@@ -4,7 +4,8 @@
       <div class="room-cover">
         <img alt="example" :src="room.cover" />
         <div class="action">
-          <!-- <a-button
+          <a-button
+            v-if="Number(isMiniApp) === 1"
             class="botton"
             shape="round"
             type="ghost"
@@ -12,8 +13,9 @@
             @click="$emit('miniSync')"
           >
             小程序带看
-          </a-button> -->
+          </a-button>
           <a-button
+            v-else
             class="botton"
             shape="round"
             type="ghost"
@@ -64,9 +66,13 @@
 </template>
 
 <script lang="ts" setup>
+import { ref } from 'vue'
 import { useI18n } from '@/hook/useI18n'
 import type { Room } from '@/store/modules/room'
 import Dayjs from 'dayjs'
+
+const isMiniApp = ref(import.meta.env.VITE_IS_MINIAPP)
+
 const { t } = useI18n()
 type RoomSignProps = { room: Room }
 type RoomSignEmit = {