张延森 3 年之前
父節點
當前提交
79768848e6

+ 3
- 5
src/hotel/pages/landlord/landlord.jsx 查看文件

9
 import { getHotelManage,  getNowHotelManage } from '@/services/landlord'
9
 import { getHotelManage,  getNowHotelManage } from '@/services/landlord'
10
 import NoData from '@/components/NoData'
10
 import NoData from '@/components/NoData'
11
 import CustomNav from '@/components/CustomNav'
11
 import CustomNav from '@/components/CustomNav'
12
-import useSubscribeMessage from '@/utils/hooks/useSubscribeMessage'
12
+import { withSubscribeMessage } from '@/utils/subscribeMessage'
13
 import HouseManage from '../../components/HouseManage/houseManage'
13
 import HouseManage from '../../components/HouseManage/houseManage'
14
 import Income from '../../components/Income/income'
14
 import Income from '../../components/Income/income'
15
 import './landlord.less'
15
 import './landlord.less'
25
 
25
 
26
   const houseRef = useRef()
26
   const houseRef = useRef()
27
 
27
 
28
-  // 订阅消息
29
-  useSubscribeMessage('hotel_check_in', true)
30
-
31
-
32
   useEffect(() => {
28
   useEffect(() => {
33
     getHotelManage().then((res) => {
29
     getHotelManage().then((res) => {
34
       const { hotelList: list, account: acc, hotel: current } = res
30
       const { hotelList: list, account: acc, hotel: current } = res
51
   const handleTabChange = (e) => {
47
   const handleTabChange = (e) => {
52
     const { index } = e.detail
48
     const { index } = e.detail
53
     setCurrentTab(index)
49
     setCurrentTab(index)
50
+
51
+    withSubscribeMessage('hotel_check_in')
54
   }
52
   }
55
 
53
 
56
   useEffect(() => {
54
   useEffect(() => {

+ 19
- 20
src/pages/RoomOrder/index.jsx 查看文件

3
 import CustomNav from '@/components/CustomNav'
3
 import CustomNav from '@/components/CustomNav'
4
 import withLayout from '@/layouts'
4
 import withLayout from '@/layouts'
5
 import { getTaRoom, goToRoomForm, personSubmit } from '@/services/taRoom​'
5
 import { getTaRoom, goToRoomForm, personSubmit } from '@/services/taRoom​'
6
-import useSubscribeMessage from "@/utils/hooks/useSubscribeMessage"
6
+import { withSubscribeMessage } from "@/utils/subscribeMessage"
7
 import RoomForm from './components/RoomForm'
7
 import RoomForm from './components/RoomForm'
8
 import './style.less'
8
 import './style.less'
9
 
9
 
23
   }
23
   }
24
 
24
 
25
   const handleSubmit = (e) => {
25
   const handleSubmit = (e) => {
26
-    for (let i = 0, len = formData.length; i < len; i++) {
27
-
28
-      const item = formData[i];
29
-
30
-      if (!item.customerName || !item.customerPhone) {
31
-        Taro.showToast({
32
-          title: '手机号或姓名不能为空',
33
-          icon: 'none',
34
-        })
35
-        return;
26
+    
27
+    // 订阅消息
28
+    withSubscribeMessage('hotel_check_out', () => {
29
+      for (let i = 0, len = formData.length; i < len; i++) {
30
+        const item = formData[i];
31
+        if (!item.customerName || !item.customerPhone) {
32
+          Taro.showToast({
33
+            title: '手机号或姓名不能为空',
34
+            icon: 'none',
35
+          })
36
+          return;
37
+        }
36
       }
38
       }
37
-    }
38
-    personSubmit(roomOrderId, formData).then(a => {
39
-      Taro.navigateBack({
40
-        delta: 1
41
-      })
39
+  
40
+      personSubmit(roomOrderId, formData).then(a => {
41
+        Taro.navigateBack({
42
+          delta: 1
43
+        })
44
+      })      
42
     })
45
     })
43
 
46
 
44
   }
47
   }
45
 
48
 
46
-  // 订阅消息
47
-  useSubscribeMessage('hotel_check_out', true)
48
-
49
-
50
   useEffect(() => {
49
   useEffect(() => {
51
     getTaRoom(roomId).then((res) => {
50
     getTaRoom(roomId).then((res) => {
52
       setTaRoomContent(res)
51
       setTaRoomContent(res)

+ 8
- 5
src/pages/index/index.jsx 查看文件

1
 
1
 
2
 
2
 
3
 import React, { useState, useEffect } from 'react'
3
 import React, { useState, useEffect } from 'react'
4
+import { useDidShow } from '@tarojs/taro'
4
 import CustomNav from '@/components/CustomNav'
5
 import CustomNav from '@/components/CustomNav'
5
 import logo from '@/assets/icons/comm/logo_small.png'
6
 import logo from '@/assets/icons/comm/logo_small.png'
6
-import { getNowHotelManage, getHotelDetail } from '@/services/landlord'
7
-import { getTaRoom, goToRoomForm, getWorkerDetail } from '@/services/taRoom​'
8
-
7
+import { getHotelDetail } from '@/services/landlord'
8
+import { getTaRoom } from '@/services/taRoom​'
9
 import withLayout from '@/layouts'
9
 import withLayout from '@/layouts'
10
 import tabList from './tabbar'
10
 import tabList from './tabbar'
11
 import Guide from './tabs/Guide'
11
 import Guide from './tabs/Guide'
12
 import Mine from './tabs/Mine'
12
 import Mine from './tabs/Mine'
13
 import Recommend from './tabs/Recommend'
13
 import Recommend from './tabs/Recommend'
14
-
14
+import { withSubscribeMessage } from '@/utils/subscribeMessage'
15
 import './index.less'
15
 import './index.less'
16
-import { useDidShow } from '@tarojs/taro'
17
 
16
 
18
 
17
 
19
 
18
 
39
   const handleTabChange = (e) => {
38
   const handleTabChange = (e) => {
40
     const { index } = e.detail
39
     const { index } = e.detail
41
     setCurrentTab(index)
40
     setCurrentTab(index)
41
+
42
+    if (index === 1) {
43
+      withSubscribeMessage('hotel_check_out')
44
+    }
42
   }
45
   }
43
   useEffect(() => {
46
   useEffect(() => {
44
     if (tab) {
47
     if (tab) {

+ 0
- 4
src/pages/index/tabs/Guide.jsx 查看文件

12
 import { getTaRoom, goToRoomForm } from '@/services/taRoom​'
12
 import { getTaRoom, goToRoomForm } from '@/services/taRoom​'
13
 import useTrackClick from '@/utils/hooks/useTrackClick'
13
 import useTrackClick from '@/utils/hooks/useTrackClick'
14
 import showMore from '@/assets/icons/housemantj/查看更多.png'
14
 import showMore from '@/assets/icons/housemantj/查看更多.png'
15
-import useSubscribeMessage from "@/utils/hooks/useSubscribeMessage";
16
 import './GuideCss/style.less'
15
 import './GuideCss/style.less'
17
 
16
 
18
 
17
 
53
     })
52
     })
54
   }
53
   }
55
 
54
 
56
-  // 订阅消息
57
-  useSubscribeMessage('hotel_check_out', !roomOrderId)
58
-
59
   useEffect(() => {
55
   useEffect(() => {
60
     if (roomOrderId) {
56
     if (roomOrderId) {
61
       goToRoomForm(roomOrderId).then((res) => {
57
       goToRoomForm(roomOrderId).then((res) => {

+ 0
- 21
src/utils/hooks/useSubscribeMessage.js 查看文件

1
-import { useEffect } from "react";
2
-import Taro from '@tarojs/taro';
3
-import { useModel } from "@/store";
4
-
5
-export default function(messageType, dep) {
6
-  const { messageTpls } = useModel('system')
7
-
8
-  useEffect(() => {
9
-    if (!messageTpls || !messageTpls.length) return;
10
-
11
-    if (dep && messageType) {
12
-      const tpl = messageTpls.filter(x => x.messageType === messageType)[0] || {}
13
-
14
-      if (tpl.templateId) {
15
-        Taro.requestSubscribeMessage({
16
-          tmplIds: [tpl.templateId]
17
-        })
18
-      }
19
-    }
20
-  }, [messageTpls, messageType, dep])
21
-}

+ 30
- 0
src/utils/subscribeMessage.js 查看文件

1
+import Taro from "@tarojs/taro";
2
+import store from "@/store"
3
+
4
+export function subscribeMessage(messageType) {
5
+  if (!messageType) return Promise.resolve();
6
+  
7
+  const { messageTpls } = store.getModel('system').getState()
8
+  if (!messageTpls || !messageTpls.length) return Promise.resolve();
9
+
10
+  return new Promise((resolve, reject) => {
11
+    const tpl = messageTpls.filter(x => x.messageType === messageType)[0] || {}
12
+
13
+    if (tpl.templateId) {
14
+      Taro.requestSubscribeMessage({
15
+        tmplIds: [tpl.templateId],
16
+        complete: () => resolve(),
17
+      })
18
+    } else {
19
+      resolve()
20
+    }
21
+  })
22
+}
23
+
24
+export function withSubscribeMessage(type, callback) {
25
+  subscribeMessage(type).then(() => {
26
+    if (callback) {
27
+      callback()
28
+    }
29
+  })
30
+}