From 6e31cbb53d7623c28c4b46ffce4b7867d49a5282 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Wed, 17 Jan 2024 17:09:27 +0800 Subject: [PATCH 1/7] =?UTF-8?q?wiki=E5=90=8D=E7=A7=B0=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Wiki/EditWiki.jsx | 14 ++++++--- src/forge/Wiki/Index.jsx | 11 +++++-- src/forge/Wiki/Preview.jsx | 2 +- src/forge/Wiki/api.js | 5 +--- src/forge/Wiki/components/sidebar/index.jsx | 29 ++++++++++--------- .../Wiki/components/uploadWiki/index.jsx | 8 +++-- 6 files changed, 41 insertions(+), 28 deletions(-) diff --git a/src/forge/Wiki/EditWiki.jsx b/src/forge/Wiki/EditWiki.jsx index 728f6e775..6ec63904f 100644 --- a/src/forge/Wiki/EditWiki.jsx +++ b/src/forge/Wiki/EditWiki.jsx @@ -18,7 +18,7 @@ export default Form.create()(({ form, history, showNotification, projectDetail, let wikiName = '' let key = ''; if (!pathname.endsWith('/wiki/add')) { - wikiName = pathname.split('/')[4]; + wikiName = decodeURI(pathname.split('/')[4]); key = pathname.split('/')[5]; }else{ key = search.split('=').pop(); @@ -116,6 +116,12 @@ export default Form.create()(({ form, history, showNotification, projectDetail, }; validateFields((err, values) => { if (!err) { + let regEn = /[\\/:*?"<>|[\]-]/g; + if (regEn.test(values.title)) { + message.error('文件名不能有特殊字符: \\ / : * ? \" < > | [ \] -'); + setOperateFlag(false); + return; + } const {md_content, title} = values; if (wikiName && search!== "?copy") { updateWiki({ @@ -124,7 +130,7 @@ export default Form.create()(({ form, history, showNotification, projectDetail, projectId: project.id, pageName: wikiName, title, - message: '', + commit_message: '', content_base64: Base64.encode(md_content) }).then(res => dealRes(res, title)); } else { @@ -217,7 +223,7 @@ export default Form.create()(({ form, history, showNotification, projectDetail, projectId: project.id, pageName: '_Sidebar', title: '_Sidebar', - message: '', + commit_message: '', content_base64: Base64.encode(content) }).then(res => { if (res && res.message === "200") { @@ -327,7 +333,7 @@ export default Form.create()(({ form, history, showNotification, projectDetail, "title", [ { required: true, message: "请输入标题" }, - { pattern: /^(?!-).*$/, message: '不能以-开头' } + // { pattern: /[^`\[\]\/:*?''<>|%-+_]/g, message: '不允许部分特殊字符' } ], { project && checkItem.name && getWiki({ owner: owner, repo: projectsId, - pageName: checkItem.sub_url, + pageName: checkItem.name, projectId: project.id }).then(res => { if (res && res.message === "200") { @@ -190,6 +190,11 @@ export default (props) => { setAddMenuError("不能仅输入空格"); return; } + const regEn = /[\\/:*?"<>|[\]-]/g; + if (regEn.test(menuName)) { + setAddMenuError("不能有特殊字符: \\ / : * ? \" < > | [ \] -"); + return; + } // 校验一级目录中是否有相同名称 const oneMenuList = fileList.filter(item=>!item.title.trim().startsWith('[[')).map(i=>i.title.trim()) if(oneMenuList.includes(`- ${menuName}`)){ @@ -210,7 +215,7 @@ export default (props) => { projectId: project.id, pageName: '_Sidebar', title: '_Sidebar', - message: '', + commit_message: '', content_base64: Base64.encode(treeToMd(sidebarList)) }).then(res => { if (res && res.message === "200") { @@ -228,7 +233,7 @@ export default (props) => { } function goEdit(params) { - history.push(`/${owner}/${projectsId}/wiki/${encodeURI(checkItem.sub_url)}/${checkItem.key}/edit${params}`); + history.push(`/${owner}/${projectsId}/wiki/${encodeURI(checkItem.name)}/${checkItem.key}/edit${params}`); } function preview() { diff --git a/src/forge/Wiki/Preview.jsx b/src/forge/Wiki/Preview.jsx index 2b700f60c..b36b1946f 100644 --- a/src/forge/Wiki/Preview.jsx +++ b/src/forge/Wiki/Preview.jsx @@ -63,7 +63,7 @@ export default (props) => { projectsId && checkItem.name && getWiki({ owner: owner, repo: projectsId, - pageName: checkItem.sub_url, + pageName: checkItem.name, projectId: projectId, }).then(res => { if (res && res.message === "200") { diff --git a/src/forge/Wiki/api.js b/src/forge/Wiki/api.js index 2250ec5f4..66425e0fb 100644 --- a/src/forge/Wiki/api.js +++ b/src/forge/Wiki/api.js @@ -116,16 +116,13 @@ export function markdownToTree(markdownText){ lines.map((item, index) =>{ const title = item.trim(); const isFile = title.startsWith('[[') && title.endsWith(']]'); - const titleStr = isFile ? title.substring(2, title.length - 2) : title.substring(2, title.length) const node = { // 带空格+[[]]或者- 标识 title: item, children: [], key: undefined, // 纯内容 - titleStr, - // 编码后的title,获取wiki内容用title_sub - title_sub: encodeURIComponent(titleStr), + titleStr: isFile ? title.substring(2, title.length - 2) : title.substring(2, title.length), // 是否是wiki文件 isFile: isFile } diff --git a/src/forge/Wiki/components/sidebar/index.jsx b/src/forge/Wiki/components/sidebar/index.jsx index d7046edb0..794ecbabc 100644 --- a/src/forge/Wiki/components/sidebar/index.jsx +++ b/src/forge/Wiki/components/sidebar/index.jsx @@ -163,7 +163,7 @@ export default function Sidebar(props) { const {node, children, key} = item; if(isFile){ // 删除页面 - deleteWiki({owner: owner, repo: projectsId, projectId: project.id, pageName: item.title_sub}).then(res => { + deleteWiki({owner: owner, repo: projectsId, projectId: project.id, pageName: title}).then(res => { if(res && res.message === "204"){ // 递归过滤相同key值的节点,执行删除操作 const menuListByDel = findSameKeyByDel(menuList, key); @@ -267,7 +267,7 @@ export default function Sidebar(props) { projectId: project.id, pageName: '_Sidebar', title: '_Sidebar', - message: '', + commit_message: '', content_base64: Base64.encode(content) }).then(res => { if (res && res.message === "200") { @@ -303,18 +303,20 @@ export default function Sidebar(props) { e.stopPropagation(); setVisible(item); setIsEditName(type); - const {titleStr, title_sub} = item; + 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_sub, + pageName: title, projectId: project.id }).then(res => { if (res && res.message === "200") { setWikiContent(res.data.md_content); } }) - setMenuName(titleStr); + setMenuName(title); } // 新增子目录 或者 重命名目录 @@ -327,8 +329,9 @@ export default function Sidebar(props) { setAddMenuError("不能仅输入空格"); return; } - if (isEditName === 2 && /^-/.test(menuName)) { - setAddMenuError('不能以-开头'); + const regEn = /[\\/:*?"<>|[\]-]/g; + if (regEn.test(menuName)) { + setAddMenuError('不能有特殊字符: \\ / : * ? \" < > | [ \] -'); return; } if(!isEditName){ @@ -353,15 +356,14 @@ export default function Sidebar(props) { }else{ // isEditName 1 编辑目录名称 2编辑页面名称 const titleToJudge = isEditName === 2 ? `[[${menuName}]]` : `- ${menuName}`; - const {key, titleStr, title_sub} = visible; - // 判断是否有修改名称 - if(titleStr === menuName){ + const {title, key} = visible; + if(title.trim() === titleToJudge){ setAddMenuError("请修改名称"); return } // 找兄弟节点 const list = findBrotherNodesByKey(menuList, key) || []; - if(list.map(item=>item.titleStr).includes(menuName)){ + if(list.map(item=>item.title.trim()).includes(titleToJudge)){ setAddMenuError("不能与同级目录名称相同"); return } @@ -379,16 +381,17 @@ export default function Sidebar(props) { }) if(isEditName === 2){ // 编辑页面名称-> 修改wiki + const oldTitle = title.substring(title.indexOf('[[')+2, title.indexOf(']]')) updateWiki({ owner, repo: projectsId, projectId: project.id, // 原名称 - pageName: title_sub, + pageName: oldTitle, // 现名称 title: menuName, content_base64: wikiContent, - message: '', + commit_message: '', }).then(res=>{ if(res && res.message === '200'){ // 修改wiki名称接口请求成功,更新sidebar diff --git a/src/forge/Wiki/components/uploadWiki/index.jsx b/src/forge/Wiki/components/uploadWiki/index.jsx index 30cfe492c..4113752dd 100644 --- a/src/forge/Wiki/components/uploadWiki/index.jsx +++ b/src/forge/Wiki/components/uploadWiki/index.jsx @@ -59,8 +59,10 @@ export default function UploadWiki(props) { message.error('只能上传md、txt文件'); return false; } - if (/^-/.test(file.name)) { - message.error('文件名不能以-开头'); + + let regEn = /[\\/:*?"<>|[\]-]/g; + if (regEn.test(file.name)) { + message.error('文件名不能有特殊字符: \\ / : * ? \" < > | [ \] -'); return false; } @@ -84,7 +86,7 @@ export default function UploadWiki(props) { projectId: project.id, pageName: '_Sidebar', title: '_Sidebar', - message: '', + commit_message: '', content_base64: Base64.encode(treeToMd(sidebarList)) }).then(res => { if (res && res.message === "200") { From 02585839d4eb01dc1fb31a227251c8ef218267da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Thu, 29 Feb 2024 09:30:46 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E5=8F=8D=E9=A6=88=E4=B8=8D=E8=B5=8B=E9=BB=98=E8=AE=A4=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 12 ++++++------ src/forge/Issues/Component/newPanel.jsx | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index f0a4ed0fc..be7f27fb4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -172,7 +172,7 @@ "dependencies": { "jsesc": { "version": "2.5.2", - "resolved": "http://173.15.15.82:8081/repository/npm-all/jsesc/-/jsesc-2.5.2.tgz", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" } } @@ -245,7 +245,7 @@ "dependencies": { "chalk": { "version": "2.4.2", - "resolved": "http://173.15.15.82:8081/repository/npm-all/chalk/-/chalk-2.4.2.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "requires": { "ansi-styles": "^3.2.1", @@ -341,12 +341,12 @@ }, "globals": { "version": "11.12.0", - "resolved": "http://173.15.15.82:8081/repository/npm-all/globals/-/globals-11.12.0.tgz", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" }, "ms": { "version": "2.1.2", - "resolved": "http://173.15.15.82:8081/repository/npm-all/ms/-/ms-2.1.2.tgz", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } @@ -7248,7 +7248,7 @@ }, "promise": { "version": "7.3.1", - "resolved": "http://173.15.15.82:8081/repository/npm-all/promise/-/promise-7.3.1.tgz", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", "requires": { "asap": "~2.0.3" @@ -9677,7 +9677,7 @@ }, "chalk": { "version": "2.4.2", - "resolved": "http://173.15.15.82:8081/repository/npm-all/chalk/-/chalk-2.4.2.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "requires": { "ansi-styles": "^3.2.1", diff --git a/src/forge/Issues/Component/newPanel.jsx b/src/forge/Issues/Component/newPanel.jsx index 67a02943f..babab11dc 100644 --- a/src/forge/Issues/Component/newPanel.jsx +++ b/src/forge/Issues/Component/newPanel.jsx @@ -16,8 +16,8 @@ function NewPanel(props,ref){ const { form: { getFieldDecorator, validateFields , setFieldsValue } } = props; useState(()=>{ - title && setTimeout(()=>{ - setFieldsValue({subject:title}); + setTimeout(()=>{ + title && setFieldsValue({subject:title}); desc && onContentChange(desc); },100) files && setAttachments(files); From 4243819efafc3585fa541a83a39b460deb18fb55 Mon Sep 17 00:00:00 2001 From: caishi <1149225589@qq.com> Date: Fri, 15 Mar 2024 14:52:05 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E4=B8=93=E5=8C=BA=E4=BA=8C=E7=BB=B4?= =?UTF-8?q?=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Component/mobile/accessory.jsx | 6 ++++-- .../Information/Component/mobile/index.scss | 1 + src/forge/Information/img/gitlink-gz-old.png | Bin 0 -> 8862 bytes src/forge/Information/img/gitlink-gz.png | Bin 8862 -> 37940 bytes src/forge/Information/img/gitlink-qq-old.png | Bin 0 -> 9293 bytes src/forge/Information/img/gitlink-qq.png | Bin 9293 -> 54774 bytes 6 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 src/forge/Information/img/gitlink-gz-old.png create mode 100644 src/forge/Information/img/gitlink-qq-old.png diff --git a/src/forge/Information/Component/mobile/accessory.jsx b/src/forge/Information/Component/mobile/accessory.jsx index a505727f6..28d04bd37 100644 --- a/src/forge/Information/Component/mobile/accessory.jsx +++ b/src/forge/Information/Component/mobile/accessory.jsx @@ -1,5 +1,7 @@ import React from 'react'; import './index.scss'; +import publicImg from '../../img/gitlink-gz.png'; +import qqImg from '../../img/gitlink-qq.png'; function acce({type}){ return( @@ -14,11 +16,11 @@ function acce({type}){

欢迎加入GitLink!

diff --git a/src/forge/Information/Component/mobile/index.scss b/src/forge/Information/Component/mobile/index.scss index 24dd816f5..da7ae84e2 100644 --- a/src/forge/Information/Component/mobile/index.scss +++ b/src/forge/Information/Component/mobile/index.scss @@ -50,6 +50,7 @@ width: 7em; height: 7em; margin-bottom: 0.8em; + border-radius: 3px; } span{ display: block; diff --git a/src/forge/Information/img/gitlink-gz-old.png b/src/forge/Information/img/gitlink-gz-old.png new file mode 100644 index 0000000000000000000000000000000000000000..4553490ac733402061e297780f050cc1aac7fad9 GIT binary patch literal 8862 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 literal 0 HcmV?d00001 diff --git a/src/forge/Information/img/gitlink-gz.png b/src/forge/Information/img/gitlink-gz.png index 4553490ac733402061e297780f050cc1aac7fad9..56ab54589c0ee611adab147efeab6284b581754e 100644 GIT binary patch literal 37940 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 literal 8862 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 diff --git a/src/forge/Information/img/gitlink-qq-old.png b/src/forge/Information/img/gitlink-qq-old.png new file mode 100644 index 0000000000000000000000000000000000000000..bc243e43383ece2457baef06b6d008648c1387b5 GIT binary patch literal 9293 zcmV-TB(mFyP)002n{1^@s6b%xvF00001b5ch_0Itp) z=>PyA07*naRCr#k+y|6Z)%6DOGk{&}y+mX0#;!>OMU5r)7JG|mVvoV~yz)w! zZo28pqKhtC-hA`Tc>TA({cU;w{rAhKpMDzG&NbIu(buc5zFKCQX{NH!LJP&~-+c2; zdHwa*OLKE`nST1|%VLWyRzCmy^YZb>AD1PUT(V3%?X+>7Yrg#Q%lP{@zxhp>efHVo z@6SH_tbFjn2W9D{mo6PUc8b^Dc;of*{r5k_{hxgDajDPuzqgi_Qs$j^o-*Hj^OvTk zGN_5Mdi3a7JMqMme(BzL|JY-XDJPuJqpY#U8Zp`X?z^va?AWo@y`OyYNm+N@bz@-v z{`bGjjyvvHCQX`DZoT!^a_FIlmJ2SpAg({?po2=UUcJit>#twdS!bPc-g)Q6>yJG0 zNZDkQP0GZH6U#EoEK}~k|Ne6M<(HR%0|%C;o_Z<_qiw$V=H-q%?ufrHx#W_v=bn4U z-xpqZVL9fQW6BFJybz0FA-i?!RzCdj!}8c;kCoF-JFWEX+cy^Qm)cQB9aRPl7*INN z=ukISuU@^wShZTM%sJ&i6KOjGvQV~?`cR$GYa>^;EguyJ_j5E&IYQDzr2Vw^e8dMHH{P1$p zNhh^7)_?&g$4V@*#1b*^YJ;4K6Td90tg>p^WtUyTSdhiAcinYY7&%elzB%TYBPRIT zYp<1^cG{`@_~Vad!wokKW4V@bA9&z_a@%dU#j4$N&pqYw#~%-*xz=DA!QWhI`0(N7 zs;jPw2||W@_uqg2cz=TpHYnFzb4^SdEx6Yrc@GVE58{l|wHj2NfByMp)TmM6x~{D@ z&$eJItgu3isbZ{_fxUY5tTC1qfrK4)*r9Q+l>%u-T6NV`$}YR?T8=;d_%If(nS1WJ z%NJjKQNI5A>&89M;q~>_Td(x*-#^f(F_P=vdFP$7*Is+Y`;6yWD8e()@ZERcl`F5j zGK}-kLl1?q7z6TfruU6gV?3?`EjjLMue~-V=)PgYhD~Lxe*OBz;xg8M{_~%5+;PW+ zfi=eF#t^;YiYtZ(oOt4ii7dwIRkOm3#ji~wn~8g`d-v{T)m0N&$A=q!_0?BlM6Nhy z%$Tz8zWWA3o_OMkxP8klw+wgU28^-$?z;zyo__l2_`(7=#f94<1~G3>gv=-C~O^!u70L za=`%y91s&=PzDkikuSp`aK_?h+Q}!M9LPfh?iazCvM{Ac|qggrko> zx?FbIWq}qj=3+>l>zsY|*+Hs|1%V4LxL~*wE_wUyx8qudK>C{hp+O{M7*W(>m@wBt z*d&L>g&|A7k3RZnL|GCBQF~8gEbnpe|2MJ_JWc_<^k1ukOoeIC+f~F1Og5`@W6#gIG zKmF-XLGU6LUc`AKPBsg2&N=6_3gg_HYiiul|EsLBN^t6>mtGo%6y>(vcH7W#*|;PW zdRDci@puNKT1b&Q1$AEQI!OPSXxOWU@$tnhv&_=2SVPDrd+@=BloL*<6FeR;0nrCn z^y$+lh?RRX7NXvM`|X237g=PHSd3kF-8CW&?jblC6X9;U>861od`G$*al{dUNaW46 zEtV+CEx9f5Cj?}{s~ zXr&9=LtnloIC#z!1>XYawRZjK7hV*#g#NZI-4L>%_2(L{OJkWNH>@^>t-7KA8HBMf zzWCyBKfJ}D5F$7*y8N?kBUv`uXrqSL{2E~BBVD(tsY$xiGVr$BZmZpS=bh2Nq!mBt z48*x-hJEjImo$LENoB|e=|#4xvA7|fL=`gz;keRDD~0Qk4ptuV%i+3o>C$SBTpPcM zrcfaQOK~8E-eN4ozwyQ!2f_p=y3V!PR$Fbg&{@X3@WKl>Ugwgy3kUAJ^Ui@zBD*ch za=r~?_3YWR=0>ja$3OltR4-QmcN~${l|C>e$eVoTf?i_?_ZYM&s1FavCCJ#lT$hnH z+ibHyBo1mX)yTvgcL_L|NJExpa-y03a*=a9#*oc3@tJG&X}snLjh_Ac-~T=&k7!7* ziME=)=tT3zm%V%UZmr*=Cz9R^rJgpNz7IhWJ$&@R3#Z+qDLOe4z}?r8YE~ zD8mqtAzd;FtH-T82XC0@2`8M;nA{9A%n%w)#lk?5HN>W|4BYFkBRiCB=r@fd`NJRn z5DP)Pdf(&;W$77dpbFxd_}KyqO!`LP#Bmy$i>rEg*32`{9Qv(+Ea{FLOomX@u?M{L z(o2nr&`DMRACL@4J4+>_M~{v?OXRRpemsb11aoPLNpV?*rrzC8T_aCTwB(Y+CW)dc zyNIk%kI+RoDUk*AJl9(+{Rs?o5%e*l1s^+hY(&j7&pa~%4kJT0QEUJaVxVow+51AX2+3Gh%^>sP?lXxr7Bq^0QwA2l zGiC7`BK<%Lgv$Z(lm6Q3Ecd3dvYw^t;l6D1&p&_YEJ8M)!*D5y@EfTERTX2^>scqA z)W4i_&e?%1J`M6?$Bv7YLy(ABr&PAI#w58W!&yBYi*Cp_0|4$K>=;Yv$A9{h9FqwM z8A|mFS^6dyAk}rmWulFdAV%>|a}Dw~!8DeVk$$1k;&DsV0P%tV4yE1&6j=si2}b4% z(E^%z;wyXy#VKs3AZzl#i!Z*UCjT@sEv5Fu4?mXW zmtVfjKmUB?zWauku3fu?vD!9nh&!^ZY+_Z-BFr1y!w)|k>5hn%6-`_wcT~D@zjQ|+ zU~qCGT@VT(K?x|!%KA(5Jn>|}f414`8vr>8*VrWRLqrPgIW#ZmgQwtiHete-fu_Co+A~&T_0`u1qD(!7GeDT% z(@|h84>L$Vu9N=YER)1-A}n_@09=6^gm3rb7--Okf#MG&&xnL9*O6B;q-ZFTad&;E zf~U-pF#dDD$*Qs8Tor|^q#A2g(^*gvGIxX+T=c|Q=IMP@kR_m2#^Q!n#RMd;^0u$P z{w9bywUm{DDjB{3GB92;2?p^$h~o>9%C!(+BDhC1ghu@0eg@#yxJV_Fd|@Q-<4|Lv z+PN=-;yI~KraJ^Do-H7+bjQH06q2<9S>6zSk-inD?j^psiyK0Y`>l|0ETu_) zl3OyWCUamEs8o+qQRS8lhZ=}Xlc&$PCuA`e<69g-giDI57KfYh4h9g-&pPX@VvCN^ z@RvoV^N_oM#AwJIni0SI1r8{$7;EytK7IPu1`Zrlo__kNDfKMdK~0hF5PF)yS~X;i zJVD$*xR>oBuX6z|ic2(;G6@YQ7^ulYTeUFfeWYsQ48Vw~%tb41r5_97brlN}%AF(c zWg?A#Xeua0_S`SYT?q%eEP_R}K#(Wsc(ySyj=#wXO{AZa{?zvkCr$&yBjZDI82s({rP>ie@0OAH~yA&MpgIW(*I?H~Om~!= zh}i^y-wjbpItZ)XyYF8*bZCl)GmdCzwMCgsGfWafGy}4tR531aEfP&*h$f;V?lKrU zjvHHXXv@l~#X$TJtZ_rgsv1jhLHyi|F{L%$=W1Do5p?jTs4JR!zLX0>XgS(TrGZ2s z4~!R&L9M8)LSi3OMHXd<)+mEf+en8W$|jp^T4tH0bFn)u^PV{I>rl5=6i0}Zq7+`z z0a)V+4}~x*lqDXMw)u+Rlux)JNSh=Hpb?sK!Bp`2WN5}x&b9iG<#mJi163wtaux~l zjY%0fx99ErKw{Nc+=_0>Xei~<4<6P(>4LLpL2AIgBuMJ4R>;EXCd7R<-E^~Z-+jYM z=gzZ4MDaSJmY_0NauhU4OBj=1Lm4+T@RS=|)AbBTD{+A|79&=Tg|J=2c<$40x*<~b z10gB~Q&u~S?pmbmz)Aj}RR?YeSpq}$i$d{`}Wytm$> zPp&F^?zu;qZo26MSs7AIGNaoRKMua~Akh?Tp@G5N1MYd`h*lD&g>?&%&HbsY{l*vE zEqO-Dq2U@oI0jcjDdU(JDZ%w1QejU{NlI{eLYteWvGk?5C@{6xjGHT35JAB6jk)25 z0|uO28#HKenK0pt^5c(neNkT zcW9#aQ!VGSEdWt!fk+d<0%A;_HexVn#7~UlC=xeA4erIM`bH0;98XA@k2K_aSh+!RY$nwkAwcSUifK9+D|&G!ul;N|J754+iB#0a_k7PCozGu%~wSN6hY}bd=Sa~pnvIa|?dT6y7v?%0ZX{>x7XWV@AO+o&* z-kPUq>IXyCU%y*$gL|Qc%b7fv&V57ukO7Q^U%5ATAxk`$x<}xQCC6(!F34hB#%g;o z#JLN`Ph(lEEGwf1{Wp;H!3Xcv-hKD|@OP^G!V52m3toHe^$?WuEU1ALyp)|Xmg{IT zx`-jICL}QyH&v1F8cw<8mYd7?@gJ5izx*n4&}pZgrhNKo-B^ei@8K@)t~#mQ!yp2O z=PK2p1lLG(q0sBxNQnpH?BGDNNqS#CYjG7Kxi6|f2kKnLzzuna=gAPbFCL{W{clkq zufbW0e{#1KS6nF`A_CG&BBR`p<*l4%B39o2xJQQ!Y2~;l<1!p#$)k=sx;*&c1A#OgpgzUY5W+ZeKbgEiq!2V%_j^yo zAwH??oQ##*e*5hrdgd|6S6+F!JpAy;vh&V6mAU7hr*RH{%$OI;vBw@42!c+$1u<5g zvR8ML6ACJjE*a*s^b@zsopG)WnGS`>DajYwNp$3fco<#CGRy_1aZ8J-Pxnu?yEA0S zklK0YogbX>*=L`Y9zA+S6k1`06+<9`u4utP${Mco+hhz<6LsW%igJE4BF=I@P9Z); zO$Xs@h=_p0hTU6EKmE*d#TA#8`R8AteDu-BWub)@EMvzypSoXgi{cy|rND=~OjacG zJM|QUad)CO8?J@_v?}?GchHkmvZM6h~wvUKvZj z7R__g&2n!Ob;u};%ip%xWEH#y9qDT-oz z;2InNh4Mm!XJ8ZYFg!*Ds}V_taYbeWN+r}j12T5o|N%Cd`yQcXlsnK-Zabj>~hhPG^1%H?)0E0P27^G&u!8$jFujeUK&# zT${&y(pXlXu@I)(5E5n>+Rgpa8@i~P1L8Wt019v+6lJ}Pz7r6S;5?7&9bt{Mv-%6(aJN`$+)f8gl@!Zf?0wVMYBNwcM<(; z;u6N(A4<3sS3@COOdljio{Y9I5`Fqj0D{CSqV$Jy+TpCp1AF&QV>Lzib+d%BYAl3_ z^q@|HtMe=?Gh`Yox4t02%F|c~Q}n?dSvMD!=`2xAUpUT$^T?w#My^K~LXU_@v{sv_ zt3QjAyFuP3FS1mu} zbn*;RCQtsQ!K%ixfca?)h&MI{P;wE$Mf5y?n`Eyas1-Ew96V#ualp|ovU2-=^ynAL z3onc=Lx!AD#*G^rW#w$h&K@E+L&(S$ALI(U4nicUR*@#6Q?emYge=K*w1^^y8bVQ3 zL0E?n!WU_K%{?LMFd!)hOy?vO9(hEpA8gDfHSy6diw zfr2xLt8FEb3d>d=X(PxqR@G3h#SzsLc2mM`sBI*UqcS(N0CF}8pJ+^iN3N1_5sqYl zAW_Nn+==^&$}$Rwp!xLA-2?~c&` zdElf;lWO06_kDzSu%2;7JH}0=xw$1sR#u)z7(H0D!6ODO44a%zU8}^wWxQVfJdA#= zQl3?y(rs^997eQ~4zfY65Kf`+m97K$uTL==q~N+}2rksDOG3MZrDPh-Tt_{%k3 z7fqp$8FX^ti<{IVJTW^WK$Bum|A_(my-O2Fk zW`hv^O+t;yd3emF`g2jXc+eK|H|(LBqzxun017b1C?072kRrL#ti7*Uh`+hARA z!G+5%yX+Lm9W!QJ2tDF3Pu9>?P(f|0aGLa5%80pK#w#($DnllMM|b8jT9KZCQn zHZm0Sq%3(Y;maLV8z9O(48w?t*sMV4mozakbvAvWiE3^r=pb(!9f+Snh+SKF0tj@v zheXl8@m7xZfR$o10_%euE7*YV6rDm~Alw95A4N zkgr4($8_#Ib5u#6eDbMszySva8ti0S6|QyRg%^c=NCgwhW`YnU%u6p!0=b*)GRrI- zyaO%zoqO)N;#$V>`?JqJ4>zOV7+T~cV4<1|y4U~N(pXX}F3&)&gCLSe37WAWQs6-7 zB#kOYe#{T*Xh34PQT%)P<(F%=z)Y4;n>7tbT^Yb$VC4S2;f2 zDRjPTs|g6kYfKi2?qU?2=zr0-x?$0= zW5+td_wC!S*1!LNU-F0;2%_)Xw@>2}R3K|rues*h^28JMPt@BBlyZ;;R?~oJFK(0P zHTA`y&?439-hJOlY3d&>`L5h?$L*19i-eGspOP?0QbV7vb#IE%EY^81zl$cn5ybQJ zFdM|BRDgB?1hKnTv?OB9gTWGoojP^;>APrrcBfCD-i_ltZ7uihx8IaLefoxk=-sb>5CHT=zj@yx zkTb-n%@O0ynwzY`qFa;5F7*J$Pu?u>0bh zk0@*T9e$8w;w<8j@~6D5Iu2<2Va!|<%75_SLBUzMQGv^b4m~R_F$Swmf0-~u<|omV zcKn^6wHE0ZNu+~(a>tywA&#n6YH=a?lAi|2l2eu7<(Tani>}JA7cj`CrVjCGd&;=A zv3w=eoKc~eH0j%bIAgr=#+xx1#$tE_ChQF2zZr`$GPOtpst=w5LI3~*`$gtEY8H>)Ue-}+1S=>-QsNS{m$}7eI>&q;6Sr!HN(Mo{rw`~$7h97xk3#JK4@QCbjCnwEkYJ2_#aRXq;c z@~a4Np63e`2%gcX0__)!^?aORN@JN6W6@dlQ#5sB`Cr3LI+mEyBa8ylLx$8pG*E5z zeZzWLId#oX?>Ck6&sWbnA`Xw_+0gpw!7-& zn{U3csBUnFi!Q#X%sbEAWx|B7!o41O3wJsEp4PIEHV;RUp;apx+)-46@0tK%KCTR4eA8%eCdW8Zqz_l zzkYqoh!GD3S8x@RR}|cF#~tF6WD6~{aJ(k#=R%tA-V)soJ@k+W0D}e%jKtiwy;YZH zExX)u<*6s14C$fmy?6aPwr;!a_EsM-kY?p4Sw%{TJo7uO(oC@fwtiA63)y|R9Fn9Xgn)`w2}__Wn)&VwK%OC&1BjVyww6>Cu6v0ec$l# za1$TyTyn{!T2&pK^fQ3-&u{&me|Sp8LXBz5Er0q-C>y)8G&xk~J zIAc$^~U#eI@kfdJqLCbmMe5nEp zE7^yvM%7`^pusg?e)wzB9htg^Y_Y}WWsW&!55WmtqMZ*N2n5?~vvt{i`yDFfp0;#f zKk%`~9=nI}ZL2}0sA~*LG<)v3S0RKKUwnyphLR39;&xC-?Td2CKGZl}h1gAw>*BHM zId)*krb?Q|Ab`mW`ZB{$$@Bb8Gz3;uM vpgpBR literal 0 HcmV?d00001 diff --git a/src/forge/Information/img/gitlink-qq.png b/src/forge/Information/img/gitlink-qq.png index bc243e43383ece2457baef06b6d008648c1387b5..d3c3bd5794a7fb314ed2b4dcdbd824a94dd8df3d 100644 GIT binary patch literal 54774 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 N+qgOS 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 vpgpBR From 82d700cdf8028cf8e1cf26c0e19d29fe21093a94 Mon Sep 17 00:00:00 2001 From: caishi <1149225589@qq.com> Date: Sat, 16 Mar 2024 13:58:03 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E6=81=A2=E5=A4=8D=E5=88=86=E6=94=AF?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Main/tree/Index.jsx | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/src/forge/Main/tree/Index.jsx b/src/forge/Main/tree/Index.jsx index 0faf9fd36..8b6a1b473 100644 --- a/src/forge/Main/tree/Index.jsx +++ b/src/forge/Main/tree/Index.jsx @@ -3,7 +3,7 @@ import CopyTool from '../../Component/CopyTool'; import { truncateCommitId } from '../../common/util'; import { Link } from 'react-router-dom'; import { getImageUrl , turnbar } from 'educoder'; -import { Button, Dropdown , Input, Menu , message, Modal, Select, Spin, Table, Tooltip , Radio } from 'antd'; +import { Button, Dropdown , Input, Menu , message, Modal, Select, Spin, Table, Tooltip , Radio , Popover } from 'antd'; import Modals from '../../Component/PublicModal/Index'; import './Index.scss'; @@ -34,7 +34,7 @@ function Index(props) { const { projectsId , owner } = props.match.params; const { isManager , isDeveloper , projectDetail , defaultBranch, getDetail } = props; useEffect(()=>{ - getList(chooseStatus); + getList(); },[name, reload, pageSize, current,chooseStatus]) useEffect(()=>{ @@ -131,9 +131,13 @@ function Index(props) { width: "300px", className: "branchActionColumn", render: (txt, item,key) => { - console.log("-----:",item.is_deleted); return ( - item.is_deleted ?

: + item.is_deleted ? +
+ 将基于 Commits{truncateCommitId(item.commit_id)}创建分支}> + + +
:
{ (isManager || isDeveloper) && (projectDetail && projectDetail.type!==2) && @@ -166,7 +170,7 @@ function Index(props) { }) } - function getList(state) { + function getList() { const url = `/v1/${owner}/${projectsId}/branches.json`; Axios.get(url,{ params:{ @@ -303,7 +307,13 @@ function Index(props) { className='branchListTable' dataSource={list} columns={columns} - pagination={{current: current, pageSize: pageSize, total: total, showSizeChanger: true, onShowSizeChange:onShowSizeChange, showQuickJumper: true, onChange: changePage}} + pagination={{current: current, + pageSize: pageSize, + total: total, + showSizeChanger: true, + onShowSizeChange:onShowSizeChange, + showQuickJumper: true, onChange: changePage,hideOnSinglePage:true + }} > {/* { @@ -386,7 +396,7 @@ function Index(props) { >
-

确定删除{visible.name}分支?

+

删除分支,本操作将会关闭已开启的Pull Request

Date: Sat, 16 Mar 2024 14:05:18 +0800 Subject: [PATCH 5/7] =?UTF-8?q?wiki=E6=94=BE=E5=BC=80=E7=89=B9=E6=AE=8A?= =?UTF-8?q?=E5=AD=97=E7=AC=A6=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Wiki/EditWiki.jsx | 14 +++------ src/forge/Wiki/Index.jsx | 11 ++----- src/forge/Wiki/Preview.jsx | 2 +- src/forge/Wiki/api.js | 5 +++- src/forge/Wiki/components/sidebar/index.jsx | 29 +++++++++---------- .../Wiki/components/uploadWiki/index.jsx | 8 ++--- 6 files changed, 28 insertions(+), 41 deletions(-) diff --git a/src/forge/Wiki/EditWiki.jsx b/src/forge/Wiki/EditWiki.jsx index 6ec63904f..728f6e775 100644 --- a/src/forge/Wiki/EditWiki.jsx +++ b/src/forge/Wiki/EditWiki.jsx @@ -18,7 +18,7 @@ export default Form.create()(({ form, history, showNotification, projectDetail, let wikiName = '' let key = ''; if (!pathname.endsWith('/wiki/add')) { - wikiName = decodeURI(pathname.split('/')[4]); + wikiName = pathname.split('/')[4]; key = pathname.split('/')[5]; }else{ key = search.split('=').pop(); @@ -116,12 +116,6 @@ export default Form.create()(({ form, history, showNotification, projectDetail, }; validateFields((err, values) => { if (!err) { - let regEn = /[\\/:*?"<>|[\]-]/g; - if (regEn.test(values.title)) { - message.error('文件名不能有特殊字符: \\ / : * ? \" < > | [ \] -'); - setOperateFlag(false); - return; - } const {md_content, title} = values; if (wikiName && search!== "?copy") { updateWiki({ @@ -130,7 +124,7 @@ export default Form.create()(({ form, history, showNotification, projectDetail, projectId: project.id, pageName: wikiName, title, - commit_message: '', + message: '', content_base64: Base64.encode(md_content) }).then(res => dealRes(res, title)); } else { @@ -223,7 +217,7 @@ export default Form.create()(({ form, history, showNotification, projectDetail, projectId: project.id, pageName: '_Sidebar', title: '_Sidebar', - commit_message: '', + message: '', content_base64: Base64.encode(content) }).then(res => { if (res && res.message === "200") { @@ -333,7 +327,7 @@ export default Form.create()(({ form, history, showNotification, projectDetail, "title", [ { required: true, message: "请输入标题" }, - // { pattern: /[^`\[\]\/:*?''<>|%-+_]/g, message: '不允许部分特殊字符' } + { pattern: /^(?!-).*$/, message: '不能以-开头' } ], { project && checkItem.name && getWiki({ owner: owner, repo: projectsId, - pageName: checkItem.name, + pageName: checkItem.sub_url, projectId: project.id }).then(res => { if (res && res.message === "200") { @@ -190,11 +190,6 @@ export default (props) => { setAddMenuError("不能仅输入空格"); return; } - const regEn = /[\\/:*?"<>|[\]-]/g; - if (regEn.test(menuName)) { - setAddMenuError("不能有特殊字符: \\ / : * ? \" < > | [ \] -"); - return; - } // 校验一级目录中是否有相同名称 const oneMenuList = fileList.filter(item=>!item.title.trim().startsWith('[[')).map(i=>i.title.trim()) if(oneMenuList.includes(`- ${menuName}`)){ @@ -215,7 +210,7 @@ export default (props) => { projectId: project.id, pageName: '_Sidebar', title: '_Sidebar', - commit_message: '', + message: '', content_base64: Base64.encode(treeToMd(sidebarList)) }).then(res => { if (res && res.message === "200") { @@ -233,7 +228,7 @@ export default (props) => { } function goEdit(params) { - history.push(`/${owner}/${projectsId}/wiki/${encodeURI(checkItem.name)}/${checkItem.key}/edit${params}`); + history.push(`/${owner}/${projectsId}/wiki/${encodeURI(checkItem.sub_url)}/${checkItem.key}/edit${params}`); } function preview() { diff --git a/src/forge/Wiki/Preview.jsx b/src/forge/Wiki/Preview.jsx index b36b1946f..2b700f60c 100644 --- a/src/forge/Wiki/Preview.jsx +++ b/src/forge/Wiki/Preview.jsx @@ -63,7 +63,7 @@ export default (props) => { projectsId && checkItem.name && getWiki({ owner: owner, repo: projectsId, - pageName: checkItem.name, + pageName: checkItem.sub_url, projectId: projectId, }).then(res => { if (res && res.message === "200") { diff --git a/src/forge/Wiki/api.js b/src/forge/Wiki/api.js index 66425e0fb..2250ec5f4 100644 --- a/src/forge/Wiki/api.js +++ b/src/forge/Wiki/api.js @@ -116,13 +116,16 @@ export function markdownToTree(markdownText){ lines.map((item, index) =>{ const title = item.trim(); const isFile = title.startsWith('[[') && title.endsWith(']]'); + const titleStr = isFile ? title.substring(2, title.length - 2) : title.substring(2, title.length) const node = { // 带空格+[[]]或者- 标识 title: item, children: [], key: undefined, // 纯内容 - titleStr: isFile ? title.substring(2, title.length - 2) : title.substring(2, title.length), + titleStr, + // 编码后的title,获取wiki内容用title_sub + title_sub: encodeURIComponent(titleStr), // 是否是wiki文件 isFile: isFile } diff --git a/src/forge/Wiki/components/sidebar/index.jsx b/src/forge/Wiki/components/sidebar/index.jsx index 794ecbabc..d7046edb0 100644 --- a/src/forge/Wiki/components/sidebar/index.jsx +++ b/src/forge/Wiki/components/sidebar/index.jsx @@ -163,7 +163,7 @@ export default function Sidebar(props) { const {node, children, key} = item; if(isFile){ // 删除页面 - deleteWiki({owner: owner, repo: projectsId, projectId: project.id, pageName: title}).then(res => { + deleteWiki({owner: owner, repo: projectsId, projectId: project.id, pageName: item.title_sub}).then(res => { if(res && res.message === "204"){ // 递归过滤相同key值的节点,执行删除操作 const menuListByDel = findSameKeyByDel(menuList, key); @@ -267,7 +267,7 @@ export default function Sidebar(props) { projectId: project.id, pageName: '_Sidebar', title: '_Sidebar', - commit_message: '', + message: '', content_base64: Base64.encode(content) }).then(res => { if (res && res.message === "200") { @@ -303,20 +303,18 @@ export default function Sidebar(props) { e.stopPropagation(); setVisible(item); setIsEditName(type); - let title = item.title.trim(); - const isFile = title.startsWith('[[') && title.endsWith(']]'); - title = isFile ? title.substring(2,title.length-2) : title.substring(2, title.length); + const {titleStr, title_sub} = item; type === 2 && getWiki({ owner: owner, repo: projectsId, - pageName: title, + pageName: title_sub, projectId: project.id }).then(res => { if (res && res.message === "200") { setWikiContent(res.data.md_content); } }) - setMenuName(title); + setMenuName(titleStr); } // 新增子目录 或者 重命名目录 @@ -329,9 +327,8 @@ export default function Sidebar(props) { setAddMenuError("不能仅输入空格"); return; } - const regEn = /[\\/:*?"<>|[\]-]/g; - if (regEn.test(menuName)) { - setAddMenuError('不能有特殊字符: \\ / : * ? \" < > | [ \] -'); + if (isEditName === 2 && /^-/.test(menuName)) { + setAddMenuError('不能以-开头'); return; } if(!isEditName){ @@ -356,14 +353,15 @@ export default function Sidebar(props) { }else{ // isEditName 1 编辑目录名称 2编辑页面名称 const titleToJudge = isEditName === 2 ? `[[${menuName}]]` : `- ${menuName}`; - const {title, key} = visible; - if(title.trim() === titleToJudge){ + const {key, titleStr, title_sub} = visible; + // 判断是否有修改名称 + if(titleStr === menuName){ setAddMenuError("请修改名称"); return } // 找兄弟节点 const list = findBrotherNodesByKey(menuList, key) || []; - if(list.map(item=>item.title.trim()).includes(titleToJudge)){ + if(list.map(item=>item.titleStr).includes(menuName)){ setAddMenuError("不能与同级目录名称相同"); return } @@ -381,17 +379,16 @@ export default function Sidebar(props) { }) if(isEditName === 2){ // 编辑页面名称-> 修改wiki - const oldTitle = title.substring(title.indexOf('[[')+2, title.indexOf(']]')) updateWiki({ owner, repo: projectsId, projectId: project.id, // 原名称 - pageName: oldTitle, + pageName: title_sub, // 现名称 title: menuName, content_base64: wikiContent, - commit_message: '', + message: '', }).then(res=>{ if(res && res.message === '200'){ // 修改wiki名称接口请求成功,更新sidebar diff --git a/src/forge/Wiki/components/uploadWiki/index.jsx b/src/forge/Wiki/components/uploadWiki/index.jsx index 4113752dd..30cfe492c 100644 --- a/src/forge/Wiki/components/uploadWiki/index.jsx +++ b/src/forge/Wiki/components/uploadWiki/index.jsx @@ -59,10 +59,8 @@ export default function UploadWiki(props) { message.error('只能上传md、txt文件'); return false; } - - let regEn = /[\\/:*?"<>|[\]-]/g; - if (regEn.test(file.name)) { - message.error('文件名不能有特殊字符: \\ / : * ? \" < > | [ \] -'); + if (/^-/.test(file.name)) { + message.error('文件名不能以-开头'); return false; } @@ -86,7 +84,7 @@ export default function UploadWiki(props) { projectId: project.id, pageName: '_Sidebar', title: '_Sidebar', - commit_message: '', + message: '', content_base64: Base64.encode(treeToMd(sidebarList)) }).then(res => { if (res && res.message === "200") { From 7cdf66f911737065c4e20fccf034e5d99d33b740 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Sat, 16 Mar 2024 14:14:32 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E4=BB=85=E7=AE=A1=E7=90=86=E5=91=98?= =?UTF-8?q?=E6=9C=89=E6=9D=83=E9=99=90=E8=BF=9B=E8=A1=8C=E7=BC=96=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/About/Index.jsx | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/forge/About/Index.jsx b/src/forge/About/Index.jsx index 7f1222de1..7d544f78d 100644 --- a/src/forge/About/Index.jsx +++ b/src/forge/About/Index.jsx @@ -14,9 +14,10 @@ function Index(props){ const [ content , setContent ] = useState(undefined); const [ edit , setEdit ] = useState(false); const [ fileList , setFileList ] = useState(undefined); - const [ editOpration , setEditOpration ] = useState(false); + // const [ editOpration , setEditOpration ] = useState(false); const { owner , projectsId } = props.match.params; const { isManager , isDeveloper , current_user, projectDetail } = props; + const editOpration = current_user && current_user.login && isManager useEffect(()=>{ if(owner && projectsId && projectDetail){ @@ -25,11 +26,11 @@ function Index(props){ } },[owner,projectsId, projectDetail]) - useEffect(()=>{ - if( (current_user && current_user.login) && (isManager === true || isDeveloper === true)){ - setEditOpration(true); - } - },[isManager , isDeveloper]) + // useEffect(()=>{ + // if( (current_user && current_user.login) && (isManager === true || isDeveloper === true)){ + // setEditOpration(true); + // } + // },[isManager , isDeveloper]) function Init(){ const url = `/${owner}/${projectsId}/about.json`; axios.get(url).then(result=>{ From 599dc53d91991f265e395241ae8ba7eab96c7afa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Mon, 18 Mar 2024 09:55:21 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=A0=B7=E5=BC=8F?= =?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/modules/courses/css/Courses.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/modules/courses/css/Courses.css b/src/modules/courses/css/Courses.css index d46ec88e9..002ec1313 100644 --- a/src/modules/courses/css/Courses.css +++ b/src/modules/courses/css/Courses.css @@ -2139,7 +2139,8 @@ input.ant-input-number-input:focus { } /* md代码类样式渲染 */ -.new_li .markdown-body ul>li ,.markdown-body ul>li { +/* issues/3984: ,.markdown-body ul>li */ +.new_li .markdown-body ul>li { list-style-type: disc !important; margin-bottom: 0 !important; white-space: pre-wrap;