From 2ee91d1c9884f4b42c1de022a5a04d65e9145582 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Mon, 10 Apr 2023 14:57:09 +0800 Subject: [PATCH 01/16] =?UTF-8?q?webhook=E5=A2=9E=E5=8A=A0=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Settings/Webhooks/New.jsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/forge/Settings/Webhooks/New.jsx b/src/forge/Settings/Webhooks/New.jsx index 06d46b6db..299859ce3 100644 --- a/src/forge/Settings/Webhooks/New.jsx +++ b/src/forge/Settings/Webhooks/New.jsx @@ -289,10 +289,10 @@ function New({ form , match , showNotification , history, projectDetail }) { 合并请求分配 合并请求被分配或取消分配 - {/* + 合并请求被评论 合并请求评论被创建、编辑或删除 - */} + {/* 合并请求收入里程碑 合并请求被记录或取消记录于里程碑中 @@ -310,7 +310,7 @@ function New({ form , match , showNotification , history, projectDetail }) { 合并请求被同步 */} - {/*

疑修事件

+

疑修事件

疑修 @@ -328,7 +328,7 @@ function New({ form , match , showNotification , history, projectDetail }) { 疑修评论 疑修评论被创建、编辑或删除 -
*/} + { eventFlag && 请选择自定义事件!} From 844faf0380ddba377a2e7c7452987ee63405636a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Mon, 10 Apr 2023 16:29:11 +0800 Subject: [PATCH 02/16] =?UTF-8?q?bot=E5=88=9B=E5=BB=BA=E5=92=8C=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E5=A2=9E=E5=8A=A0webhook=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../configuration/compenent/jurisdiction.jsx | 90 ++++++++++++------ .../SecuritySetting/bot/exploit/new/index.jsx | 91 ++++++++++++------- .../bot/exploit/new/index.scss | 16 +--- 3 files changed, 124 insertions(+), 73 deletions(-) diff --git a/src/forge/SecuritySetting/bot/exploit/configuration/compenent/jurisdiction.jsx b/src/forge/SecuritySetting/bot/exploit/configuration/compenent/jurisdiction.jsx index a9a199fcd..c23c8c721 100644 --- a/src/forge/SecuritySetting/bot/exploit/configuration/compenent/jurisdiction.jsx +++ b/src/forge/SecuritySetting/bot/exploit/configuration/compenent/jurisdiction.jsx @@ -1,5 +1,5 @@ import React from "react"; -import { Button, Checkbox, Form, Input, message, Select } from "antd"; +import { Button, Checkbox, Form, Input, message, Select, Row, Col } from "antd"; import { useState } from "react"; import '../../new/index.scss'; import './index.scss'; @@ -13,12 +13,14 @@ function Jurisdiction(props){ const resource = [{value: 2, name: '无权限'}, {value: 0, name: '只读'}, {value: 1, name: '读写'}]; const [codeSelectValue , setCodeSelectValue ] = useState(undefined); const [prSelectValue , setPrSelectValue ] = useState(undefined); + const [ issueSelectValue , setIssueSelectValue ] = useState(undefined); useEffect(()=>{ if(botDetail){ - const {limit_and_events:{juris_diction_code, juris_diction_pr}} = botDetail + const {limit_and_events:{juris_diction_code, juris_diction_pr, juris_diction_issue}} = botDetail setCodeSelectValue(juris_diction_code); setPrSelectValue(juris_diction_pr); + setIssueSelectValue(juris_diction_issue); } }, [botDetail]) @@ -32,6 +34,11 @@ function Jurisdiction(props){ return e; } + function issueControl(e){ + setIssueSelectValue(e); + return e; + } + // 修改注册bot的权限 function submit(e){ e.preventDefault(); @@ -39,15 +46,17 @@ function Jurisdiction(props){ if(err){ return; } - const {juris_diction_code, juris_diction_pr, event_code, event_pr} = fieldsValue; + const {juris_diction_code, juris_diction_pr, event_code, event_pr, event_issue, juris_diction_issue} = fieldsValue; const params = { ...botDetail, bot_id: parseInt(id), limit_and_events: { - event_code: event_code ? event_code.toString() : "", - event_pr: event_pr ? event_pr.toString() : "", + event_code: event_code ? event_code.toString() : '', + event_pr: event_pr ? event_pr.toString() : '', + event_issue: event_issue ? event_issue.toString(): '', juris_diction_code, - juris_diction_pr + juris_diction_pr, + juris_diction_issue }, user_id: current_user && current_user.user_id, } @@ -64,8 +73,8 @@ function Jurisdiction(props){ // 校验仓库访问权限 function jurisDictionPrValidator(rule, value, callback){ - const {juris_diction_code} = getFieldsValue(); - if(juris_diction_code === 2 && value === 2){ + const {juris_diction_code, juris_diction_pr} = getFieldsValue(); + if(juris_diction_code === 2 && value === 2 && juris_diction_pr === 2){ callback('请至少选择一个权限'); return; } @@ -73,21 +82,13 @@ function Jurisdiction(props){ } // 校验用户必选一个订阅事件 - function eventValidator(rule, value, callback, type){ - const {event_code, event_pr} = getFieldsValue(); - const resourceValue = resource[0].value; - const boolPr = (event_code === undefined || (event_code && event_code.length === 0)) && prSelectValue === resourceValue; - const boolCode = (event_pr === undefined || (event_pr && event_pr.length === 0)) && codeSelectValue === resourceValue; - const bool = prSelectValue !== resourceValue && codeSelectValue !== resourceValue && (event_pr === undefined || (event_pr && event_pr.length === 0)) && (event_code === undefined || (event_code && event_code.length === 0)) - if(boolPr || boolCode){ - callback("请至少选择一个订阅"); - return; + function eventValidator(rule, value, callback){ + const {event_code, event_pr, event_issue} = getFieldsValue(); + if(event_code || event_pr || event_issue){ + callback(); + }else{ + callback("请至少选择一个订阅事件"); } - if(bool && type === "pr"){ - callback("请至少选择一个订阅"); - return; - } - callback(); } return
@@ -104,7 +105,16 @@ function Jurisdiction(props){
合并请求的打开、关闭、编辑、分配
- {getFieldDecorator("juris_diction_pr",{rules:[{validator: jurisDictionPrValidator}],initialValue: botDetail.limit_and_events.juris_diction_pr, getValueFromEvent: prControl})( + {getFieldDecorator("juris_diction_pr",{initialValue: botDetail.limit_and_events.juris_diction_pr, getValueFromEvent: prControl})( + + )} +
+
+ +
疑修的打开、关闭、编辑、分配、评论
+ {getFieldDecorator("juris_diction_issue",{rules:[{validator: jurisDictionPrValidator}],initialValue: resource[0].value, getValueFromEvent: issueControl})( @@ -114,12 +124,14 @@ function Jurisdiction(props){ {codeSelectValue !== resource[0].value && {getFieldDecorator("event_code", { initialValue: botDetail.limit_and_events.event_code ? botDetail.limit_and_events.event_code.split(',').map(item=>item = parseInt(item)) : [], - rules:[{validator: (rule, value, callback)=>{eventValidator(rule, value, callback, "code")}}] + rules:[{validator: (rule, value, callback)=>{eventValidator(rule, value, callback)}}] })( - 推送
git推送到存储库
- 创建
创建分支或标签
- 删除
删除分支或标签
+ + 推送
git推送到存储库
+ 创建
创建分支或标签
+ 删除
删除分支或标签
+
)}
} @@ -127,11 +139,29 @@ function Jurisdiction(props){ {prSelectValue !== resource[0].value && {getFieldDecorator("event_pr", { initialValue: botDetail.limit_and_events.event_pr ? botDetail.limit_and_events.event_pr.split(',').map(item=>item = parseInt(item)) : [], - rules:[{validator: (rule, value, callback)=>{eventValidator(rule, value, callback, "pr")}}] + rules:[{validator: (rule, value, callback)=>{eventValidator(rule, value, callback)}}] })( - 合并请求
合并请求被打开、被关闭、被重新打开或被编辑
- 合并请求分配
合并请求被分配或取消分配
+ + 合并请求
合并请求被打开、被关闭、被重新打开或被编辑
+ 合并请求分配
合并请求被分配或取消分配
+ 合并请求被评论
合并请求评论被创建、编辑或删除
+
+
+ )} +
} + {(codeSelectValue !== resource[0].value || prSelectValue !== resource[0].value) && issueSelectValue !== resource[0].value &&
} + {issueSelectValue !== resource[0].value && + {getFieldDecorator("event_issue",{ + rules:[{validator: (rule, value, callback)=>{eventValidator(rule, value, callback)}}] + })( + + + 疑修
疑修已打开、已关闭、已重新打开或编辑
+ 疑修已指派
疑修已被指派或取消指派
+ 已标记疑修
疑修标记被更新或清除
+ 疑修评论
疑修评论被创建、编辑或删除
+
)}
} diff --git a/src/forge/SecuritySetting/bot/exploit/new/index.jsx b/src/forge/SecuritySetting/bot/exploit/new/index.jsx index e18877ddd..b19da5e05 100644 --- a/src/forge/SecuritySetting/bot/exploit/new/index.jsx +++ b/src/forge/SecuritySetting/bot/exploit/new/index.jsx @@ -1,5 +1,5 @@ import React, { forwardRef, useState, useEffect } from "react"; -import { Button, Checkbox, Form, Input, message, Radio, Select } from "antd"; +import { Button, Checkbox, Col, Form, Input, message, Radio, Row, Select } from "antd"; import { Link } from "react-router-dom"; import MDEditor from '../../../../../modules/tpm/challengesnew/tpm-md-editor'; import './index.scss'; @@ -14,7 +14,8 @@ function Disposition(props){ const [ content , setContent ] = useState(undefined); const [ codeSelectValue , setCodeSelectValue ] = useState(resource[0].value); const [ prSelectValue , setPrSelectValue ] = useState(resource[0].value); - + const [ issueSelectValue , setIssueSelectValue ] = useState(resource[0].value); + useEffect(()=>{ document.title='注册新的Bot'; }, []) @@ -33,6 +34,11 @@ function Disposition(props){ return e; } + function issueControl(e){ + setIssueSelectValue(e); + return e; + } + // webhooks校验 function checkAddr(rule, value, callback) { let reg = /(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?/; @@ -47,8 +53,8 @@ function Disposition(props){ // 校验仓库访问权限 function jurisDictionPrValidator(rule, value, callback){ - const {juris_diction_code} = getFieldsValue(); - if(juris_diction_code === 2 && value === 2){ + const {juris_diction_code, juris_diction_pr} = getFieldsValue(); + if(juris_diction_code === 2 && value === 2 && juris_diction_pr === 2){ callback('请至少选择一个权限'); return; } @@ -56,21 +62,13 @@ function Disposition(props){ } // 校验用户必选一个订阅事件 - function eventValidator(rule, value, callback, type){ - const {event_code, event_pr} = getFieldsValue(); - const resourceValue = resource[0].value; - const boolPr = (event_code === undefined || (event_code && event_code.length === 0)) && prSelectValue === resourceValue; - const boolCode = (event_pr === undefined || (event_pr && event_pr.length === 0)) && codeSelectValue === resourceValue; - const bool = prSelectValue !== resourceValue && codeSelectValue !== resourceValue && (event_pr === undefined || (event_pr && event_pr.length === 0)) && (event_code === undefined || (event_code && event_code.length === 0)) - if(boolPr || boolCode){ - callback("请至少选择一个订阅"); - return; + function eventValidator(rule, value, callback){ + const {event_code, event_pr, event_issue} = getFieldsValue(); + if(event_code || event_pr || event_issue){ + callback(); + }else{ + callback("请至少选择一个订阅事件"); } - if(bool && type === "pr"){ - callback("请至少选择一个订阅"); - return; - } - callback(); } // 注册新的bot @@ -80,17 +78,19 @@ function Disposition(props){ if(err){ return; } - const {bot_name, bot_des, webhook, is_public, juris_diction_code, juris_diction_pr, event_code, event_pr, oauth_callback_url} = fieldsValue; + const {bot_name, bot_des, webhook, is_public, juris_diction_code, juris_diction_pr, event_code, event_pr, oauth_callback_url, event_issue, juris_diction_issue} = fieldsValue; const param = { bot_name, bot_des, webhook, is_public, login: current_user && current_user.login, user_id: current_user && current_user.user_id, logo: `/api/attachments/${window.location.host !== 'www.gitlink.org.cn' ? 347246 : 412603}`, limit_and_events: { - event_code: event_code ? event_code.toString() : "", - event_pr: event_pr ? event_pr.toString() : "", + event_code: event_code ? event_code.toString() : '', + event_pr: event_pr ? event_pr.toString() : '', + event_issue: event_issue ? event_issue.toString(): '', juris_diction_code, - juris_diction_pr + juris_diction_pr, + juris_diction_issue }, oauth_callback_url } @@ -157,32 +157,61 @@ function Disposition(props){
合并请求的打开、关闭、编辑、分配
- {getFieldDecorator("juris_diction_pr",{rules:[{validator: jurisDictionPrValidator}],initialValue: resource[0].value, getValueFromEvent: prControl})( + {getFieldDecorator("juris_diction_pr",{initialValue: resource[0].value, getValueFromEvent: prControl})( + + )} +
+
+ +
疑修的打开、关闭、编辑、分配、评论
+ {getFieldDecorator("juris_diction_issue",{rules:[{validator: jurisDictionPrValidator}],initialValue: resource[0].value, getValueFromEvent: issueControl})( )}
{(codeSelectValue !== resource[0].value || prSelectValue !== resource[0].value) &&
订阅事件
} - {codeSelectValue !== resource[0].value && + {codeSelectValue !== resource[0].value && {getFieldDecorator("event_code",{ - rules:[{validator: (rule, value, callback)=>{eventValidator(rule, value, callback, "code")}}] + rules:[{validator: (rule, value, callback)=>{eventValidator(rule, value, callback)}}] })( - 推送
git推送到存储库
- 创建
创建分支或标签
- 删除
删除分支或标签
+ + 推送
git推送到存储库
+ 创建
创建分支或标签
+ 删除
删除分支或标签
+
)}
} {(codeSelectValue !== resource[0].value && prSelectValue !== resource[0].value) &&
} {prSelectValue !== resource[0].value && {getFieldDecorator("event_pr",{ - rules:[{validator: (rule, value, callback)=>{eventValidator(rule, value, callback, "pr")}}] + rules:[{validator: (rule, value, callback)=>{eventValidator(rule, value, callback)}}] })( - 合并请求
合并请求被打开、被关闭、被重新打开或被编辑
- 合并请求分配
合并请求被分配或取消分配
+ + 合并请求
合并请求被打开、被关闭、被重新打开或被编辑
+ 合并请求分配
合并请求被分配或取消分配
+ 合并请求被评论
合并请求评论被创建、编辑或删除
+
+
+ )} +
} + {(codeSelectValue !== resource[0].value || prSelectValue !== resource[0].value) && issueSelectValue !== resource[0].value &&
} + {issueSelectValue !== resource[0].value && + {getFieldDecorator("event_issue",{ + rules:[{validator: (rule, value, callback)=>{eventValidator(rule, value, callback)}}] + })( + + + 疑修
疑修已打开、已关闭、已重新打开或编辑
+ 疑修已指派
疑修已被指派或取消指派
+ 已标记疑修
疑修标记被更新或清除
+ 疑修评论
疑修评论被创建、编辑或删除
+
)}
} diff --git a/src/forge/SecuritySetting/bot/exploit/new/index.scss b/src/forge/SecuritySetting/bot/exploit/new/index.scss index 010ef40f3..84921de72 100644 --- a/src/forge/SecuritySetting/bot/exploit/new/index.scss +++ b/src/forge/SecuritySetting/bot/exploit/new/index.scss @@ -24,7 +24,7 @@ .width50{ width: 60%; &.checkBox{ - width: 68%; + width: 75%; } .height36{ height: 36px; @@ -50,23 +50,15 @@ margin-bottom: 0; } &.checkBox .ant-checkbox-group{ - display: flex; - flex-wrap: wrap; - justify-content: space-between; + width: 100%; + .ant-row{width: 100%;} .color-99{padding-left: 24px;} } - &.three .ant-checkbox-wrapper{ - width: 34%; - margin-left: 0px; - padding-left: 12px; - &:first-child, &:last-child{ - padding-left: 0px; - } - } } .dashedBor{ border-bottom: 1px dashed #e0e6f5; margin-bottom: 12px; + margin-top: -20px; } .resourceBox + .dashedBor{ margin-top: -15px; From 6afb7465f2de355f0eb6a0f2e268955bb39ced56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Mon, 10 Apr 2023 17:38:15 +0800 Subject: [PATCH 03/16] =?UTF-8?q?add=20=E9=A1=B9=E7=9B=AE=E6=A0=87?= =?UTF-8?q?=E7=AD=BE=E5=88=97=E8=A1=A8=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.js | 8 ++ src/forge/Main/CoderDepot.jsx | 2 +- src/forge/Main/IndexItem.js | 2 +- src/forge/Main/projecthome/Index.jsx | 2 +- src/forge/topic/index.jsx | 126 ++++++++++++++++++ src/forge/topic/index.scss | 95 +++++++++++++ .../users/GeneralView/ConcentrateProject.jsx | 2 +- 7 files changed, 233 insertions(+), 4 deletions(-) create mode 100644 src/forge/topic/index.jsx create mode 100644 src/forge/topic/index.scss diff --git a/src/App.js b/src/App.js index f5c3fce4b..26fb64694 100644 --- a/src/App.js +++ b/src/App.js @@ -150,6 +150,11 @@ const Badge = Loadable({ // loading: Loading, // }) +const Topic = Loadable({ + loader: () => import('./forge/topic'), + loading: Loading, +}) + // 此处仅维护前端可能的一级路由,不用进行项目或者组织判断的字段。 const keyWord = ["explore", "settings", "setting", "mulan", "wiki", "issues", "setting", "trending", "code", "projects", "pulls", "mine", "login", "register", "email", "export", "nopage", "404", "403", "500", "501", "search", "organize", "login", "register", "resetPassword", "aboutus","educoder", "glcc","bindlogin", "softbot"]; @@ -390,6 +395,9 @@ class App extends Component { {/* 查询 */} + {/* 项目标签列表页 */} + + ( diff --git a/src/forge/Main/CoderDepot.jsx b/src/forge/Main/CoderDepot.jsx index b0bb7fcba..6871a5f94 100644 --- a/src/forge/Main/CoderDepot.jsx +++ b/src/forge/Main/CoderDepot.jsx @@ -592,7 +592,7 @@ function CoderDepot(props){ {desc &&

{desc}

} {/* 项目标签 */} {topics &&
- {topics.map(item=>{item.name})} + {topics.map(item=>{item.name})}
} { website && diff --git a/src/forge/Main/IndexItem.js b/src/forge/Main/IndexItem.js index efd3fc3b6..a591ed0d8 100644 --- a/src/forge/Main/IndexItem.js +++ b/src/forge/Main/IndexItem.js @@ -71,7 +71,7 @@ class IndexItem extends Component {

{item.description}

{/* 项目标签 */} {item.topics &&
- {item.topics.map(topic=>{topic.name})} + {item.topics.map(topic=>{topic.name})}
}
diff --git a/src/forge/Main/projecthome/Index.jsx b/src/forge/Main/projecthome/Index.jsx index 719e21a5c..5ea66b1e7 100644 --- a/src/forge/Main/projecthome/Index.jsx +++ b/src/forge/Main/projecthome/Index.jsx @@ -123,7 +123,7 @@ function Index() {
{/* 项目标签 */} {i.topics &&
- {i.topics.map(item=>{item.name})} + {i.topics.map(item=>{item.name})}
}
{i.category && i.category.id ? {i.category.name} :"" } diff --git a/src/forge/topic/index.jsx b/src/forge/topic/index.jsx new file mode 100644 index 000000000..792853fd8 --- /dev/null +++ b/src/forge/topic/index.jsx @@ -0,0 +1,126 @@ +import React, { useState } from 'react'; +import { withRouter } from "react-router"; +import { SnackbarHOC } from "educoder"; +import { CNotificationHOC } from "../../modules/courses/common/CNotificationHOC"; +import { TPMIndexHOC } from "../../modules/tpm/TPMIndexHOC"; +import './index.scss'; +import { useEffect } from 'react'; +import { Pagination, Select } from 'antd'; +import axios from 'axios'; +import { Link } from 'react-router-dom'; +import { getImageUrl } from 'educoder'; +import Nodata from '../Nodata'; +const Option = Select.Option; + +export default withRouter((CNotificationHOC()(SnackbarHOC()(TPMIndexHOC((props) => { + console.log('props', props); + const {match:{params:{name, id}}, current_user:{user_id}} = props; + const [languageList, setLanguageList] = useState(undefined); + const [languageId, setLanguageId] = useState(undefined); + const [sort, setSort] = useState("praises_count"); + const [page, setPage] = useState(1); + const [limit, setLimit] = useState(15); + const [projectsList, setProjectsList] = useState(undefined); + const [total, setTotal] = useState(undefined); + + useEffect(()=>{ + // 设置网页标题 + name && (document.title = `项目标签-${decodeURIComponent(name)}`); + // 获取语言列表 + axios.get(`/project_languages.json`).then(result=>{ + result && setLanguageList(result.data.project_languages) + }) + }, []) + + useEffect(()=>{ + axios.get(`/projects.json`, { + params: { + user_id: user_id, + page, + limit, + sort_by: sort, + language_id:languageId? languageId : undefined, + topic_id:id + } + }).then((result) => { + if (result) { + console.log('result', result); + setProjectsList(result.data.projects); + setTotal(result.data.total_count); + } + }).catch((error) => { + console.log('error', error); + }) + }, [sort, page, languageId]) + + return ( +
+

#{decodeURIComponent(name)}

+
+ 平台共6个项目与此标签相匹配 +
+ + +
+
+ {/* 无数据 */} + {projectsList && projectsList.length === 0 && } + {/* 项目列表 */} + {projectsList && projectsList.length>0 && projectsList.map(i=>{ + return
+ {/* 仓库拥有者头像 */} + +
+
+ {/* 仓库拥有者名称 */} + {i.author && i.author.name}/{i.name} + {/* 点赞数 */} + {i.praises_count > 0 ? {i.praises_count} :"" } + {/* fork数 */} + {i.forked_count > 0 ? {i.forked_count}:""} +
+ {/* 仓库描述 */} +
{i.description}
+ {/* 项目标签 */} + {i.topics &&
+ {i.topics.map(item=>{item.name})} +
} +
+ {/* 仓库类别 */} + {i.category && i.category.id ? {i.category.name} :"" } + {/* 仓库语言 */} + {i.language && i.language.id ? {i.language.name} :""} + {/* 更新时间 */} + 更新于{i.time_ago} +
+
+
+ })} + {/* 分页 */} + {total > limit && limit} + onChange={(page) => { setPage(page) }} + current={page} + total={total} + showTotal={total => `共 ${total} 条`} + />} +
+ )} +))))) \ No newline at end of file diff --git a/src/forge/topic/index.scss b/src/forge/topic/index.scss new file mode 100644 index 000000000..6e7977e83 --- /dev/null +++ b/src/forge/topic/index.scss @@ -0,0 +1,95 @@ +.topicRepoList{ + width: 900px; + margin: 0 auto; + .flexBoxTopic{ + display: flex; + align-items: center; + justify-content: space-between; + } + &>h2{ + font-weight: 700; + } + .topicRepoHead{ + color:#5f6872; + padding: 10px 15px; + border-bottom:1px solid rgba(153, 153, 153, 0.16); + } + .repoImg{ + width:32px; + height: 32px; + object-fit: cover; + border-radius: 50%; + } + .repoTopic{ + align-items: flex-start; + border-bottom:1px solid rgba(153, 153, 153, 0.1); + justify-content: flex-start; + padding: 20px 0 15px; + .rightInfo{ + flex: 1; + } + .repoTitle{ + flex: 1; + } + } + .descTopic{ + color:#414141; + line-height: 24px; + } + .proListTopics{ + display: flex; + flex-wrap: wrap; + .proListTopic{ + background-color:#f3f8ff; + border-radius: 4px; + max-width: 158px; + padding: 0 10px; + height: 24px; + line-height: 24px; + color: #4c5b76; + margin-bottom: 5px !important; + } + } + .info3{ + justify-content: flex-start; + color: #7D7D7D; + height: 20px; + line-height: 20px; + display: flex; + align-items: center; + .category{ + position: relative; + padding-left: 11px; + margin-right: 10px; + &::before{ + position: absolute; + content: ""; + width: 6px; + height: 6px; + border-radius: 50%; + background-color: #466AFF; + top: 7px; + left: 0px; + } + } + .language{ + position: relative; + &.hasCate{ + padding-left: 11px; + } + &.hasCate::before{ + position: absolute; + content: ""; + width: 1px; + height: 10px; + border-radius: 50%; + border-left: 1px solid #9e9e9e; + bottom: 5px; + left: 0px; + } + } + } + .pagTopic{ + text-align: center; + } +} \ No newline at end of file diff --git a/src/forge/users/GeneralView/ConcentrateProject.jsx b/src/forge/users/GeneralView/ConcentrateProject.jsx index 2dde1cca0..9fe436ead 100644 --- a/src/forge/users/GeneralView/ConcentrateProject.jsx +++ b/src/forge/users/GeneralView/ConcentrateProject.jsx @@ -72,7 +72,7 @@ function ConcentrateProject({userLogin,current,showCompeleteDialog,completeProfi

{i.description}

{/* 项目标签 */} {i.topics &&
- {i.topics.map(item=>{item.name})} + {i.topics.map(item=>{item.name})}
} { i.category && {i.category.name} } From 75723bc86d2b5ee9652004dd23a1055cfe953508 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Tue, 11 Apr 2023 13:48:56 +0800 Subject: [PATCH 04/16] =?UTF-8?q?bot=20webhook=E5=A2=9E=E5=8A=A0=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E4=BA=8B=E4=BB=B6-=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E3=80=81=E5=AE=89=E8=A3=85=E5=BC=B9=E7=AA=97?= =?UTF-8?q?=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bot/exploit/configuration/compenent/jurisdiction.jsx | 3 ++- src/softbot/softBotDetail/index.jsx | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/forge/SecuritySetting/bot/exploit/configuration/compenent/jurisdiction.jsx b/src/forge/SecuritySetting/bot/exploit/configuration/compenent/jurisdiction.jsx index c23c8c721..58d4ae689 100644 --- a/src/forge/SecuritySetting/bot/exploit/configuration/compenent/jurisdiction.jsx +++ b/src/forge/SecuritySetting/bot/exploit/configuration/compenent/jurisdiction.jsx @@ -114,7 +114,7 @@ function Jurisdiction(props){
疑修的打开、关闭、编辑、分配、评论
- {getFieldDecorator("juris_diction_issue",{rules:[{validator: jurisDictionPrValidator}],initialValue: resource[0].value, getValueFromEvent: issueControl})( + {getFieldDecorator("juris_diction_issue",{rules:[{validator: jurisDictionPrValidator}],initialValue: botDetail.limit_and_events.juris_diction_issue, getValueFromEvent: issueControl})( @@ -153,6 +153,7 @@ function Jurisdiction(props){ {(codeSelectValue !== resource[0].value || prSelectValue !== resource[0].value) && issueSelectValue !== resource[0].value &&
} {issueSelectValue !== resource[0].value && {getFieldDecorator("event_issue",{ + initialValue: botDetail.limit_and_events.event_issue ? botDetail.limit_and_events.event_issue.split(',').map(item=>item = parseInt(item)) : [], rules:[{validator: (rule, value, callback)=>{eventValidator(rule, value, callback)}}] })( diff --git a/src/softbot/softBotDetail/index.jsx b/src/softbot/softBotDetail/index.jsx index ccf383f7c..3aa711067 100644 --- a/src/softbot/softBotDetail/index.jsx +++ b/src/softbot/softBotDetail/index.jsx @@ -221,7 +221,8 @@ function SoftBotDEtail(props){
权限信息
{detail &&
代码库{detail.limit_and_events.juris_diction_code === 2 ? '无' : detail.limit_and_events.juris_diction_code === 1 ? '读写' : '只读'}权限
} - {detail &&
合并请求(PR){detail.limit_and_events.juris_diction_pr === 2 ? '无' : detail.limit_and_events.juris_diction_pr === 1 ? '读写' : '只读'}权限
} + {detail &&
合并请求(PR){detail.limit_and_events.juris_diction_pr === 2 ? '无' : detail.limit_and_events.juris_diction_pr === 1 ? '读写' : '只读'}权限
} + {detail &&
疑修(Issue){detail.limit_and_events.juris_diction_issue === 2 ? '无' : detail.limit_and_events.juris_diction_issue === 1 ? '读写' : '只读'}权限
} From 0730396cc968d293498a8c5d1e3b92d57dc3d719 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Tue, 11 Apr 2023 14:43:45 +0800 Subject: [PATCH 05/16] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=9A=82=E6=97=A0?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=9B=BE=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Head/AppPullRefresh.jsx | 2 +- src/forge/Images/nodata.png | Bin 5877 -> 117894 bytes src/forge/css/index.scss | 3 ++- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/forge/Head/AppPullRefresh.jsx b/src/forge/Head/AppPullRefresh.jsx index 2b9c76606..cfb16a24c 100644 --- a/src/forge/Head/AppPullRefresh.jsx +++ b/src/forge/Head/AppPullRefresh.jsx @@ -81,7 +81,7 @@ class PullRefresh extends Component { {children} { - count < 1 && + count < 1 && } {/* 大于分页数据才显示loading */} diff --git a/src/forge/Images/nodata.png b/src/forge/Images/nodata.png index ad4c76b97b4100d34558aa4a36838e650d1dbc36..5a1231e7ff2fe4ae2a7c7cd4fd843a600c9b3ad0 100644 GIT binary patch literal 117894 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

!S=N?!%$24roYCUYrRTM~~w%`kt(NG-=D`W?R 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 ZQGfE|6|sGN7PlCHz|+;wWt~$(69Bd2A^HFS literal 5877 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 Date: Tue, 11 Apr 2023 14:44:17 +0800 Subject: [PATCH 06/16] =?UTF-8?q?=E5=A4=84=E7=90=86issue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Main/sub/UpdateDescModal.jsx | 3 +++ src/forge/topic/index.jsx | 6 ++---- src/forge/topic/index.scss | 4 ++++ src/softbot/softBotList/index.scss | 2 +- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/forge/Main/sub/UpdateDescModal.jsx b/src/forge/Main/sub/UpdateDescModal.jsx index f0546bcee..0043b865a 100644 --- a/src/forge/Main/sub/UpdateDescModal.jsx +++ b/src/forge/Main/sub/UpdateDescModal.jsx @@ -37,10 +37,13 @@ function UpdateDescModal({form , visible , onCancel , onOk,desc,website,lesson_u // 校验项目标签 function checkTopics(rule, value, callback){ const boolLength = value.filter(item=>item.length > 20); + const bool = value.filter(item=>!/^(?![-])[a-zA-Z0-9\u4e00-\u9fa5\\-]+$/.test(item)); if(value.length > 5){ callback("最多创建5个标签"); }else if(boolLength.length){ callback("每个标签最多支持20个汉字"); + }else if(bool.length){ + callback("标签名只允许包含中文、字母、数字或者中划线(-), 不能以中划线开头"); } callback(); } diff --git a/src/forge/topic/index.jsx b/src/forge/topic/index.jsx index 792853fd8..af78de9bb 100644 --- a/src/forge/topic/index.jsx +++ b/src/forge/topic/index.jsx @@ -13,7 +13,6 @@ import Nodata from '../Nodata'; const Option = Select.Option; export default withRouter((CNotificationHOC()(SnackbarHOC()(TPMIndexHOC((props) => { - console.log('props', props); const {match:{params:{name, id}}, current_user:{user_id}} = props; const [languageList, setLanguageList] = useState(undefined); const [languageId, setLanguageId] = useState(undefined); @@ -44,7 +43,6 @@ export default withRouter((CNotificationHOC()(SnackbarHOC()(TPMIndexHOC((props) } }).then((result) => { if (result) { - console.log('result', result); setProjectsList(result.data.projects); setTotal(result.data.total_count); } @@ -57,7 +55,7 @@ export default withRouter((CNotificationHOC()(SnackbarHOC()(TPMIndexHOC((props)

#{decodeURIComponent(name)}

- 平台共6个项目与此标签相匹配 + 平台共{total}个公开项目与此标签相匹配
{setMenuName(e.target.value);setAddMenuError(undefined)}} maxLength={50}> + +
{isEditName === 2 ? '页面' : '目录'}名称:
+ {setMenuName(e.target.value);setAddMenuError(undefined)}} maxLength={50}>
{addMenuError}
From d6c543a1cd5b6da49c06a389a24cc6f3e27e128c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Wed, 12 Apr 2023 17:34:37 +0800 Subject: [PATCH 08/16] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=9B=AE=E5=BD=95/?= =?UTF-8?q?=E5=AD=90=E7=9B=AE=E5=BD=95=E8=87=AA=E5=8A=A8=E6=89=93=E5=BC=80?= =?UTF-8?q?=E5=B7=A6=E4=BE=A7sidebar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Wiki/components/sidebar/index.jsx | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/forge/Wiki/components/sidebar/index.jsx b/src/forge/Wiki/components/sidebar/index.jsx index 36fd2846e..1ec88130b 100644 --- a/src/forge/Wiki/components/sidebar/index.jsx +++ b/src/forge/Wiki/components/sidebar/index.jsx @@ -31,12 +31,12 @@ export default function Sidebar(props) { // 设置选中wiki setSelectedKey(defaultSelectedKeys); // 第一次渲染,默认打开选中的页面所处目录 - const keys = []; + const keys = expandedKeys || []; const list = defaultSelectedKeys[0].split('-'); list.map((item, index)=>{ keys.push(index > 0 ? `${keys[index-1]}-${item}` : item) }) - setExpandedKeys(keys); + setExpandedKeys(Array.from(new Set(keys))); } }, [defaultSelectedKeys]) @@ -319,15 +319,23 @@ export default function Sidebar(props) { } if(!isEditName){ // 新增目录:校验同级目录中是否有相同名称 - const {children, node, title, key} = visible; + const {children, key} = visible; const mList = children.filter(item=>!item.title.trim().startsWith('[[')).map(i=>i.title.trim()) if(mList.includes(`- ${menuName}`)){ setAddMenuError('不能与已有目录名称相同'); return; } const newList = menuList; + // 设置Tree 打开的目录 + const keys = expandedKeys || []; + const list = key.split('-'); + list.map((item, index)=>{ + keys.push(index > 0 ? `${keys[index-1]}-${item}` : item) + }) + keys.push(`${key}-${children.length}`); + setExpandedKeys(Array.from(new Set(keys))); addChildrenByKey(newList, key, menuName); - updateSidebar(treeToMd(newList), 3) + updateSidebar(treeToMd(newList), 3); }else{ // isEditName 1 编辑目录名称 2编辑页面名称 const titleToJudge = isEditName === 2 ? `[[${menuName}]]` : `- ${menuName}`; From d3c3b34efc837fa556626214a608f1d0bc6172c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Thu, 13 Apr 2023 13:58:00 +0800 Subject: [PATCH 09/16] =?UTF-8?q?webhook-=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E5=90=88=E5=B9=B6=E8=AF=B7=E6=B1=82=E4=BA=8B=E4=BB=B6=E6=96=87?= =?UTF-8?q?=E6=A1=88=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Settings/Webhooks/New.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/forge/Settings/Webhooks/New.jsx b/src/forge/Settings/Webhooks/New.jsx index 299859ce3..1e2d4caae 100644 --- a/src/forge/Settings/Webhooks/New.jsx +++ b/src/forge/Settings/Webhooks/New.jsx @@ -283,7 +283,7 @@ function New({ form , match , showNotification , history, projectDetail }) {
合并请求 - 合并请求被打开、被关闭、被重新打开或被编辑 + 合并请求被打开、被关闭或被编辑 合并请求分配 @@ -291,7 +291,7 @@ function New({ form , match , showNotification , history, projectDetail }) { 合并请求被评论 - 合并请求评论被创建、编辑或删除 + 合并请求评论被创建或删除 {/* 合并请求收入里程碑 From b166b1a51c44fbbdf59f993b8fa6fcdd58208b7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Thu, 13 Apr 2023 14:00:27 +0800 Subject: [PATCH 10/16] =?UTF-8?q?=E4=BF=AE=E6=94=B9bot=E5=AE=89=E8=A3=85?= =?UTF-8?q?=E4=BD=8D=E7=BD=AE=E7=AD=89=E4=BF=A1=E6=81=AF=EF=BC=8C=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E6=8C=89=E9=92=AE=E6=B7=BB=E5=8A=A0loading?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SecuritySetting/bot/disposition/detail.jsx | 13 +++++++++++-- .../SecuritySetting/bot/disposition/index.scss | 4 ++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/forge/SecuritySetting/bot/disposition/detail.jsx b/src/forge/SecuritySetting/bot/disposition/detail.jsx index 6a267f1a4..ebcc209f9 100644 --- a/src/forge/SecuritySetting/bot/disposition/detail.jsx +++ b/src/forge/SecuritySetting/bot/disposition/detail.jsx @@ -5,6 +5,7 @@ import { Link } from "react-router-dom"; import { getInstallBot, updateInstallBot } from "../../../../softbot/api"; import { getImageUrl } from 'educoder'; import './index.scss'; +import '../exploit/index.scss'; function DispositionDetail(props){ const {match:{params:{id}}, current_user, current_user:{login, user_id}} = props; @@ -16,6 +17,8 @@ function DispositionDetail(props){ // bot状态 const [botState, setBotState] = useState(true); const [error, setError] = useState(false); + // 保存按钮loading效果 + const [saveLoading, setSaveLoading] = useState(false); // 获取bot详情 useEffect(()=>{ @@ -122,6 +125,7 @@ function DispositionDetail(props){ repo_owner_map[item.id+""] = login; }); } + setSaveLoading(true); current_user && updateInstallBot({ bot_id: id, password: "", @@ -134,6 +138,7 @@ function DispositionDetail(props){ installed_store_list: botDetail.store_id_list }).then(res=>{ if(res && res.code === 200){ + setSaveLoading(false); setSelectValue([]); const repoIds = new Set(); options.map(item=>{ @@ -143,6 +148,7 @@ function DispositionDetail(props){ getInsBotDetail(repoIds); message.success('更改成功'); }else{ + setSaveLoading(false); message.error(res.message); } }) @@ -154,7 +160,10 @@ function DispositionDetail(props){ {botDetail &&
- +
+ {botDetail && botDetail.market_name} + {botDetail.is_public ? '公开' : '私有'} +
{botDetail && botDetail.register_name} {botDetail && botDetail.create_time}
@@ -192,7 +201,7 @@ function DispositionDetail(props){ {botState ? '开始使用该Bot,授予该Bot所需的仓库访问权限' : '暂停停止使用该bot,阻塞该bot拥有的仓库访问权限'}
- {botDetail && !botDetail.is_public && login !== botDetail.register_login ? : } + {botDetail && !botDetail.is_public && login !== botDetail.register_login ? : }
} diff --git a/src/forge/SecuritySetting/bot/disposition/index.scss b/src/forge/SecuritySetting/bot/disposition/index.scss index c2d580a31..e020c4b1e 100644 --- a/src/forge/SecuritySetting/bot/disposition/index.scss +++ b/src/forge/SecuritySetting/bot/disposition/index.scss @@ -106,6 +106,10 @@ } } .changeStatusTip{color:#99a2af;} + .myInstallBotStatus{ + position: relative; + top: -4px; + } } .nullBotsBox{ border-radius: 4px 4px 0px 0px; From 952b4c2da0f014cf96c38b62da467d5438eb3754 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Thu, 13 Apr 2023 14:06:11 +0800 Subject: [PATCH 11/16] =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=90=8D=E4=B8=8D?= =?UTF-8?q?=E8=83=BD=E5=8C=85=E5=90=AB=E7=A9=BA=E6=A0=BC=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/loginRegister/Register.jsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/modules/loginRegister/Register.jsx b/src/modules/loginRegister/Register.jsx index 6083fe6f6..b8c3ef2c2 100644 --- a/src/modules/loginRegister/Register.jsx +++ b/src/modules/loginRegister/Register.jsx @@ -71,7 +71,7 @@ function Register(props){ type: 1 }).then(response => { if (response.data.status === -1) { - callback('该名称已经被使用'); + callback(response.data.message); } else { setLoginStr(value); setUserNameGo(false); @@ -250,6 +250,10 @@ function Register(props){ pattern: /[a-zA-Z0-9]$/, message: "用户名只能使用英文字母和数字" }, + { + pattern: /^\s*$/, + message: "用户名不能包含空格" + }, { min: 4, max: 15, From e3abad3f46b6cf70b75cfe1cb11d6efa649af3d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Thu, 13 Apr 2023 14:12:26 +0800 Subject: [PATCH 12/16] =?UTF-8?q?webhook=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6-=E5=90=88=E5=B9=B6=E8=AF=B7=E6=B1=82?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E6=96=87=E6=A1=88=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bot/exploit/configuration/compenent/jurisdiction.jsx | 4 ++-- src/forge/SecuritySetting/bot/exploit/new/index.jsx | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/forge/SecuritySetting/bot/exploit/configuration/compenent/jurisdiction.jsx b/src/forge/SecuritySetting/bot/exploit/configuration/compenent/jurisdiction.jsx index 58d4ae689..bf223907e 100644 --- a/src/forge/SecuritySetting/bot/exploit/configuration/compenent/jurisdiction.jsx +++ b/src/forge/SecuritySetting/bot/exploit/configuration/compenent/jurisdiction.jsx @@ -143,9 +143,9 @@ function Jurisdiction(props){ })( - 合并请求
合并请求被打开、被关闭、被重新打开或被编辑
+ 合并请求
合并请求被打开、被关闭或被编辑
合并请求分配
合并请求被分配或取消分配
- 合并请求被评论
合并请求评论被创建、编辑或删除
+ 合并请求被评论
合并请求评论被创建或删除
)} diff --git a/src/forge/SecuritySetting/bot/exploit/new/index.jsx b/src/forge/SecuritySetting/bot/exploit/new/index.jsx index b19da5e05..bdecfa7de 100644 --- a/src/forge/SecuritySetting/bot/exploit/new/index.jsx +++ b/src/forge/SecuritySetting/bot/exploit/new/index.jsx @@ -193,9 +193,9 @@ function Disposition(props){ })( - 合并请求
合并请求被打开、被关闭、被重新打开或被编辑
+ 合并请求
合并请求被打开、被关闭或被编辑
合并请求分配
合并请求被分配或取消分配
- 合并请求被评论
合并请求评论被创建、编辑或删除
+ 合并请求被评论
合并请求评论被创建或删除
)} From 8e02184750438884147e1f9ba6ce0fb04fb637da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Thu, 13 Apr 2023 15:22:01 +0800 Subject: [PATCH 13/16] =?UTF-8?q?=E6=A0=A1=E9=AA=8C=E6=AD=A3=E5=88=99?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/loginRegister/Register.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/loginRegister/Register.jsx b/src/modules/loginRegister/Register.jsx index b8c3ef2c2..5ef66b47c 100644 --- a/src/modules/loginRegister/Register.jsx +++ b/src/modules/loginRegister/Register.jsx @@ -251,7 +251,7 @@ function Register(props){ message: "用户名只能使用英文字母和数字" }, { - pattern: /^\s*$/, + pattern: /^[^\s]*$/, message: "用户名不能包含空格" }, { From 1107981caea0696297771ac1fda1537270dcf714 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Fri, 14 Apr 2023 09:45:29 +0800 Subject: [PATCH 14/16] =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=90=8D=E5=89=8D?= =?UTF-8?q?=E5=90=8E=E7=A9=BA=E6=A0=BCtrim()=E5=8E=BB=E6=8E=89,=E4=B8=8D?= =?UTF-8?q?=E9=9C=80=E8=A6=81=E7=94=A8=E6=88=B7=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/loginRegister/Register.jsx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/modules/loginRegister/Register.jsx b/src/modules/loginRegister/Register.jsx index 5ef66b47c..970786243 100644 --- a/src/modules/loginRegister/Register.jsx +++ b/src/modules/loginRegister/Register.jsx @@ -41,7 +41,7 @@ function Register(props){ if (!err) { values.agreement && axios.post(`/accounts/register.json`, { login: values.email, - namespace: values.register_username, + namespace: values.register_username.trim(), password: values.register_psd, password_confirmation: values.psdComfirm, code: values.captcha @@ -53,7 +53,7 @@ function Register(props){ setEmailStr(values.email); }else if(response.data && response.data.status === 0){ //注册成功,页面跳转即可,注册后登录流程forge处理了 - window.location.href = "/"+values.register_username; + window.location.href = "/"+values.register_username.trim(); } else { setEmailStr(values.email); setMess(response.data.message); @@ -67,7 +67,7 @@ function Register(props){ function usernameConfirm(rule, value, callback){ setUserNameGo(true); value && (userNameGo || value !== loginStr) ? axios.post(`/accounts/check.json`, { - value: value, + value: value.trim(), type: 1 }).then(response => { if (response.data.status === -1) { @@ -238,6 +238,9 @@ function Register(props){ {getFieldDecorator('register_username',{ rules:[ + { + transform: (value)=>{return value.trim()} + }, { required:true, message:"请输入用户名" From 65e6f5aa4317369bc2b6dbd4317eb8e046d136a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Fri, 14 Apr 2023 10:51:13 +0800 Subject: [PATCH 15/16] =?UTF-8?q?=E9=87=8C=E7=A8=8B=E7=A2=91=E5=AE=8C?= =?UTF-8?q?=E6=88=90=E5=BA=A6=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Order/MilepostDetail.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/forge/Order/MilepostDetail.jsx b/src/forge/Order/MilepostDetail.jsx index 5c519106b..3db34c636 100644 --- a/src/forge/Order/MilepostDetail.jsx +++ b/src/forge/Order/MilepostDetail.jsx @@ -179,7 +179,7 @@ function MilepostDetail(props){ {milepost.effective_date || '暂无截止时间'} - {(milepost.percent || milepost.percent===0) ? {milepost.percent > 0 ? milepost.percent.toFixed(2)*100:milepost.percent}%完成 :"" } + {(milepost.percent || milepost.percent===0) ? {milepost.percent > 0 ? parseInt(milepost.percent*100):milepost.percent}%完成 :"" }

From bab9e0e4dd1223f26b2aefb725f2c5507c9a6f9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Fri, 14 Apr 2023 10:52:36 +0800 Subject: [PATCH 16/16] =?UTF-8?q?=E4=BF=AE=E6=94=B9wiki=E5=90=8D=E7=A7=B0:?= =?UTF-8?q?=20=E5=85=88=E8=8E=B7=E5=8F=96wiki=E5=86=85=E5=AE=B9=E5=86=8D?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Wiki/components/sidebar/index.jsx | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/forge/Wiki/components/sidebar/index.jsx b/src/forge/Wiki/components/sidebar/index.jsx index 1ec88130b..d8b3254a2 100644 --- a/src/forge/Wiki/components/sidebar/index.jsx +++ b/src/forge/Wiki/components/sidebar/index.jsx @@ -3,7 +3,7 @@ import { Tree, Dropdown, Menu, message, Modal, Input } from 'antd'; import DelModal from '../../components/ModalFun'; import './index.scss'; import '../../components/ModalFun/index.scss'; -import { deleteWiki, findNodeByChildrenKey, findNodeByKey, treeToMd, updateWiki } from '../../api'; +import { deleteWiki, findNodeByChildrenKey, findNodeByKey, getWiki, treeToMd, updateWiki } from '../../api'; import { useEffect } from 'react'; import { Base64 } from 'js-base64'; const Search = Input.Search; @@ -25,6 +25,8 @@ export default function Sidebar(props) { const [isExpendedAll, setIsExpendedAll] = useState(false); // 重命名目录名称 const [isEditName, setIsEditName] = useState(undefined); + // wiki重命名-wiki内容 + const [wikiContent, setWikiContent] = useState(undefined); useEffect(()=>{ if(defaultSelectedKeys){ @@ -299,6 +301,16 @@ export default function Sidebar(props) { let title = item.title.trim(); const isFile = title.startsWith('[[') && title.endsWith(']]'); title = isFile ? title.substring(2,title.length-2) : title.substring(2, title.length); + type === 2 && getWiki({ + owner: owner, + repo: projectsId, + pageName: title, + projectId: project.id + }).then(res => { + if (res && res.message === "200") { + setWikiContent(res.data.md_content); + } + }) setMenuName(title); } @@ -372,6 +384,7 @@ export default function Sidebar(props) { pageName: oldTitle, // 现名称 title: menuName, + content_base64: wikiContent, commit_message: '', }).then(res=>{ if(res && res.message === '200'){