bding пре 8 месеци
родитељ
комит
f594f6c016

+ 7 - 0
src/Column/Column.service.ts

@@ -122,6 +122,7 @@ export interface IColumnDetail {
 }
 
 export interface IMessageDetail {
+  IsLikeCount: boolean
   LikeCount: number
   CreateTime: string
   RealName: string //用户实际名称
@@ -382,5 +383,11 @@ export const ColumnService = {
       url: `/yanxuan_special/message/like`,
       method: 'post',
       data: { MessageId, DoType }
+    }),
+  postColumnLike: (YanxuanSpecialId: number, DoType: number): INewResponse =>
+    NewAxiosInstanceFunc({
+      url: `/yanxuan_special/like`,
+      method: 'post',
+      data: { YanxuanSpecialId, DoType }
     })
 }

+ 6 - 1
src/Column/ColumnDetail.tsx

@@ -72,7 +72,12 @@ const ColumnDetail: React.FC<IColumnDetailProps> = props => {
     if (login2p.userInfo?.UserId === data.UserId || data.IsApprovalAdmin || data.Status === 3) {
       return (
         <div className={`${styles['columndetail-page']}`}>
-          <ColumnContent detail={data as IColumnDetail} onCollect={handleToRefresh} handleToRefresh={handleToRefresh} />
+          <ColumnContent
+            detail={data as IColumnDetail}
+            onCollect={handleToRefresh}
+            onLike={handleToRefresh}
+            handleToRefresh={handleToRefresh}
+          />
         </div>
       )
     }

+ 2 - 2
src/Column/components/ColumnContent.tsx

@@ -58,7 +58,7 @@ const ColumnContent: React.FC<IColumnContentProps> = props => {
     }
   })
   // 点赞/取消点赞(研选专栏)
-  const { run: postMessageLike } = useRequest(ColumnService.postMessageLike, {
+  const { run: postColumnLike } = useRequest(ColumnService.postColumnLike, {
     manual: true,
     onSuccess: res => {
       message.info(res.data.Msg || res.data.ErrMsg)
@@ -127,7 +127,7 @@ const ColumnContent: React.FC<IColumnContentProps> = props => {
       message.error('请先登录')
       return
     }
-    postMessageLike(detail.Id, !!like ? 0 : 1)
+    postColumnLike(detail.Id, !!like ? 0 : 1)
   }
   // 查看全文
   const handleToDetail = () => {

+ 29 - 5
src/Column/components/ColumnContentMessage.tsx

@@ -3,7 +3,7 @@ import useRequest from '@ahooksjs/use-request/es'
 import { Input, message, Modal } from 'antd'
 import { ColumnService, IMessageDetail } from 'Column/Column.service'
 
-import { LikeOutlined, DeleteOutlined } from '@ant-design/icons'
+import { LikeOutlined, DeleteOutlined, LikeFilled } from '@ant-design/icons'
 import styles from '../css/ColumnMessage.module.scss'
 interface IColumnCenterProps {
   detailId: number
@@ -30,6 +30,8 @@ const ColumnContentMessage: React.FC<IColumnCenterProps> = props => {
     onSuccess: res => {
       res.data.Success ? message.success(res.data.Msg) : message.error(res.data.Msg || res.data.ErrMsg)
       setInputShow(false)
+      setMessageContent('')
+      getColumnSpecialList(pageSize, currentIndex, detailId)
     }
   })
 
@@ -41,7 +43,7 @@ const ColumnContentMessage: React.FC<IColumnCenterProps> = props => {
       setMassageList(res.List)
     }
   })
-  // deleceMessageHandler
+  // 删除留言的按钮
   const deleceMessageHandler = (item: IMessageDetail) => {
     Modal.confirm({
       title: '提醒',
@@ -64,6 +66,21 @@ const ColumnContentMessage: React.FC<IColumnCenterProps> = props => {
       getColumnSpecialList(pageSize, currentIndex, detailId)
     }
   })
+
+  // 留言的点赞
+  const likeMessageHandler = (item: IMessageDetail) => {
+    postMessageLike(item.MessageId, item.Status === 0 ? 1 : 0)
+  }
+
+  //  点赞留言的接口
+  const { run: postMessageLike } = useRequest(ColumnService.postMessageLike, {
+    manual: true,
+    onSuccess: res => {
+      res.data.Success ? message.success(res.data.Msg) : message.error(res.data.Msg || res.data.ErrMsg)
+      getColumnSpecialList(pageSize, currentIndex, detailId)
+    }
+  })
+
   useEffect(() => {
     if (detailId) {
       getColumnSpecialList(pageSize, currentIndex, detailId)
@@ -111,12 +128,19 @@ const ColumnContentMessage: React.FC<IColumnCenterProps> = props => {
                 <span>{item.CreateTime}</span>
               </div>
               <div>
-                {item.Status === 0 ? (
+                {item.Status !== 0 ? (
                   <DeleteOutlined className={styles['delete-icon']} onClick={() => deleceMessageHandler(item)} />
                 ) : (
                   <>
-                    <LikeOutlined className={styles['collect-icon']} />
-                    <span>{item.LikeCount}</span>
+                    <div>
+                      {item.IsLikeCount ? (
+                        <LikeFilled className={styles['collect-icon']} onClick={() => likeMessageHandler(item)} />
+                      ) : (
+                        <LikeOutlined className={styles['collect-icon']} onClick={() => likeMessageHandler(item)} />
+                      )}
+                      {/* <LikeOutlined className={styles['collect-icon']} onClick={() => likeMessageHandler(item)} /> */}
+                      <span>{item.LikeCount}</span>
+                    </div>
                   </>
                 )}
               </div>