Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
web-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
web-ci-test
Commits
901caea0
提交
901caea0
authored
5月 19, 2023
作者:
翁进城
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
论坛首页接口对接
上级
cade5f35
显示空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
107 行增加
和
10 行删除
+107
-10
index.tsx
pages/forum/api/index.tsx
+43
-0
index.module.scss
pages/forum/index.module.scss
+1
-0
index.page.tsx
pages/forum/index.page.tsx
+63
-10
没有找到文件。
pages/forum/api/index.tsx
0 → 100644
浏览文件 @
901caea0
import
request
,
{
Response
}
from
"~/api/request"
;
export
interface
DynamicListParams
{
pageNo
:
number
,
pageSize
:
number
,
userId
:
number
}
export
interface
Dynamic
{
userId
:
number
;
id
:
number
;
title
:
string
;
description
:
string
;
location
:
string
;
lat
:
number
;
lon
:
number
;
mediaVO
:
{
picture
:
string
[];
videoUrl
:
string
;
};
likesCount
:
number
;
commentCount
:
number
;
likes
:
boolean
;
}
export
interface
DynamicListResp
{
pageNo
:
1
;
pageSize
:
10
;
list
:
Array
<
Dynamic
>
;
totalCount
:
0
;
totalPage
:
0
;
}
export
default
{
/**
* 论坛动态列表
* @param params
* @returns
*/
dynamicList
(
params
:
DynamicListParams
):
Promise
<
Response
<
DynamicListResp
>>
{
return
request
(
"/release/dynamic/dynamicList"
,
"get"
,
params
);
},
};
pages/forum/index.module.scss
浏览文件 @
901caea0
...
...
@@ -30,6 +30,7 @@
.item
{
padding
:
18px
0
0
;
background
:
#ffffff
;
width
:
100%
;
.headImg
{
margin-left
:
16px
;
...
...
pages/forum/index.page.tsx
浏览文件 @
901caea0
...
...
@@ -3,18 +3,57 @@ import Layout from "~/components/layout";
import
styles
from
"./index.module.scss"
;
import
errImg
from
"~/assets/errImg"
;
import
{
RightOutlined
}
from
"@ant-design/icons"
;
import
{
useState
}
from
"react"
;
import
PublishMessage
from
'./components/publishMessage'
import
{
useEffect
,
useState
}
from
"react"
;
import
PublishMessage
from
"./components/publishMessage"
;
import
api
,
{
Dynamic
}
from
"./api"
;
interface
Item
extends
Dynamic
{
openComment
?:
boolean
;
//是否开启评论
showCommentAll
?:
boolean
;
//是否展示全部评论
}
export
default
function
Forum
()
{
const
[
isModalOpen
,
setIsModalOpen
]
=
useState
(
false
);
const
[
list
,
setList
]
=
useState
<
Array
<
Item
>>
([]);
const
[
pageParams
,
setPageParams
]
=
useState
({
pageNo
:
1
,
pageSize
:
16
,
});
useEffect
(()
=>
{
api
.
dynamicList
({
userId
:
1
,
...
pageParams
,
})
.
then
((
res
)
=>
{
setList
(
res
.
result
?.
list
||
[]);
});
},
[]);
/**
* 展示发布模态框
*/
const
showModal
=
()
=>
{
setIsModalOpen
(
true
);
};
/**
* 取消发布
*/
const
onPublishCancel
=
()
=>
{
setIsModalOpen
(
false
);
};
/**
* 打开评论
* @param item 当前点击项
*/
const
openComment
=
(
item
:
Item
)
=>
{
item
.
openComment
=
true
;
const
temp
=
[...
list
];
setList
(
temp
);
};
return
(
<
Layout
>
<
div
className=
{
styles
.
forum
}
>
...
...
@@ -25,14 +64,14 @@ export default function Forum() {
</
Button
>
</
div
>
<
Space
direction=
"vertical"
size=
{
8
}
>
<
div
className=
{
styles
.
item
}
>
{
list
.
map
((
item
)
=>
{
return
(
<
div
key=
{
item
.
id
}
className=
{
styles
.
item
}
>
<
Space
size=
{
10
}
align=
"start"
>
<
Image
alt=
""
className=
{
styles
.
headImg
}
></
Image
>
<
div
className=
{
styles
.
info
}
>
<
div
className=
{
styles
.
name
}
>
给**的
</
div
>
<
div
className=
{
styles
.
desc
}
>
今天飞的航拍效果,喜欢的给我点个赞
</
div
>
<
div
className=
{
styles
.
desc
}
>
{
item
.
title
}
</
div
>
<
div
className=
{
styles
.
imgs
}
>
<
Image
.
PreviewGroup
preview=
{
{
...
...
@@ -43,14 +82,19 @@ export default function Forum() {
}
}
>
<
Space
size=
{
6
}
wrap
>
{
item
?.
mediaVO
?.
picture
.
map
((
img
)
=>
{
return
(
<
Image
key=
{
img
}
alt=
""
className=
"img"
width=
{
132
}
height=
{
132
}
src=
"error"
src=
{
img
}
fallback=
{
errImg
}
/>
);
})
}
</
Space
>
</
Image
.
PreviewGroup
>
</
div
>
...
...
@@ -58,18 +102,22 @@ export default function Forum() {
<
div
className=
{
styles
.
ctrlsItem
}
>
<
div
className=
{
`${styles.ctrlsItemIcon} ${styles.iconComment}`
}
onClick=
{
()
=>
openComment
(
item
)
}
></
div
>
15
评论
{
item
.
commentCount
}
评论
</
div
>
<
div
className=
{
styles
.
ctrlsItem
}
>
<
div
className=
{
`${styles.ctrlsItemIcon} ${styles.iconPraise} ${styles.active}`
}
className=
{
`${styles.ctrlsItemIcon} ${
styles.iconPraise
} ${item.likes && styles.active}`
}
></
div
>
11
赞
{
item
.
likesCount
}
赞
</
div
>
</
div
>
</
div
>
</
Space
>
{
item
.
openComment
&&
(
<
div
className=
{
styles
.
commentWrap
}
>
<
div
className=
{
styles
.
draftWrap
}
>
<
div
className=
{
styles
.
commentHeadImg
}
>
自已
</
div
>
...
...
@@ -113,12 +161,17 @@ export default function Forum() {
</
div
>
</
div
>
</
div
>
{
!
item
.
showCommentAll
&&
(
<
div
className=
{
styles
.
showAll
}
>
查看全部15条评论
<
RightOutlined
size=
{
14
}
/>
</
div
>
)
}
</
div
>
)
}
</
div
>
);
})
}
</
Space
>
</
div
>
<
PublishMessage
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论