|
@@ -1,4 +1,4 @@
|
1
|
|
-import { useState, useEffect } from "react";
|
|
1
|
+import { useState, useEffect, useRef } from "react";
|
2
|
2
|
import Taro, { useDidShow, useReady } from "@tarojs/taro";
|
3
|
3
|
import withLayout from "@/layout";
|
4
|
4
|
import { Image } from "@tarojs/components";
|
|
@@ -6,6 +6,7 @@ import { queryLiveDetail } from "@/services/item";
|
6
|
6
|
import useParams from "@/utils/hooks/useParams";
|
7
|
7
|
import useShare from "@/utils/hooks/useShare";
|
8
|
8
|
import { getImgURL } from "@/utils/image";
|
|
9
|
+import { getLivingCode } from '@/services/activity'
|
9
|
10
|
import "@/assets/css/iconfont.css";
|
10
|
11
|
import "./index.scss";
|
11
|
12
|
|
|
@@ -14,15 +15,17 @@ export default withLayout((props) => {
|
14
|
15
|
const { id } = router.params;
|
15
|
16
|
|
16
|
17
|
const [data,setData] = useState({})
|
|
18
|
+ // 直播间凭证
|
|
19
|
+ const livingCodeRef = useRef()
|
17
|
20
|
|
18
|
21
|
// 本页面分享或者海报参数
|
19
|
22
|
const paramsRef = useParams({
|
20
|
23
|
id,
|
21
|
|
- buildingId: data.buildingId,
|
|
24
|
+ buildingId: data?.buildingId,
|
22
|
25
|
person,
|
23
|
26
|
from: `${page.type}_share`,
|
24
|
27
|
});
|
25
|
|
- const fullTrackData = { ...trackData, buildingId: data.buildingId };
|
|
28
|
+ const fullTrackData = { ...trackData, buildingId: data?.buildingId };
|
26
|
29
|
|
27
|
30
|
useShare(
|
28
|
31
|
{
|
|
@@ -36,9 +39,31 @@ export default withLayout((props) => {
|
36
|
39
|
const getData = () => {
|
37
|
40
|
queryLiveDetail(id).then(res=>{
|
38
|
41
|
setData(res)
|
|
42
|
+ if (res?.liveRoomParam) {
|
|
43
|
+ getLivingCode(res.liveRoomParam).then((r) => {
|
|
44
|
+ livingCodeRef.current = r
|
|
45
|
+ })
|
|
46
|
+ }
|
39
|
47
|
})
|
40
|
48
|
};
|
41
|
49
|
|
|
50
|
+ const handleLive = () => {
|
|
51
|
+ if (!livingCodeRef.current) {
|
|
52
|
+ Taro.showToast({
|
|
53
|
+ title: '查询直播凭证失败, 请退出重试',
|
|
54
|
+ icon: 'none',
|
|
55
|
+ })
|
|
56
|
+ return;
|
|
57
|
+ }
|
|
58
|
+
|
|
59
|
+ // 跳转到直播
|
|
60
|
+ Taro.navigateToMiniProgram({
|
|
61
|
+ // 固定跳转到微信企业直播
|
|
62
|
+ appId: 'wx7424030d69bde86e',
|
|
63
|
+ path: `pages/watch/index?living_code=${livingCodeRef.current}`,
|
|
64
|
+ })
|
|
65
|
+ }
|
|
66
|
+
|
42
|
67
|
useEffect(() => {
|
43
|
68
|
if (id) {
|
44
|
69
|
getData(id);
|
|
@@ -49,7 +74,7 @@ export default withLayout((props) => {
|
49
|
74
|
{data.liveActivityId&&<><Image mode='aspectFill' src={getImgURL(data.detailTypeImg)} className='liveImg'></Image>
|
50
|
75
|
<view className='liveDetail-menu'>
|
51
|
76
|
<view onClick={()=>{Taro.navigateTo({ url: `/pages/index/buildingDetail/index?id=${data.buildingId}` })}}><text className="iconfont icon-fenxiang"></text><text>查看楼盘</text></view>
|
52
|
|
- <view><text className="iconfont icon-camera"></text><text>观看直播</text></view>
|
|
77
|
+ <view onClick={handleLive}><text className="iconfont icon-camera"></text><text>观看直播</text></view>
|
53
|
78
|
<button openType="share"><text className="iconfont icon-fenxiang"></text><text>分享好友</text></button>
|
54
|
79
|
</view></>}
|
55
|
80
|
</view>;
|