浏览代码

静态页面

1002884655 3 年前
父节点
当前提交
3c00f36e6c

+ 33
- 30
src/pages/index/newsDetail/index.jsx 查看文件

@@ -1,25 +1,28 @@
1
-import React, { useState, useEffect } from "react";
1
+import { useState, useEffect } from "react";
2 2
 import Taro from "@tarojs/taro";
3 3
 import withLayout from "@/layout";
4
-import "./index.scss";
5
-import { ScrollView, Image, RichText,WebView } from "@tarojs/components";
6
-import "@/assets/css/iconfont.css";
7
-import {
8
-  addNewsUv,
9
-  favorNews,
10
-  // addNewsShareNum,
11
-  queryNewsDetail,
12
-  cancelFavorNews,
13
-} from "@/services/news";
4
+import { ScrollView, Image, RichText, WebView } from "@tarojs/components";
5
+import useFavor from "@/utils/hooks/useFavor";
6
+import { queryNewsDetail } from "@/services/news";
14 7
 import { formatDate } from "@/utils/chatDate";
8
+import "@/assets/css/iconfont.css";
9
+import "./index.scss";
15 10
 
16 11
 export default withLayout((props) => {
12
+  const { trackData } = props
17 13
   const { id } = props.router.params;
18 14
 
19 15
   const [data, setData] = useState(null);
20 16
   const [IsPull, setPull] = useState(false);
21 17
   const [PullTimer, setPullTimer] = useState(null);
22 18
 
19
+
20
+  const [isSave, handleFavor] = useFavor(data?.isSave, {
21
+    id,
22
+    buildingId: data?.buildingId,
23
+    ...trackData,
24
+  });
25
+
23 26
   const PageRefresh = () => {
24 27
     // 页面下拉刷新回调
25 28
     setPull(true);
@@ -40,7 +43,7 @@ export default withLayout((props) => {
40 43
   const getData = (params) => {
41 44
     Taro.showLoading();
42 45
     queryNewsDetail(params).then((res) => {
43
-  
46
+
44 47
       setData(res);
45 48
       Taro.hideLoading();
46 49
     });
@@ -53,51 +56,51 @@ export default withLayout((props) => {
53 56
   }, [id]);
54 57
 
55 58
   return (
56
-    <view className="Page newsDetail flex-v">
57
-      {data&& (data.newsDetailType === '0' ? <WebView src={data.newsDetail} /> :<>
58
-        <view className="flex-item">
59
+    <view className='Page newsDetail flex-v'>
60
+      {data && (data.newsDetailType === '0' ? <WebView src={data.newsDetail} /> : <>
61
+        <view className='flex-item'>
59 62
           <view>
60 63
             <ScrollView
61
-              scroll-y={true}
62
-              refresher-enabled={true}
64
+              scroll-y
65
+              refresher-enabled
63 66
               refresher-triggered={IsPull}
64 67
               onrefresherrefresh={PageRefresh}
65
-              refresher-background="#fff"
68
+              refresher-background='#fff'
66 69
             >
67
-              <view className="PageContent">
68
-                <view className="Info">
70
+              <view className='PageContent'>
71
+                <view className='Info'>
69 72
                   <view>
70
-                    <text className="Title">{data.newsName}</text>
73
+                    <text className='Title'>{data.newsName}</text>
71 74
                     <view>
72 75
                       <text>阅读:{data.pvNum || 0}</text>
73 76
                       <text>点赞{data.favorNum || 0}</text>
74 77
                       <text>收藏{data.saveNum || 0}</text>
75 78
                     </view>
76
-                    <text className="Time">
77
-                      {`时间:${formatDate(data.createDate, "yyyy-M-d")} `}
79
+                    <text className='Time'>
80
+                      {`时间:${formatDate(data.createDate, 'yyyy-M-d')} `}
78 81
                     </text>
79
-                    <text className="Share">分享好友</text>
82
+                    <text className='Share'>分享好友</text>
80 83
                   </view>
81 84
                 </view>
82 85
 
83
-                <view className="Content">
86
+                <view className='Content'>
84 87
                   <RichText nodes={data.newsDetail}></RichText>
85 88
                 </view>
86 89
               </view>
87 90
             </ScrollView>
88 91
           </view>
89 92
         </view>
90
-        <view className="Bottom">
93
+        <view className='Bottom'>
91 94
           <view>
92 95
             <Image
93
-              mode="heightFix"
94
-              src={require("@/assets/buildingDetail-icon3.png")}
96
+              mode='heightFix'
97
+              src={require('@/assets/buildingDetail-icon3.png')}
95 98
             ></Image>
96 99
             <text>生成海报</text>
97 100
           </view>
98 101
           <view>
99
-            <text className="iconfont icon-shoucang"></text>
100
-            <text>收藏</text>
102
+            <text className='iconfont icon-shoucang' style={isSave ? { color: 'red' } : undefined} onClick={handleFavor}></text>
103
+            <text onClick={handleFavor}>{isSave ? '已收藏' : '收藏'}</text>
101 104
           </view>
102 105
         </view>
103 106
       </>)}

+ 1
- 1
src/pages/mine/components/MyCollectForActivity/index.jsx 查看文件

@@ -63,7 +63,7 @@ export default function MyCollectForActivity () {
63 63
           <view className='List'>
64 64
             {
65 65
               PageList.map((item, index) => (
66
-                <ActivityListItem Data={item} key={`ActivityListItem-${index}`}></ActivityListItem>
66
+                <ActivityListItem data={item} key={`ActivityListItem-${index}`}></ActivityListItem>
67 67
               ))
68 68
             }
69 69
           </view>

+ 2
- 2
src/pages/mine/components/MyCollectForBuilding/index.jsx 查看文件

@@ -3,8 +3,8 @@ import { ScrollView } from '@tarojs/components'
3 3
 import { useSelector } from 'react-redux'
4 4
 import { fetch } from '@/utils/request'
5 5
 import { API_ITEMS_LIST } from '@/constants/api'
6
+import ProjectListItem from '@/components/ProjectListItem/index'
6 7
 import './index.scss'
7
-import MyShareListItem from '../MyShareListItem/index'
8 8
 
9 9
 export default function MyCollectForBuilding () {
10 10
   
@@ -63,7 +63,7 @@ export default function MyCollectForBuilding () {
63 63
           <view className='List'>
64 64
             {
65 65
               PageList.map((item, index) => (
66
-                <MyShareListItem Data={item} key={`MyShareListItem-${index}`}></MyShareListItem>
66
+                <ProjectListItem Data={item} key={`ProjectListItem-${index}`}></ProjectListItem>
67 67
               ))
68 68
             }
69 69
           </view>

+ 1
- 1
src/pages/mine/components/MyCollectForNews/index.jsx 查看文件

@@ -63,7 +63,7 @@ export default function MyCollectForNews () {
63 63
           <view className='List'>
64 64
             {
65 65
               PageList.map((item, index) => (
66
-                <NewsListItem Data={item} key={`NewsListItem-${index}`}></NewsListItem>
66
+                <NewsListItem data={item} key={`NewsListItem-${index}`}></NewsListItem>
67 67
               ))
68 68
             }
69 69
           </view>