From 501bf9725f0e260ad208a0f3a6c732b5f4556f6b Mon Sep 17 00:00:00 2001 From: caishi <1149225589@qq.com> Date: Thu, 14 Dec 2023 10:49:15 +0800 Subject: [PATCH 01/58] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=AE=A1=E7=90=86-?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=BA=93=E7=89=88=E6=9C=AC=E5=88=86=E6=94=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/css/iconColor/demo.css | 539 ++++++++++++++++++ public/css/iconColor/iconfont.css | 133 +++++ public/css/iconColor/iconfont.js | 1 + public/css/iconColor/iconfont.json | 212 +++++++ public/css/iconColor/iconfont.ttf | Bin 0 -> 9780 bytes public/css/iconColor/iconfont.woff | Bin 0 -> 5692 bytes public/css/iconColor/iconfont.woff2 | Bin 0 -> 4384 bytes public/index.html | 1 + src/App.js | 3 +- src/AppConfig.js | 2 +- src/forge/About/index.scss | 5 +- src/forge/Activity/activity.css | 5 +- src/forge/Head/Header.js | 40 +- src/forge/Main/CoderDepot.jsx | 4 +- src/forge/Main/Index.scss | 8 +- src/forge/Main/list.scss | 5 +- src/forge/Main/sub/DetailBanner.jsx | 21 +- src/forge/Merge/Index.scss | 5 +- src/forge/New/Index.js | 46 +- src/forge/SecuritySetting/Index.jsx | 10 +- src/forge/SecuritySetting/Index.scss | 4 +- .../notice/myNotice/Index.scss | 2 +- src/forge/Settings/CollaboratorMember.jsx | 2 +- src/forge/Settings/Setting.js | 34 +- src/forge/UsersList/common_users.js | 40 +- src/forge/UsersList/fork_users.js | 22 +- src/forge/css/index.scss | 9 +- src/forge/users/Infos.js | 2 +- src/forge/users/InfosUser.js | 2 +- src/forge/users/Material/Base.jsx | 40 +- src/forge/users/Material/Index.jsx | 6 +- src/forge/users/Material/Password.jsx | 19 +- src/forge/users/Material/Phone.jsx | 39 +- src/modules/loginRegister/Login.jsx | 4 +- .../loginRegister/LoginRegisterPage.scss | 2 +- src/modules/loginRegister/Register.jsx | 19 +- src/modules/tpm/TPMIndex.css | 53 +- src/modules/tpm/TPMIndexHOC.js | 93 ++- 38 files changed, 1220 insertions(+), 212 deletions(-) create mode 100644 public/css/iconColor/demo.css create mode 100644 public/css/iconColor/iconfont.css create mode 100644 public/css/iconColor/iconfont.js create mode 100644 public/css/iconColor/iconfont.json create mode 100644 public/css/iconColor/iconfont.ttf create mode 100644 public/css/iconColor/iconfont.woff create mode 100644 public/css/iconColor/iconfont.woff2 diff --git a/public/css/iconColor/demo.css b/public/css/iconColor/demo.css new file mode 100644 index 000000000..a67054a0a --- /dev/null +++ b/public/css/iconColor/demo.css @@ -0,0 +1,539 @@ +/* Logo 字体 */ +@font-face { + font-family: "iconfont logo"; + src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834'); + src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg'); +} + +.logo { + font-family: "iconfont logo"; + font-size: 160px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/* tabs */ +.nav-tabs { + position: relative; +} + +.nav-tabs .nav-more { + position: absolute; + right: 0; + bottom: 0; + height: 42px; + line-height: 42px; + color: #666; +} + +#tabs { + border-bottom: 1px solid #eee; +} + +#tabs li { + cursor: pointer; + width: 100px; + height: 40px; + line-height: 40px; + text-align: center; + font-size: 16px; + border-bottom: 2px solid transparent; + position: relative; + z-index: 1; + margin-bottom: -1px; + color: #666; +} + + +#tabs .active { + border-bottom-color: #f00; + color: #222; +} + +.tab-container .content { + display: none; +} + +/* 页面布局 */ +.main { + padding: 30px 100px; + width: 960px; + margin: 0 auto; +} + +.main .logo { + color: #333; + text-align: left; + margin-bottom: 30px; + line-height: 1; + height: 110px; + margin-top: -50px; + overflow: hidden; + *zoom: 1; +} + +.main .logo a { + font-size: 160px; + color: #333; +} + +.helps { + margin-top: 40px; +} + +.helps pre { + padding: 20px; + margin: 10px 0; + border: solid 1px #e7e1cd; + background-color: #fffdef; + overflow: auto; +} + +.icon_lists { + width: 100% !important; + overflow: hidden; + *zoom: 1; +} + +.icon_lists li { + width: 100px; + margin-bottom: 10px; + margin-right: 20px; + text-align: center; + list-style: none !important; + cursor: default; +} + +.icon_lists li .code-name { + line-height: 1.2; +} + +.icon_lists .icon { + display: block; + height: 100px; + line-height: 100px; + font-size: 42px; + margin: 10px auto; + color: #333; + -webkit-transition: font-size 0.25s linear, width 0.25s linear; + -moz-transition: font-size 0.25s linear, width 0.25s linear; + transition: font-size 0.25s linear, width 0.25s linear; +} + +.icon_lists .icon:hover { + font-size: 100px; +} + +.icon_lists .svg-icon { + /* 通过设置 font-size 来改变图标大小 */ + width: 1em; + /* 图标和文字相邻时,垂直对齐 */ + vertical-align: -0.15em; + /* 通过设置 color 来改变 SVG 的颜色/fill */ + fill: currentColor; + /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示 + normalize.css 中也包含这行 */ + overflow: hidden; +} + +.icon_lists li .name, +.icon_lists li .code-name { + color: #666; +} + +/* markdown 样式 */ +.markdown { + color: #666; + font-size: 14px; + line-height: 1.8; +} + +.highlight { + line-height: 1.5; +} + +.markdown img { + vertical-align: middle; + max-width: 100%; +} + +.markdown h1 { + color: #404040; + font-weight: 500; + line-height: 40px; + margin-bottom: 24px; +} + +.markdown h2, +.markdown h3, +.markdown h4, +.markdown h5, +.markdown h6 { + color: #404040; + margin: 1.6em 0 0.6em 0; + font-weight: 500; + clear: both; +} + +.markdown h1 { + font-size: 28px; +} + +.markdown h2 { + font-size: 22px; +} + +.markdown h3 { + font-size: 16px; +} + +.markdown h4 { + font-size: 14px; +} + +.markdown h5 { + font-size: 12px; +} + +.markdown h6 { + font-size: 12px; +} + +.markdown hr { + height: 1px; + border: 0; + background: #e9e9e9; + margin: 16px 0; + clear: both; +} + +.markdown p { + margin: 1em 0; +} + +.markdown>p, +.markdown>blockquote, +.markdown>.highlight, +.markdown>ol, +.markdown>ul { + width: 80%; +} + +.markdown ul>li { + list-style: circle; +} + +.markdown>ul li, +.markdown blockquote ul>li { + margin-left: 20px; + padding-left: 4px; +} + +.markdown>ul li p, +.markdown>ol li p { + margin: 0.6em 0; +} + +.markdown ol>li { + list-style: decimal; +} + +.markdown>ol li, +.markdown blockquote ol>li { + margin-left: 20px; + padding-left: 4px; +} + +.markdown code { + margin: 0 3px; + padding: 0 5px; + background: #eee; + border-radius: 3px; +} + +.markdown strong, +.markdown b { + font-weight: 600; +} + +.markdown>table { + border-collapse: collapse; + border-spacing: 0px; + empty-cells: show; + border: 1px solid #e9e9e9; + width: 95%; + margin-bottom: 24px; +} + +.markdown>table th { + white-space: nowrap; + color: #333; + font-weight: 600; +} + +.markdown>table th, +.markdown>table td { + border: 1px solid #e9e9e9; + padding: 8px 16px; + text-align: left; +} + +.markdown>table th { + background: #F7F7F7; +} + +.markdown blockquote { + font-size: 90%; + color: #999; + border-left: 4px solid #e9e9e9; + padding-left: 0.8em; + margin: 1em 0; +} + +.markdown blockquote p { + margin: 0; +} + +.markdown .anchor { + opacity: 0; + transition: opacity 0.3s ease; + margin-left: 8px; +} + +.markdown .waiting { + color: #ccc; +} + +.markdown h1:hover .anchor, +.markdown h2:hover .anchor, +.markdown h3:hover .anchor, +.markdown h4:hover .anchor, +.markdown h5:hover .anchor, +.markdown h6:hover .anchor { + opacity: 1; + display: inline-block; +} + +.markdown>br, +.markdown>p>br { + clear: both; +} + + +.hljs { + display: block; + background: white; + padding: 0.5em; + color: #333333; + overflow-x: auto; +} + +.hljs-comment, +.hljs-meta { + color: #969896; +} + +.hljs-string, +.hljs-variable, +.hljs-template-variable, +.hljs-strong, +.hljs-emphasis, +.hljs-quote { + color: #df5000; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-type { + color: #a71d5d; +} + +.hljs-literal, +.hljs-symbol, +.hljs-bullet, +.hljs-attribute { + color: #0086b3; +} + +.hljs-section, +.hljs-name { + color: #63a35c; +} + +.hljs-tag { + color: #333333; +} + +.hljs-title, +.hljs-attr, +.hljs-selector-id, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #795da3; +} + +.hljs-addition { + color: #55a532; + background-color: #eaffea; +} + +.hljs-deletion { + color: #bd2c00; + background-color: #ffecec; +} + +.hljs-link { + text-decoration: underline; +} + +/* 代码高亮 */ +/* PrismJS 1.15.0 +https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"]::-moz-selection, +pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, +code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b3d4fc; +} + +pre[class*="language-"]::selection, +pre[class*="language-"] ::selection, +code[class*="language-"]::selection, +code[class*="language-"] ::selection { + text-shadow: none; + background: #b3d4fc; +} + +@media print { + + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +:not(pre)>code[class*="language-"], +pre[class*="language-"] { + background: #f5f2f0; +} + +/* Inline code */ +:not(pre)>code[class*="language-"] { + padding: .1em; + border-radius: .3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} + +.token.punctuation { + color: #999; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #9a6e3a; + background: hsla(0, 0%, 100%, .5); +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} + +.token.function, +.token.class-name { + color: #DD4A68; +} + +.token.regex, +.token.important, +.token.variable { + color: #e90; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} diff --git a/public/css/iconColor/iconfont.css b/public/css/iconColor/iconfont.css new file mode 100644 index 000000000..9f49bbc01 --- /dev/null +++ b/public/css/iconColor/iconfont.css @@ -0,0 +1,133 @@ +@font-face { + font-family: "iconfontColor"; /* Project id 4313222 */ + /* Color fonts */ + src: + url('iconfont.woff2?t=1702282377802') format('woff2'), + url('iconfont.woff?t=1702282377802') format('woff'), + url('iconfont.ttf?t=1702282377802') format('truetype'); +} + +.iconfontColor { + font-family: "iconfontColor" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.iconcolor-a-zu1428:before { + content: "\e6e4"; +} + +.iconcolor-wenjianicon:before { + content: "\e6e5"; +} + +.iconcolor-biaotiicon:before { + content: "\e6e6"; +} + +.iconcolor-tuoguanicon:before { + content: "\e6df"; +} + +.iconcolor-zuicon:before { + content: "\e6e1"; +} + +.iconcolor-dailiicon:before { + content: "\e6e3"; +} + +.iconcolor-xuqiuicon:before { + content: "\e6dd"; +} + +.iconcolor-xiangmuliebiaoicon:before { + content: "\e6e2"; +} + +.iconcolor-renwuicon:before { + content: "\e6de"; +} + +.iconcolor-quexianicon:before { + content: "\e6e0"; +} + +.iconcolor-xuanzhong-daimakuicon:before { + content: "\e6d4"; +} + +.iconcolor-xuanzhong-wendangicon:before { + content: "\e6d5"; +} + +.iconcolor-xuanzhong-liushuixianicon:before { + content: "\e6d6"; +} + +.iconcolor-xuanzhong-xiangmuicon:before { + content: "\e6d7"; +} + +.iconcolor-xuanzhong-zhipinkuicon:before { + content: "\e6d8"; +} + +.iconcolor-xuanzhong-chengyuanicon:before { + content: "\e6d9"; +} + +.iconcolor-xuanzhong-shezhiicon:before { + content: "\e6da"; +} + +.iconcolor-xuanzhong-chanpinicon:before { + content: "\e6db"; +} + +.iconcolor-gongzuotaiicon:before { + content: "\e6dc"; +} + +.iconcolor-chanpinliebiaoicon:before { + content: "\e6d3"; +} + +.iconcolor-gengduoicon:before { + content: "\e60b"; +} + +.iconcolor-chengyuanicon:before { + content: "\e6c1"; +} + +.iconcolor-xuanzhong-gongzuotaiicon:before { + content: "\e6c2"; +} + +.iconcolor-wendangicon:before { + content: "\e6b9"; +} + +.iconcolor-xiangmuicon:before { + content: "\e6b8"; +} + +.iconcolor-zhipinkuicon:before { + content: "\e6ba"; +} + +.iconcolor-chanpinicon:before { + content: "\e6bb"; +} + +.iconcolor-shezhiicon:before { + content: "\e6bc"; +} + +.iconcolor-daimakuicon:before { + content: "\e6bd"; +} + diff --git a/public/css/iconColor/iconfont.js b/public/css/iconColor/iconfont.js new file mode 100644 index 000000000..c372fe1e7 --- /dev/null +++ b/public/css/iconColor/iconfont.js @@ -0,0 +1 @@ +window._iconfont_svg_string_4313222='',function(h){var a=(a=document.getElementsByTagName("script"))[a.length-1],l=a.getAttribute("data-injectcss"),a=a.getAttribute("data-disable-injectsvg");if(!a){var o,i,t,n,c,m=function(a,l){l.parentNode.insertBefore(a,l)};if(l&&!h.__iconfont__svg__cssinject__){h.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(a){console&&console.log(a)}}o=function(){var a,l=document.createElement("div");l.innerHTML=h._iconfont_svg_string_4313222,(l=l.getElementsByTagName("svg")[0])&&(l.setAttribute("aria-hidden","true"),l.style.position="absolute",l.style.width=0,l.style.height=0,l.style.overflow="hidden",l=l,(a=document.body).firstChild?m(l,a.firstChild):a.appendChild(l))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(o,0):(i=function(){document.removeEventListener("DOMContentLoaded",i,!1),o()},document.addEventListener("DOMContentLoaded",i,!1)):document.attachEvent&&(t=o,n=h.document,c=!1,p(),n.onreadystatechange=function(){"complete"==n.readyState&&(n.onreadystatechange=null,v())})}function v(){c||(c=!0,t())}function p(){try{n.documentElement.doScroll("left")}catch(a){return void setTimeout(p,50)}v()}}(window); \ No newline at end of file diff --git a/public/css/iconColor/iconfont.json b/public/css/iconColor/iconfont.json new file mode 100644 index 000000000..ccc2f4a76 --- /dev/null +++ b/public/css/iconColor/iconfont.json @@ -0,0 +1,212 @@ +{ + "id": "4313222", + "name": "项目管理系统-color", + "font_family": "iconfontColor", + "css_prefix_text": "iconcolor-", + "description": "项目管理系统彩色icon", + "glyphs": [ + { + "icon_id": "38315554", + "name": "组 1428", + "font_class": "a-zu1428", + "unicode": "e6e4", + "unicode_decimal": 59108 + }, + { + "icon_id": "38405284", + "name": "文件icon", + "font_class": "wenjianicon", + "unicode": "e6e5", + "unicode_decimal": 59109 + }, + { + "icon_id": "38405285", + "name": "标题icon", + "font_class": "biaotiicon", + "unicode": "e6e6", + "unicode_decimal": 59110 + }, + { + "icon_id": "38405286", + "name": "托管icon", + "font_class": "tuoguanicon", + "unicode": "e6df", + "unicode_decimal": 59103 + }, + { + "icon_id": "38405289", + "name": "组icon", + "font_class": "zuicon", + "unicode": "e6e1", + "unicode_decimal": 59105 + }, + { + "icon_id": "38405290", + "name": "代理icon", + "font_class": "dailiicon", + "unicode": "e6e3", + "unicode_decimal": 59107 + }, + { + "icon_id": "37938701", + "name": "需求icon", + "font_class": "xuqiuicon", + "unicode": "e6dd", + "unicode_decimal": 59101 + }, + { + "icon_id": "37938697", + "name": "项目列表icon", + "font_class": "xiangmuliebiaoicon", + "unicode": "e6e2", + "unicode_decimal": 59106 + }, + { + "icon_id": "37938700", + "name": "任务icon", + "font_class": "renwuicon", + "unicode": "e6de", + "unicode_decimal": 59102 + }, + { + "icon_id": "37938699", + "name": "缺陷icon", + "font_class": "quexianicon", + "unicode": "e6e0", + "unicode_decimal": 59104 + }, + { + "icon_id": "37708678", + "name": "选中-代码库icon", + "font_class": "xuanzhong-daimakuicon", + "unicode": "e6d4", + "unicode_decimal": 59092 + }, + { + "icon_id": "37708677", + "name": "选中-文档icon", + "font_class": "xuanzhong-wendangicon", + "unicode": "e6d5", + "unicode_decimal": 59093 + }, + { + "icon_id": "37708675", + "name": "选中-流水线icon", + "font_class": "xuanzhong-liushuixianicon", + "unicode": "e6d6", + "unicode_decimal": 59094 + }, + { + "icon_id": "37708676", + "name": "选中-项目icon", + "font_class": "xuanzhong-xiangmuicon", + "unicode": "e6d7", + "unicode_decimal": 59095 + }, + { + "icon_id": "37708674", + "name": "选中-制品库icon", + "font_class": "xuanzhong-zhipinkuicon", + "unicode": "e6d8", + "unicode_decimal": 59096 + }, + { + "icon_id": "37708673", + "name": "选中-成员icon", + "font_class": "xuanzhong-chengyuanicon", + "unicode": "e6d9", + "unicode_decimal": 59097 + }, + { + "icon_id": "37708672", + "name": "选中-设置icon", + "font_class": "xuanzhong-shezhiicon", + "unicode": "e6da", + "unicode_decimal": 59098 + }, + { + "icon_id": "37708671", + "name": "选中-产品icon", + "font_class": "xuanzhong-chanpinicon", + "unicode": "e6db", + "unicode_decimal": 59099 + }, + { + "icon_id": "37708670", + "name": "工作台icon", + "font_class": "gongzuotaiicon", + "unicode": "e6dc", + "unicode_decimal": 59100 + }, + { + "icon_id": "37708691", + "name": "产品列表icon", + "font_class": "chanpinliebiaoicon", + "unicode": "e6d3", + "unicode_decimal": 59091 + }, + { + "icon_id": "1919171", + "name": "菜单", + "font_class": "gengduoicon", + "unicode": "e60b", + "unicode_decimal": 58891 + }, + { + "icon_id": "37537539", + "name": "成员icon", + "font_class": "chengyuanicon", + "unicode": "e6c1", + "unicode_decimal": 59073 + }, + { + "icon_id": "37537538", + "name": "选中-工作台icon", + "font_class": "xuanzhong-gongzuotaiicon", + "unicode": "e6c2", + "unicode_decimal": 59074 + }, + { + "icon_id": "37537549", + "name": "文档icon", + "font_class": "wendangicon", + "unicode": "e6b9", + "unicode_decimal": 59065 + }, + { + "icon_id": "37537546", + "name": "项目icon", + "font_class": "xiangmuicon", + "unicode": "e6b8", + "unicode_decimal": 59064 + }, + { + "icon_id": "37537547", + "name": "制品库icon", + "font_class": "zhipinkuicon", + "unicode": "e6ba", + "unicode_decimal": 59066 + }, + { + "icon_id": "37537540", + "name": "产品icon", + "font_class": "chanpinicon", + "unicode": "e6bb", + "unicode_decimal": 59067 + }, + { + "icon_id": "37537545", + "name": "设置icon", + "font_class": "shezhiicon", + "unicode": "e6bc", + "unicode_decimal": 59068 + }, + { + "icon_id": "37537544", + "name": "代码库icon", + "font_class": "daimakuicon", + "unicode": "e6bd", + "unicode_decimal": 59069 + } + ] +} diff --git a/public/css/iconColor/iconfont.ttf b/public/css/iconColor/iconfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..660d45ed6e23e353a61973a1327b01098c8ac269 GIT binary patch literal 9780 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 literal 0 HcmV?d00001 diff --git a/public/css/iconColor/iconfont.woff2 b/public/css/iconColor/iconfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..c2f62b2bb1f60aaed527492b9f6bbdb27bd7e85d GIT binary patch literal 4384 zcmV+*5#R22Pew8T0RR9101+Sn3;+NC048hz01(dr0RR9100000000000000000000 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 aUZ!9OhG8RgS2o&74Owvr4;5Gd0{{R`S7Dq0 literal 0 HcmV?d00001 diff --git a/public/index.html b/public/index.html index 647288a0c..3360e474f 100755 --- a/public/index.html +++ b/public/index.html @@ -33,6 +33,7 @@ + diff --git a/src/App.js b/src/App.js index 1b20937d0..bb342cd1b 100644 --- a/src/App.js +++ b/src/App.js @@ -190,6 +190,7 @@ class App extends Component { this.unlisten = this.props.history.listen((location,history) => { // if(login && ) let newPathname = location.pathname.split('/')[1]; + console.log("---------------newpathname:",newPathname); if (this.state.pathName !== newPathname) { newPathname && this.getPathnameType(newPathname); } @@ -333,7 +334,7 @@ class App extends Component { this.Modifyloginvalue()}> {/* */} - {!pathName || (pathName && pathName.toLowerCase() !== 'glcc') ? : } + {/* {!pathName || (pathName && pathName.toLowerCase() !== 'glcc') ? : } */} {/* */} {/* wiki预览 */} diff --git a/src/AppConfig.js b/src/AppConfig.js index cf7fe8b6a..9ca6363a5 100644 --- a/src/AppConfig.js +++ b/src/AppConfig.js @@ -25,7 +25,7 @@ if (isDev) { } debugType = window.location.search.indexOf('debug=t') !== -1 ? 'teacher' : window.location.search.indexOf('debug=s') !== -1 ? 'student' : - window.location.search.indexOf('debug=a') !== -1 ? 'admin' : parsed.debug || 'admin' + window.location.search.indexOf('debug=a') !== -1 ? 'admin' : parsed.debug || '' } window._debugType = debugType; export function initAxiosInterceptors(props) { diff --git a/src/forge/About/index.scss b/src/forge/About/index.scss index a009b45de..da296cbbb 100644 --- a/src/forge/About/index.scss +++ b/src/forge/About/index.scss @@ -1,6 +1,7 @@ .aboutPanels{ - max-width: 1200px; - margin:0px auto; + // max-width: 1200px; + // margin:0px auto; + padding:0px 20px; .aboutContent{ border-radius: 2px; // border: 1px solid #EEEEEE; diff --git a/src/forge/Activity/activity.css b/src/forge/Activity/activity.css index c5d323224..9d5c2045c 100644 --- a/src/forge/Activity/activity.css +++ b/src/forge/Activity/activity.css @@ -18,8 +18,9 @@ padding-bottom: 20px!important; } .contentBox{ - width: 1200px; - margin:0px auto; + /* width: 1200px; + margin:0px auto; */ + padding:0px 20px; } .pageDIV{ text-align: center; diff --git a/src/forge/Head/Header.js b/src/forge/Head/Header.js index d1b785097..14daa4d85 100644 --- a/src/forge/Head/Header.js +++ b/src/forge/Head/Header.js @@ -101,8 +101,8 @@ class NewHeader extends Component { //退出账号 var url = `/accounts/logout.json`; axios.get((url)).then((result) => { - if (result !== undefined) { - window.location.href = "/"; + if (result) { + this.props.history.push("/login"); } }).catch((error) => { console.log(error); @@ -270,8 +270,14 @@ class NewHeader extends Component { const { current_user } = this.props; return( - + {/* {current_user && current_user.username} + */} + + 首页 + + + 代码库主页 { personal && personal.length > 0 && personal.map((item,key)=>{ @@ -281,7 +287,7 @@ class NewHeader extends Component { }) } {/*
  • 设置
  • */} - this.educoderloginysl()}>退出 + this.educoderloginysl()}>退出登录
    ) } @@ -319,14 +325,6 @@ class NewHeader extends Component { {...this.props} {...this.state} /> : ""} -
    - { - publicNav && - - ccf - - } -
    { settings && settings.nav_logo_url ? @@ -335,11 +333,10 @@ class NewHeader extends Component { : "" } - {/*
    */} { settings && settings.navbar && settings.navbar.length > 0 ?
      - { + {/* { settings.navbar && settings.navbar.map((item, key) => { var new_link = item.link; var is_hidden = item.hidden; @@ -373,13 +370,12 @@ class NewHeader extends Component { ) } }) - } + } */}
    : "" } - {/*
    */}
    - { search_url && } + {/* { search_url && } */} { current_user && (current_user.main_site || current_user.login) && (settings && settings.add && settings.add.length>0)? @@ -387,7 +383,7 @@ class NewHeader extends Component { :"" } - { (settings && settings.common && settings.common.notice) && (current_user && current_user.login)? + {/* { (settings && settings.common && settings.common.notice) && (current_user && current_user.login)? : "" - } + } */}
    {!user || (user && !user.login) ? -
    this.educoderlogin()} className="mr5 color-white">登录 + 登录 { (settings && settings.common && settings.common.register) ? publicNav ? @@ -419,9 +415,7 @@ class NewHeader extends Component { : - - 头像 - + 头像 } diff --git a/src/forge/Main/CoderDepot.jsx b/src/forge/Main/CoderDepot.jsx index c6cd4d56d..f0ce7f009 100644 --- a/src/forge/Main/CoderDepot.jsx +++ b/src/forge/Main/CoderDepot.jsx @@ -399,7 +399,7 @@ function CoderDepot(props){ {mirror_status ===0 && setOpenModal(false)} onOk={okUpdate}/> } - { + {/* { ((dirInfo || fileInfo) && mirror_status===0 ) && 目录 - } + } */}
    { projectDetail && diff --git a/src/forge/Main/Index.scss b/src/forge/Main/Index.scss index e85489432..8bfc76952 100644 --- a/src/forge/Main/Index.scss +++ b/src/forge/Main/Index.scss @@ -119,7 +119,8 @@ } // coderDepot .Panels{ - max-width: 1200px; + // max-width: 1200px; + padding:0px 20px; margin: 0 auto; .panelmenu{ padding-top:20px; @@ -501,8 +502,9 @@ } } .coderSubPage{ - width: 1200px; - margin:0px auto; + // width: 1200px; + // margin:0px auto; + padding:0px 20px; } .griditemAnchor{ margin-left: 0px!important; diff --git a/src/forge/Main/list.scss b/src/forge/Main/list.scss index 3232fc416..980753ad5 100644 --- a/src/forge/Main/list.scss +++ b/src/forge/Main/list.scss @@ -6,8 +6,9 @@ background-color: #050d34; } .ProjectListIndex{ - width: 1200px; - margin:20px auto; + // width: 1200px; + // margin:20px auto; + padding:20px; display: flex; align-items: flex-start; flex-wrap:wrap; diff --git a/src/forge/Main/sub/DetailBanner.jsx b/src/forge/Main/sub/DetailBanner.jsx index fc4196afd..a8460e4bb 100644 --- a/src/forge/Main/sub/DetailBanner.jsx +++ b/src/forge/Main/sub/DetailBanner.jsx @@ -52,7 +52,7 @@ function DetailBanner({ history,list , owner , projectsId ,showNotification , ur Array.isArray(menuName)&& menuName.map((item,key)=>{ return( - { + {/* { item.menu_name === "home" &&
  • @@ -60,7 +60,7 @@ function DetailBanner({ history,list , owner , projectsId ,showNotification , ur 主页
  • - } + } */} { item.menu_name === "code" &&
  • @@ -70,7 +70,7 @@ function DetailBanner({ history,list , owner , projectsId ,showNotification , ur
  • } - { + {/* { item.menu_name === "issues" &&
  • @@ -81,7 +81,7 @@ function DetailBanner({ history,list , owner , projectsId ,showNotification , ur {projectDetail && projectDetail.issues_count ? {numFormat(projectDetail.issues_count)} : ""}
  • - } + } */} { item.menu_name === "pulls" && projectDetail && parseInt(projectDetail.type) !== 2 && platform ?
  • @@ -93,17 +93,16 @@ function DetailBanner({ history,list , owner , projectsId ,showNotification , ur
  • :"" } {/* 引擎仅对当前仓库管理员可见 */} - { + {/* { item.menu_name === "devops" ?
  • - {/* */} 引擎(Engine)
    {projectDetail && projectDetail.ops_count ? {projectDetail.ops_count} : ""}
  • :"" - } + } */} {/* { item.menu_name === "resources" &&
  • @@ -114,7 +113,7 @@ function DetailBanner({ history,list , owner , projectsId ,showNotification , ur
  • } */} - { + {/* { item.menu_name === "versions" &&
  • @@ -123,8 +122,8 @@ function DetailBanner({ history,list , owner , projectsId ,showNotification , ur {projectDetail && projectDetail.versions_count ? {numFormat(projectDetail.versions_count)} :""}
  • - } - { + } */} + {/* { item.menu_name === "wiki" &&
  • @@ -141,7 +140,7 @@ function DetailBanner({ history,list , owner , projectsId ,showNotification , ur 服务
  • - } + } */} { item.menu_name === "activity" &&
  • diff --git a/src/forge/Merge/Index.scss b/src/forge/Merge/Index.scss index 476cc0d29..211b181f3 100644 --- a/src/forge/Merge/Index.scss +++ b/src/forge/Merge/Index.scss @@ -110,8 +110,9 @@ border-top: 1px solid #F3F4F6; } .mergeBox{ - margin:0px auto; - width: 1200px; + // margin:0px auto; + // width: 1200px; + padding:0px 20px; } .linetype{ width:30px; diff --git a/src/forge/New/Index.js b/src/forge/New/Index.js index f6ccc4d49..77d0ac38c 100644 --- a/src/forge/New/Index.js +++ b/src/forge/New/Index.js @@ -431,7 +431,7 @@ class Index extends Component { return (
    -
    {projectsType && projectsType === "mirror" ? "导入" : "新建"}项目
    +
    {projectsType && projectsType === "mirror" ? "导入" : "新建"}代码库
    @@ -448,7 +448,7 @@ class Index extends Component { required: true, message: '请填写镜像版本库地址' }], })( - + )}

    示例:https://github.com/Stability-AI/StableStudio.git

    @@ -460,7 +460,7 @@ class Index extends Component {

    需要授权验证 - 如果导入项目为私有仓库,{gitHubUrl ? `则需输入目标平台用户token进行授权,`:"则必须填写相应平台正确的用户名和密码"} + 如果导入代码库为私有仓库,{gitHubUrl ? `则需输入目标平台用户token进行授权,`:"则必须填写相应平台正确的用户名和密码"} {gitHubUrl && 如何获取token?}

    @@ -546,13 +546,13 @@ class Index extends Component { / {getFieldDecorator('name', { rules: [{ - required: true, message: '请填写项目名称' + required: true, message: '请填写代码库名称' }], })( // onBlur={this.changeName} @@ -560,28 +560,28 @@ class Index extends Component { 项目标识 (项目url标识部分)} + label={代码库标识 (代码库url标识部分)} colon={false} > {getFieldDecorator('repository_name', { rules: [{ - required: true, message: '请填写项目标识' + required: true, message: '请填写代码库标识' }], })( - + )}
    {descNum}/200 {getFieldDecorator('description', { rules: [], })( - + )}
    @@ -649,7 +649,7 @@ class Index extends Component { className="privatePart" > {getFieldDecorator('private')( - 将项目设为私有(只有项目所有人或拥有权限的项目成员才能看到) + 将代码库设为私有(只有代码库所有人或拥有权限的代码库成员才能看到) )} { @@ -667,7 +667,7 @@ class Index extends Component { className="privatePart" > {getFieldDecorator('categoreFlag')( - this.showCateFunc(e)}>项目类别 + this.showCateFunc(e)}>代码库类别 )} {categoreFlag && @@ -676,13 +676,13 @@ class Index extends Component { > {getFieldDecorator('project_category', { rules: [{ - required: categoreFlag, message: '请选择项目类别', + required: categoreFlag, message: '请选择代码库类别', }, { - validator: (rule, value, callback) => this.checkId(rule, value, callback, CategoryList, '项目类别') + validator: (rule, value, callback) => this.checkId(rule, value, callback, CategoryList, '代码库类别') }], })( this.ChangePlatform(value, e, 'project_category', CategoryList)} className="plateAutoComplete" onBlur={(value) => this.blurCategory(value, CategoryList, "project_category")} @@ -696,20 +696,20 @@ class Index extends Component { className="privatePart" > {getFieldDecorator('languageFlag')( - this.showLanguageFunc(e)}>项目语言 + this.showLanguageFunc(e)}>代码库语言 )} {languageFlag && {getFieldDecorator('project_language', { rules: [{ - required: languageFlag, message: '请选择项目语言' + required: languageFlag, message: '请选择代码库语言' }, { - validator: (rule, value, callback) => this.checkId(rule, value, callback, LanguageList, '项目语言') + validator: (rule, value, callback) => this.checkId(rule, value, callback, LanguageList, '代码库语言') }], })( this.ChangePlatform(value, e, 'project_language', LanguageList)} className="plateAutoComplete" onBlur={(value) => this.blurCategory(value, LanguageList, "project_language")} @@ -720,13 +720,13 @@ class Index extends Component { } - {/* 确权 仅在新建项目时 */} + {/* 确权 仅在新建代码库时 */} {open_blockchain && projectsType === "deposit" &&

    确权

    {this.setState({tokenConTri:e.target.checked})}}>加入贡献值激励确权机制
    {tokenConTri && {getFieldDecorator('blockchain_init', { rules: [{ @@ -742,7 +742,7 @@ class Index extends Component { } }}], })( - + )} }
    } @@ -751,7 +751,7 @@ class Index extends Component { 注: 为必填项,否则为选填
    - + window.history.back(-1)} className="btn_32">取消
    diff --git a/src/forge/SecuritySetting/Index.jsx b/src/forge/SecuritySetting/Index.jsx index d88cd3702..289f7a28d 100644 --- a/src/forge/SecuritySetting/Index.jsx +++ b/src/forge/SecuritySetting/Index.jsx @@ -143,17 +143,17 @@ function Index(props){
  • 基本资料
  • 账号管理
  • - {notice_url &&
      + {/* {notice_url &&
      • 消息通知
      • 我的通知
      • 通知管理
      • -
      } +
    } */}
    • 安全设置
    • SSH密钥
    • -
    • 我的CLA
    • + {/*
    • 我的CLA
    • */}
    -
      + {/*
      • Bot开发
      • 我的Bot
      • Bot安装
      • @@ -161,7 +161,7 @@ function Index(props){
        • 个人建站
        • 我的站点
        • -
        +
      */}
    diff --git a/src/forge/SecuritySetting/Index.scss b/src/forge/SecuritySetting/Index.scss index 6e139f070..620d7c5fb 100644 --- a/src/forge/SecuritySetting/Index.scss +++ b/src/forge/SecuritySetting/Index.scss @@ -1,9 +1,9 @@ .whiteBack{ background-color: #fff; .boies{ - width: 1200px; + // width: 1200px; margin:0px auto; - padding:30px 0px 10px; + padding:30px 20px 10px; .shortW{ width: 198px; border: 1px solid rgba(79, 108, 188, 0.21); diff --git a/src/forge/SecuritySetting/notice/myNotice/Index.scss b/src/forge/SecuritySetting/notice/myNotice/Index.scss index 7422fb5aa..91566678c 100644 --- a/src/forge/SecuritySetting/notice/myNotice/Index.scss +++ b/src/forge/SecuritySetting/notice/myNotice/Index.scss @@ -10,7 +10,7 @@ padding:0px; margin-right:34px!important; height: 34px; - width: 64px; + min-width: 64px; text-align: center; line-height: 0px; position: relative; diff --git a/src/forge/Settings/CollaboratorMember.jsx b/src/forge/Settings/CollaboratorMember.jsx index 0f407bf21..82446bc85 100644 --- a/src/forge/Settings/CollaboratorMember.jsx +++ b/src/forge/Settings/CollaboratorMember.jsx @@ -244,7 +244,7 @@ function CollaboratorMember({projectsId,owner,project_id,author,showNotification { this.props.confirm({ - content: "是否确认取消将此项目转移给他人?", + content: "是否确认取消将此代码库转移给他人?", onOk: () => { const { projectsId , owner } = this.props.match.params; const url = `/${owner}/${projectsId}/applied_transfer_projects/cancel.json`; @@ -290,18 +290,18 @@ class Setting extends Component { 基本设置 - + {getFieldDecorator("project_name", { rules: [ { required: true, - message: "请输入项目名称", + message: "请输入代码库名称", }, ], - })()} + })()} { projectDetail && projectDetail.type && projectDetail.type !== 0 ? - 该项目导入于 {projectDetail.mirror_url} + 该代码库导入于 {projectDetail.mirror_url} : "" } @@ -325,45 +325,45 @@ class Setting extends Component { 项目标识 (项目url标识部分,更改项目标识将导致原仓库地址失效)} + label={代码库标识 (代码库url标识部分,更改代码库标识将导致原仓库地址失效)} > {getFieldDecorator("project_identifier", { rules: [ { required: true, - message: "请输入项目标识", + message: "请输入代码库标识", }, ], })( - + )} - + {getFieldDecorator("project_description", { rules: [], })(