issue 修复
Context testing / dump_contexts_to_log (push) Successful in 47s
Details
Context testing / run-01 (push) Successful in 2m13s
Details
Context testing / run-02 (push) Successful in 2m35s
Details
Context testing / run-04 (push) Successful in 3m35s
Details
Context testing / run-03 (push) Successful in 3m36s
Details
Context testing / dump_contexts_to_log (push) Successful in 47s
Details
Context testing / run-01 (push) Successful in 2m13s
Details
Context testing / run-02 (push) Successful in 2m35s
Details
Context testing / run-04 (push) Successful in 3m35s
Details
Context testing / run-03 (push) Successful in 3m36s
Details
This commit is contained in:
parent
b214747433
commit
09b2de5f28
|
|
@ -107,8 +107,8 @@ function Feature(props) {
|
|||
<div className='df-item' key={index}>
|
||||
<img src={logolist[index]} alt={item.title} />
|
||||
<div>
|
||||
<h4>{item.name}</h4>
|
||||
<p>{item.summary}</p>
|
||||
<h4 title={item.name}>{item.name}</h4>
|
||||
<p title={item.summary}>{item.summary}</p>
|
||||
<button onClick={() => {
|
||||
if (item.fileIds) {
|
||||
downloadFunc(`${httpUrl}/file/open/download/${item.fileIds}`)
|
||||
|
|
|
|||
|
|
@ -52,6 +52,7 @@ function Index(props) {
|
|||
</Breadcrumb>
|
||||
<div className="news-detail-content-wrapper">
|
||||
<h4 className="news-detail-content-title">{detail.name}</h4>
|
||||
<p className="news-detail-content-time">更新于: {detail.publishTime}</p>
|
||||
{
|
||||
content && <RenderHtml className="informations_detail imageLayerParent" value={content} url={props.history.location} />
|
||||
}
|
||||
|
|
|
|||
|
|
@ -105,6 +105,10 @@
|
|||
color: #091221;
|
||||
font-size: 24px;
|
||||
}
|
||||
.news-detail-content-time {
|
||||
margin-top: 10px;
|
||||
color: #445a7a;
|
||||
}
|
||||
.informations_detail {
|
||||
margin-top: 23px;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -182,12 +182,12 @@ function Banner({isVisible}) {
|
|||
{/* 底部统计数据 */}
|
||||
<div className="df stats-container pt10 pb25">
|
||||
<div className="stat-item">
|
||||
<div className="stat-number">35</div>
|
||||
<div className="stat-number">50000+</div>
|
||||
<div className="stat-label">开源项目</div>
|
||||
</div>
|
||||
<Divider type="vertical" style={{ height: '60px' }} className="mt10 opacity4" />
|
||||
<div className="stat-item">
|
||||
<div className="stat-number">266</div>
|
||||
<div className="stat-number">100+</div>
|
||||
<div className="stat-label">开发工具</div>
|
||||
</div>
|
||||
<Divider type="vertical" style={{ height: '60px' }} className="mt10 opacity4" />
|
||||
|
|
@ -202,8 +202,8 @@ function Banner({isVisible}) {
|
|||
</div>
|
||||
<Divider type="vertical" style={{ height: '60px' }} className="mt10 opacity4" />
|
||||
<div className="stat-item">
|
||||
<div className="stat-number">4</div>
|
||||
<div className="stat-label">论坛交流</div>
|
||||
<div className="stat-number">100+</div>
|
||||
<div className="stat-label">论坛帖子</div>
|
||||
</div>
|
||||
<Divider type="vertical" style={{ height: '60px' }} className="mt10 opacity4" />
|
||||
<div className="stat-item">
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ import { Divider, Icon } from 'antd';
|
|||
import React, { Fragment } from 'react';
|
||||
import { slidingArrowButton } from '../../../../../components/button';
|
||||
import icon_arrow1 from '../../../../../images/icon_arrow_white.png';
|
||||
import { Link } from "react-router-dom";
|
||||
|
||||
const ForumExchange = () => {
|
||||
const forums = [
|
||||
|
|
@ -62,7 +63,9 @@ const ForumExchange = () => {
|
|||
<Fragment key={forum.id}>
|
||||
<div>
|
||||
<img src={forum.icon} alt={forum.title} width={30} className='mb7 mr10'/>
|
||||
<span className="font-18 font-bd">{forum.title}</span>
|
||||
<Link className="color-white" to={{ pathname: `forums`, state: { name: forum.title } }}>
|
||||
<span className="font-18 font-bd">{forum.title}</span>
|
||||
</Link>
|
||||
<div style={{whiteSpace: 'pre-line'}} className='mt7'>{forum.description}</div>
|
||||
</div>
|
||||
{index !== forums.length - 1 && <Divider type="vertical" dashed className="forums_divider mt8" />}
|
||||
|
|
|
|||
|
|
@ -32,6 +32,15 @@ export function formatNumberWithCommas(num) {
|
|||
* @param msg 成功消息
|
||||
*/
|
||||
export const downloadFunc = (url, name) => {
|
||||
// 检查用户是否登录
|
||||
const token = localStorage.getItem('token')
|
||||
const userInfo = localStorage.getItem('userInfo')
|
||||
|
||||
if (!token && !userInfo) {
|
||||
message.info('请先登录后再下载')
|
||||
return
|
||||
}
|
||||
|
||||
const link = document.createElement('a')
|
||||
link.href = url
|
||||
link.download = name || 'download'
|
||||
|
|
|
|||
|
|
@ -26,6 +26,10 @@ function detail(props) {
|
|||
id && getForumMemoById(id).then(res => {
|
||||
setDetail(res);
|
||||
document.title = `${res && res.memo && res.memo.subject}-论坛交流`;
|
||||
window.scrollTo({
|
||||
top: 0,
|
||||
behavior: 'smooth'
|
||||
})
|
||||
})
|
||||
}, [id, reload])
|
||||
|
||||
|
|
@ -177,8 +181,8 @@ function detail(props) {
|
|||
<img src={author_info.image_url} alt="" className="user-img" />
|
||||
{author_info.username}
|
||||
<span className="ml10">{memo.published_time}</span>
|
||||
<img src={icon12} width={14} className="mb3 mr5 ml15" />
|
||||
{memo.viewed_count}
|
||||
{/* <img src={icon12} width={14} className="mb3 mr5 ml15" />
|
||||
{memo.viewed_count} */}
|
||||
<img src={icon6} width={14} className="mb3 mr5 ml10" />
|
||||
{memo.replies_count}
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -232,10 +232,10 @@ function List(props) {
|
|||
<img src={icon6} width={14} className="mb3 mr5 ml10" />
|
||||
{item.replies_count}
|
||||
</div>
|
||||
<span className="viewed_count">
|
||||
{/* <span className="viewed_count">
|
||||
<img src={icon10} width={11} className="mb3 mr5 viewed_count-icon" />
|
||||
{item.viewed_count}
|
||||
</span>
|
||||
</span> */}
|
||||
</div>
|
||||
})}
|
||||
{forumListByTag.length === 0 && (
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ function List() {
|
|||
const [current, setCurrent] = useState(0);
|
||||
const list1ByShowAll = isShowAll ? list1.slice(4) : list1.slice(4, 10)
|
||||
const list3_img =[icon16, icon17, icon18, icon19, icon20];
|
||||
const page_max = Math.floor(list3.length/5)
|
||||
const page_max = Math.floor(list3.length)
|
||||
|
||||
useEffect(() => {
|
||||
document.title = "社区动态";
|
||||
|
|
@ -135,18 +135,18 @@ function List() {
|
|||
<div className="width1600 dynamics_list">
|
||||
<div className="font-28 dynamics_list_title clearfix">
|
||||
社区开发团队研发进度一览
|
||||
<a className={`go2 fr ml20 ${current >= page_max || list3.length <= 5 ? 'unclick' : ''}`} onClick={()=>current < page_max && list3.length > 5 && setCurrent(current+1)}></a>
|
||||
<a className={`go2 fr ml20 ${current > page_max - 2 ? 'unclick' : ''}`} onClick={()=>current <= page_max - 2 && setCurrent(current+1)}></a>
|
||||
<a className={`go1 fr ${!current ? 'unclick' : ''}`} onClick={()=>current>0 && setCurrent(current-1)}></a>
|
||||
</div>
|
||||
<div className="dynamics_list_box">
|
||||
{list3.slice(current*5, current*5+5).map((item, index)=>{
|
||||
return <div className="dynamics-item" key={item.id}>
|
||||
<img src={list3_img[index]} width={30} alt=""/>
|
||||
<div className="font-20 task-hide mt10">{item.name}</div>
|
||||
<div className="font-15 opacity8 task-hide mb10">{item.summary}</div>
|
||||
<span className="opacity8">{moment(item.publishTime).format('MM月DD日')}</span>
|
||||
{
|
||||
list3[current] && <div className="dynamics-item" key={list3[current].id}>
|
||||
<img src={list3_img[current % 5]} width={30} alt=""/>
|
||||
<div className="font-20 task-hide mt10">{list3[current].name}</div>
|
||||
<div className="font-15 opacity8 task-hide mb10">{list3[current].summary}</div>
|
||||
<span className="opacity8">{moment(list3[current].publishTime).format('MM月DD日')}</span>
|
||||
</div>
|
||||
})}
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -228,7 +228,6 @@
|
|||
}
|
||||
.dynamics-item{
|
||||
flex: none;
|
||||
width: calc(20% - 30px);
|
||||
}
|
||||
.go1, .go2{
|
||||
width:32px;
|
||||
|
|
|
|||
Loading…
Reference in New Issue