diff --git a/public/css/iconfont.css b/public/css/iconfont.css
index f877beb85..a08e1df9d 100644
--- a/public/css/iconfont.css
+++ b/public/css/iconfont.css
@@ -1,8 +1,8 @@
@font-face {
font-family: "iconfont"; /* Project id 2340181 */
- src: url('iconfont.woff2?t=1727340588188') format('woff2'),
- url('iconfont.woff?t=1727340588188') format('woff'),
- url('iconfont.ttf?t=1727340588188') format('truetype');
+ src: url('iconfont.woff2?t=1743578721658') format('woff2'),
+ url('iconfont.woff?t=1743578721658') format('woff'),
+ url('iconfont.ttf?t=1743578721658') format('truetype');
}
.iconfont {
@@ -13,6 +13,78 @@
-moz-osx-font-smoothing: grayscale;
}
+.icon-yincang3:before {
+ content: "\e986";
+}
+
+.icon-shoujihao:before {
+ content: "\e987";
+}
+
+.icon-xianshi1:before {
+ content: "\e988";
+}
+
+.icon-mima:before {
+ content: "\e989";
+}
+
+.icon-paixu:before {
+ content: "\e98a";
+}
+
+.icon-jiantou_xiangyou:before {
+ content: "\e98b";
+}
+
+.icon-a-fork1:before {
+ content: "\e98c";
+}
+
+.icon-dianzan1:before {
+ content: "\e983";
+}
+
+.icon-yonghuming:before {
+ content: "\e984";
+}
+
+.icon-youxiang2:before {
+ content: "\e985";
+}
+
+.icon-tongzhi1:before {
+ content: "\e981";
+}
+
+.icon-xinzeng:before {
+ content: "\e982";
+}
+
+.icon-a-fenzhi1:before {
+ content: "\e980";
+}
+
+.icon-yunxiazai:before {
+ content: "\e97b";
+}
+
+.icon-lunwen1:before {
+ content: "\e97c";
+}
+
+.icon-zhuanli2:before {
+ content: "\e97d";
+}
+
+.icon-jiantou2:before {
+ content: "\e97e";
+}
+
+.icon-jiantou-you-cuxiantiao:before {
+ content: "\e97f";
+}
+
.icon-gongxianquequan:before {
content: "\e979";
}
diff --git a/public/css/iconfont.js b/public/css/iconfont.js
index 433c5d5f1..3d1bd6bdf 100644
--- a/public/css/iconfont.js
+++ b/public/css/iconfont.js
@@ -1 +1 @@
-window._iconfont_svg_string_2340181='',(c=>{var a=(l=(l=document.getElementsByTagName("script"))[l.length-1]).getAttribute("data-injectcss"),l=l.getAttribute("data-disable-injectsvg");if(!l){var h,i,o,z,t,p=function(a,l){l.parentNode.insertBefore(a,l)};if(a&&!c.__iconfont__svg__cssinject__){c.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(a){console&&console.log(a)}}h=function(){var a,l=document.createElement("div");l.innerHTML=c._iconfont_svg_string_2340181,(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?p(l,a.firstChild):a.appendChild(l))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(h,0):(i=function(){document.removeEventListener("DOMContentLoaded",i,!1),h()},document.addEventListener("DOMContentLoaded",i,!1)):document.attachEvent&&(o=h,z=c.document,t=!1,m(),z.onreadystatechange=function(){"complete"==z.readyState&&(z.onreadystatechange=null,v())})}function v(){t||(t=!0,o())}function m(){try{z.documentElement.doScroll("left")}catch(a){return void setTimeout(m,50)}v()}})(window);
\ No newline at end of file
+window._iconfont_svg_string_2340181='',(c=>{var a=(l=(l=document.getElementsByTagName("script"))[l.length-1]).getAttribute("data-injectcss"),l=l.getAttribute("data-disable-injectsvg");if(!l){var h,i,o,z,t,p=function(a,l){l.parentNode.insertBefore(a,l)};if(a&&!c.__iconfont__svg__cssinject__){c.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(a){console&&console.log(a)}}h=function(){var a,l=document.createElement("div");l.innerHTML=c._iconfont_svg_string_2340181,(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?p(l,a.firstChild):a.appendChild(l))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(h,0):(i=function(){document.removeEventListener("DOMContentLoaded",i,!1),h()},document.addEventListener("DOMContentLoaded",i,!1)):document.attachEvent&&(o=h,z=c.document,t=!1,m(),z.onreadystatechange=function(){"complete"==z.readyState&&(z.onreadystatechange=null,v())})}function v(){t||(t=!0,o())}function m(){try{z.documentElement.doScroll("left")}catch(a){return void setTimeout(m,50)}v()}})(window);
\ No newline at end of file
diff --git a/public/css/iconfont.json b/public/css/iconfont.json
index 4ebfc428b..8739aca81 100644
--- a/public/css/iconfont.json
+++ b/public/css/iconfont.json
@@ -5,6 +5,132 @@
"css_prefix_text": "icon-",
"description": "",
"glyphs": [
+ {
+ "icon_id": "43884585",
+ "name": "隐藏",
+ "font_class": "yincang3",
+ "unicode": "e986",
+ "unicode_decimal": 59782
+ },
+ {
+ "icon_id": "43884586",
+ "name": "手机号",
+ "font_class": "shoujihao",
+ "unicode": "e987",
+ "unicode_decimal": 59783
+ },
+ {
+ "icon_id": "43884583",
+ "name": "显示",
+ "font_class": "xianshi1",
+ "unicode": "e988",
+ "unicode_decimal": 59784
+ },
+ {
+ "icon_id": "43884584",
+ "name": "密码",
+ "font_class": "mima",
+ "unicode": "e989",
+ "unicode_decimal": 59785
+ },
+ {
+ "icon_id": "43884582",
+ "name": "排序",
+ "font_class": "paixu",
+ "unicode": "e98a",
+ "unicode_decimal": 59786
+ },
+ {
+ "icon_id": "43884581",
+ "name": "箭头_向右",
+ "font_class": "jiantou_xiangyou",
+ "unicode": "e98b",
+ "unicode_decimal": 59787
+ },
+ {
+ "icon_id": "43884580",
+ "name": "fork (1)",
+ "font_class": "a-fork1",
+ "unicode": "e98c",
+ "unicode_decimal": 59788
+ },
+ {
+ "icon_id": "43884589",
+ "name": "点赞",
+ "font_class": "dianzan1",
+ "unicode": "e983",
+ "unicode_decimal": 59779
+ },
+ {
+ "icon_id": "43884587",
+ "name": "用户名",
+ "font_class": "yonghuming",
+ "unicode": "e984",
+ "unicode_decimal": 59780
+ },
+ {
+ "icon_id": "43884588",
+ "name": "邮箱",
+ "font_class": "youxiang2",
+ "unicode": "e985",
+ "unicode_decimal": 59781
+ },
+ {
+ "icon_id": "43788877",
+ "name": "通知",
+ "font_class": "tongzhi1",
+ "unicode": "e981",
+ "unicode_decimal": 59777
+ },
+ {
+ "icon_id": "43788876",
+ "name": "新增",
+ "font_class": "xinzeng",
+ "unicode": "e982",
+ "unicode_decimal": 59778
+ },
+ {
+ "icon_id": "39410543",
+ "name": "分支 (1)",
+ "font_class": "a-fenzhi1",
+ "unicode": "e980",
+ "unicode_decimal": 59776
+ },
+ {
+ "icon_id": "42234576",
+ "name": "云下载",
+ "font_class": "yunxiazai",
+ "unicode": "e97b",
+ "unicode_decimal": 59771
+ },
+ {
+ "icon_id": "42234575",
+ "name": "论文",
+ "font_class": "lunwen1",
+ "unicode": "e97c",
+ "unicode_decimal": 59772
+ },
+ {
+ "icon_id": "42234574",
+ "name": "专利",
+ "font_class": "zhuanli2",
+ "unicode": "e97d",
+ "unicode_decimal": 59773
+ },
+ {
+ "icon_id": "42234573",
+ "name": "箭头",
+ "font_class": "jiantou2",
+ "unicode": "e97e",
+ "unicode_decimal": 59774
+ },
+ {
+ "icon_id": "42234572",
+ "name": "箭头-右-粗线条",
+ "font_class": "jiantou-you-cuxiantiao",
+ "unicode": "e97f",
+ "unicode_decimal": 59775
+ },
{
"icon_id": "41876673",
"name": "贡献确权",
diff --git a/public/css/iconfont.ttf b/public/css/iconfont.ttf
index 30b005296..4ac42ebf3 100644
Binary files a/public/css/iconfont.ttf and b/public/css/iconfont.ttf differ
diff --git a/public/css/iconfont.woff b/public/css/iconfont.woff
index fad2a7bab..c5be9a366 100644
Binary files a/public/css/iconfont.woff and b/public/css/iconfont.woff differ
diff --git a/public/css/iconfont.woff2 b/public/css/iconfont.woff2
index d8eab05f1..b65e7f7af 100644
Binary files a/public/css/iconfont.woff2 and b/public/css/iconfont.woff2 differ
diff --git a/src/App.js b/src/App.js
index 74c1fcbab..06bfc4431 100644
--- a/src/App.js
+++ b/src/App.js
@@ -7,7 +7,7 @@ import {
Switch
} from 'react-router-dom';
import axios from 'axios';
-import LoginDialog from './modules/login/LoginDialog';
+import LoginDialog from './modules/loginRegister/dissertion';
// import 'babel-polyfill';
import Loading from './Loading';
@@ -103,7 +103,7 @@ const ProjectIndex = Loadable({
});
const Home = Loadable({
- loader: () => import('./home/Index'),
+ loader: () => import('./home/dissertionHome'),
loading: Loading,
})
diff --git a/src/common/util/ShareUtil.js b/src/common/util/ShareUtil.js
index e8ffd8886..e4724ae33 100644
--- a/src/common/util/ShareUtil.js
+++ b/src/common/util/ShareUtil.js
@@ -21,6 +21,7 @@ function share(shareData) {
}
const urlDoneMap = {}
function requestForSignatrue (callback) {
+ return
const currentUrl = window.location.href.split('#')[0]
if (window.wx) {
diff --git a/src/forge/Dataset/component/new.jsx b/src/forge/Dataset/component/new.jsx
index 272b23842..5506315f9 100644
--- a/src/forge/Dataset/component/new.jsx
+++ b/src/forge/Dataset/component/new.jsx
@@ -106,7 +106,7 @@ function New(props){
,
)}
-
+ {/*
{getFieldDecorator('license_id', {
rules: [{
validator: (rule, value, callback) => checkId(rule, value, callback, licensesList, '开源许可证')
@@ -127,7 +127,7 @@ function New(props){
}
)}
-
+ */}
{getFieldDecorator('description', {
rules: [
@@ -139,11 +139,11 @@ function New(props){
,
)}
-
+ {/*
{getFieldDecorator('paper_content', {rules:[]})(
,
)}
-
+ */}
diff --git a/src/forge/Head/Header.js b/src/forge/Head/Header.js
index f36eebae9..3f14187b9 100644
--- a/src/forge/Head/Header.js
+++ b/src/forge/Head/Header.js
@@ -6,7 +6,7 @@ import cookie from 'react-cookies';
import { notification , Dropdown ,Popover, Menu,Badge } from 'antd';
import { Link } from 'react-router-dom';
-import LoginDialog from '../../modules/login/LoginDialog';
+import LoginDialog from '../../modules/loginRegister/dissertion';
import HeadSearch from '../Component/HeadSearch';
import AddProjectModal from './AddProjectModal';
@@ -84,15 +84,11 @@ class NewHeader extends Component {
// }
}
- educoderlogin = () => {
+ educoderlogin = (type="login") => {
//登录账号
- if(window.location.pathname === "/"){
- window.location.href="/login";
- }else{
- this.setState({
- isRender: true
- })
- }
+ this.setState({
+ isRender: type
+ })
}
educoderloginysl = () => {
//退出账号时清除登录页面的下次自动登录(用户再次打开登录页面时下次自动登录框不勾选)
@@ -306,7 +302,7 @@ class NewHeader extends Component {
return (
- {
+ {/* {
inviteCode &&
- }
+ } */}
{
lesson_url &&
@@ -699,11 +699,11 @@ function CoderDepot(props){
/>
}
- {__CLIENT__ && projectDetail && projectDetail.project_id && !projectDetail.private &&
}
+ {/* {__CLIENT__ && projectDetail && projectDetail.project_id && !projectDetail.private &&
} */}
{/* 贡献者 */}
{mirror_status ===0 &&
}
{/* 项目画像: 导入/fork项目不展示, open_portrait后台配置是否开启仓库 */}
- {__CLIENT__ && projectDetail && !projectDetail.type && !projectDetail.forked_from_project_id && project && project.open_portrait &&
}
+ {/* {__CLIENT__ && projectDetail && !projectDetail.type && !projectDetail.forked_from_project_id && project && project.open_portrait && } */}
{/* 语言 */}
{ mirror_status ===0 && }
diff --git a/src/forge/Main/Detail.js b/src/forge/Main/Detail.js
index 932372ded..bd48d27e1 100644
--- a/src/forge/Main/Detail.js
+++ b/src/forge/Main/Detail.js
@@ -475,6 +475,11 @@ class Detail extends Component {
// 关注和取消关注
focusFunc = (flag) => {
+ const { current_user , showLoginDialog } = this.props;
+ if(current_user && !current_user.login){
+ showLoginDialog();
+ return
+ }
const { platform } = this.state;
if (!platform) return;
@@ -499,6 +504,11 @@ class Detail extends Component {
// 点赞和取消点赞
pariseFunc = (flag) => {
+ const { current_user , showLoginDialog } = this.props;
+ if(current_user && !current_user.login){
+ showLoginDialog();
+ return
+ }
const { platform } = this.state;
if (!platform) return;
const { project_id } = this.state;
@@ -704,7 +714,7 @@ class Detail extends Component {
: ""
}
-
+ {/*
复刻(Fork)
@@ -720,7 +730,7 @@ class Detail extends Component {
{forked_count}
: ""
}
-
+ */}
}
diff --git a/src/forge/Main/sub/DetailBanner.jsx b/src/forge/Main/sub/DetailBanner.jsx
index dc3dd8e89..cf49e9f1d 100644
--- a/src/forge/Main/sub/DetailBanner.jsx
+++ b/src/forge/Main/sub/DetailBanner.jsx
@@ -53,7 +53,7 @@ function DetailBanner({ history,list , owner , projectsId ,showNotification , ur
Array.isArray(menuName)&& menuName.map((item,key)=>{
return(
- {
+ {/* {
item.menu_name === "home" &&
@@ -61,7 +61,7 @@ function DetailBanner({ history,list , owner , projectsId ,showNotification , ur
主页
- }
+ } */}
{
item.menu_name === "code" &&
@@ -71,7 +71,7 @@ function DetailBanner({ history,list , owner , projectsId ,showNotification , ur
}
- {
+ {/* {
item.menu_name === "issues" &&
@@ -92,18 +92,18 @@ function DetailBanner({ history,list , owner , projectsId ,showNotification , ur
{projectDetail && projectDetail.pull_requests_count ? {numFormat(projectDetail.pull_requests_count)} : ""}
:""
- }
+ } */}
{/* 引擎仅对当前仓库管理员可见 */}
{
- item.menu_name === "devops" ?
-
- {/* */}
-
- 引擎(Engine)
- {projectDetail && projectDetail.ops_count ? {projectDetail.ops_count} : ""}
-
-
- :""
+ // item.menu_name === "devops" ?
+ //
+ // {/* */}
+ //
+ // 引擎(Engine)
+ // {/*projectDetail && projectDetail.ops_count ? {projectDetail.ops_count} : ""*/}
+ //
+ //
+ // :""
}
{
item.menu_name === "dataset" ?
@@ -125,7 +125,7 @@ function DetailBanner({ history,list , owner , projectsId ,showNotification , ur
} */}
- {
+ {/* {
item.menu_name === "versions" &&
@@ -134,7 +134,7 @@ function DetailBanner({ history,list , owner , projectsId ,showNotification , ur
{projectDetail && projectDetail.versions_count ? {numFormat(projectDetail.versions_count)} :""}
- }
+ } */}
{
item.menu_name === "wiki" &&
@@ -144,7 +144,7 @@ function DetailBanner({ history,list , owner , projectsId ,showNotification , ur
}
- {
+ {/* {
item.menu_name === "services" &&
@@ -161,7 +161,7 @@ function DetailBanner({ history,list , owner , projectsId ,showNotification , ur
动态
- }
+ } */}
{
item.menu_name === "settings" && platform &&
diff --git a/src/forge/New/Index.js b/src/forge/New/Index.js
index 392eb4c7c..ad75a927b 100644
--- a/src/forge/New/Index.js
+++ b/src/forge/New/Index.js
@@ -74,7 +74,7 @@ class Index extends Component {
this.updateDocumentTitle();
// 获取拥有者列表
this.getOwner();
- //判断是否为删除新建项目失败后返回,并执行对应逻辑
+ //判断是否为删除新建仓库失败后返回,并执行对应逻辑
this.isDeleteProjectBack();
}
componentDidUpdate=(prevPros)=>{
@@ -88,7 +88,7 @@ class Index extends Component {
// 更新网页标题
updateDocumentTitle(){
const { projectsType } = this.props.match.params;
- document.title = `${projectsType && projectsType === "mirror" ? "导入" : "新建"}项目`;
+ document.title = `${projectsType && projectsType === "mirror" ? "导入" : "新建"}仓库`;
}
getOwner=()=>{
@@ -172,7 +172,7 @@ class Index extends Component {
if (mirror_status === 2 && sessionStorage.newProjectValue) {
Modal.warning({
title: '警告',
- content: '项目导入失败!请按操作规范重新导入项目!',
+ content: '仓库导入失败!请按操作规范重新导入仓库!',
});
let newProjectValue = JSON.parse(sessionStorage.newProjectValue);
if (newProjectValue) {
@@ -221,7 +221,7 @@ class Index extends Component {
licenseFlag , categoreFlag, languageFlag, tokenConTri, isPrivate,isToken} = this.state;
const decoderPass = Base64.encode(values.password);
const url = (projectsType && projectsType === "mirror") ? "/projects/migrate.json" : "/projects.json";
- // 新建项目的时候,暂存数据,如果失败,返回的时候可以重新赋值
+ // 新建仓库的时候,暂存数据,如果失败,返回的时候可以重新赋值
sessionStorage.newProjectValue=JSON.stringify({...values,project_language_id,project_category_id,license_id,ignore_id});
// 贡献值激励确权机制
const {blockchain_init} = values;
@@ -242,7 +242,7 @@ class Index extends Component {
importType:undefined
}).then((result) => {
if (result && result.data.id) {
- projectsType && projectsType !== "mirror" && this.props.showNotification(`项目创建成功!`);
+ projectsType && projectsType !== "mirror" && this.props.showNotification(`仓库创建成功!`);
setTimeout(() => {
this.props.history.push({pathname: `/${result.data.login}/${result.data.identifier}`, query:{showNps: true}});
}, 500);
@@ -301,7 +301,7 @@ class Index extends Component {
ChangeAddr=(value,unUpdateName)=>{
- // 将路径最后一个/后的字符作为项目标识
+ // 将路径最后一个/后的字符作为仓库标识
if(value.indexOf("/") > -1 && !unUpdateName){
let arr = value.split("/");
let first = arr[arr.length-1];
@@ -337,7 +337,7 @@ class Index extends Component {
showCateFunc =(e)=>{
const { CategoryList } = this.state;
this.setState({categoreFlag:e.target.checked});
- // 获取项目类别
+ // 获取仓库类别
if(e.target.checked && (!CategoryList || (CategoryList && CategoryList.length===0))){
this.getCategory();
}
@@ -345,7 +345,7 @@ class Index extends Component {
showLanguageFunc =(e)=>{
const { LanguageList } = this.state;
this.setState({languageFlag:e.target.checked});
- // 获取项目语言
+ // 获取仓库语言
if(e.target.checked && (!LanguageList || (LanguageList && LanguageList.length===0))){
this.getLanguage();
}
@@ -432,7 +432,7 @@ class Index extends Component {
render() {
const { getFieldDecorator } = this.props.form;
- // 项目类型:deposit-托管项目,mirror-镜像项目
+ // 仓库类型:deposit-托管仓库,mirror-镜像仓库
const { projectsType } = this.props.match.params;
const {current_user:{open_blockchain}} = this.props;
@@ -466,7 +466,7 @@ class Index extends Component {
return (
-
{projectsType && projectsType === "mirror" ? "导入" : "新建"}项目
+
{projectsType && projectsType === "mirror" ? "导入" : "新建"}仓库
+
*/}
-
);
}
diff --git a/src/forge/Newfile/upload_file.js b/src/forge/Newfile/upload_file.js
index a7e9d43c2..1c93c9080 100644
--- a/src/forge/Newfile/upload_file.js
+++ b/src/forge/Newfile/upload_file.js
@@ -35,11 +35,13 @@ class UploadFile extends Component {
// 获取上传后的文件id数组
UploadFunc = (fileList) => {
- this.setState({
- filename: fileList.fileName,
- editorValue: fileList.fileContent,
- contentEmpty:fileList.fileContent?false:true
- });
+ if(fileList){
+ this.setState({
+ filename: fileList.fileName,
+ editorValue: fileList.fileContent,
+ contentEmpty:fileList.fileContent?false:true
+ });
+ }
};
checkContent=(flag)=>{
diff --git a/src/forge/SecuritySetting/Index.jsx b/src/forge/SecuritySetting/Index.jsx
index d88cd3702..abac54ca1 100644
--- a/src/forge/SecuritySetting/Index.jsx
+++ b/src/forge/SecuritySetting/Index.jsx
@@ -143,17 +143,17 @@ function Index(props){
基本资料
账号管理
- {notice_url && } */}
-
+ {/*
- Bot开发
- 我的Bot
- Bot安装
@@ -161,7 +161,7 @@ function Index(props){
+
*/}
diff --git a/src/forge/Settings/Index.js b/src/forge/Settings/Index.js
index 220e12bb8..4bffefc11 100644
--- a/src/forge/Settings/Index.js
+++ b/src/forge/Settings/Index.js
@@ -65,7 +65,7 @@ class Index extends Component {
- - -1 ? "active" : ""
}
@@ -76,8 +76,8 @@ class Index extends Component {
成员管理
-
- - */}
+ {/*
- -1 ? "active" : ""
}
@@ -88,7 +88,7 @@ class Index extends Component {
网络钩子
-
+ */}
- -1 ? "active" : ""
@@ -111,7 +111,7 @@ class Index extends Component {
*/}
- - -1 ? "active" : ""}
>
@@ -120,7 +120,7 @@ class Index extends Component {
已安装Bot
-
+ */}
{/* -
将仓库设为私有
-
+ {/*
{ forked_from_project_id ?`(Fork仓库的可见性实时同步自源仓库,不支持直接修改)`:`(修改仓库的可见性,将会影响到该仓库下所有Fork仓库的可见性)`}
-
+ */}
)}
@@ -354,7 +354,7 @@ class Setting extends Component {
/>
)}
-
+ {/*
{getFieldDecorator("project_category_id", {
rules: [],
})(
@@ -373,27 +373,24 @@ class Setting extends Component {
{LanguageList}
)}
-
- 访问权限:
-
- 合并请求(PR)
-
- {getFieldDecorator("pr_view_admin", {
- rules: [],
- })(
-
- 仅管理员可见
- {/*
- (合并请求(PR))
- */}
-
- )}
-
-
+ */}
+ {/* 访问权限:
+
+ 合并请求(PR)
+
+ {getFieldDecorator("pr_view_admin", {
+ rules: [],
+ })(
+
+ 仅管理员可见
+
+ )}
+
+ */}
{getFieldDecorator("project_units", {
rules: [],
diff --git a/src/forge/Wiki/components/Login/index.jsx b/src/forge/Wiki/components/Login/index.jsx
index abfa52957..4b498e68a 100644
--- a/src/forge/Wiki/components/Login/index.jsx
+++ b/src/forge/Wiki/components/Login/index.jsx
@@ -1,6 +1,6 @@
import React, { useState } from 'react';
import * as ReactDOM from 'react-dom';
-import LoginDialog from '../../../../modules/login/LoginDialog';
+import LoginDialog from '../../../../modules/loginRegister/dissertion';
// 使用函数调用登录组件
export default function Login(props) {
diff --git a/src/forge/Wiki/page/edit.jsx b/src/forge/Wiki/page/edit.jsx
index d6a2cfe71..c1e2f8b7c 100644
--- a/src/forge/Wiki/page/edit.jsx
+++ b/src/forge/Wiki/page/edit.jsx
@@ -185,7 +185,7 @@ export default Form.create()((props) => {
/>)}
- 添加模版
+ {/* 添加模版
{template.map(item=>{
return {
@@ -203,7 +203,7 @@ export default Form.create()((props) => {
})
}}>{item.name}
})}
-
+ */}
diff --git a/src/forge/users/Infos.js b/src/forge/users/Infos.js
index 7e60cd5a6..35ab0d046 100644
--- a/src/forge/users/Infos.js
+++ b/src/forge/users/Infos.js
@@ -386,9 +386,9 @@ class Infos extends Component {
this.chooseTab("6")}>个人简介
}
this.chooseTab("0")}>活动概览
- 数据统计
+ {/* 数据统计 */}
参与项目
- {
+ {/* {
current_user && user && user.login === current_user.login ?
@@ -396,22 +396,22 @@ class Infos extends Component {
{undo_events && undo_events >0 ? ({undo_events}):""}
:""
- }
+ } */}
{/* {
current_user && current_user.login && current_user.login === username ?
DevOps引擎
:""
} */}
-
+ {/*
参与组织
{ user && user.user_org_count && user.user_org_count > 0 ? ({user.user_org_count}):""}
-
+ */}
{/* 当前用户+配置了贡献确权 */}
- {current_user && user && user.login === current_user.login && current_user.open_blockchain &&
+ {/* {current_user && user && user.login === current_user.login && current_user.open_blockchain &&
贡献确权
- }
+ } */}
}
{user && (
diff --git a/src/home/dissertionHome/image/banner.png b/src/home/dissertionHome/image/banner.png
new file mode 100644
index 000000000..8382c432d
Binary files /dev/null and b/src/home/dissertionHome/image/banner.png differ
diff --git a/src/home/dissertionHome/image/bk.png b/src/home/dissertionHome/image/bk.png
new file mode 100644
index 000000000..83c863957
Binary files /dev/null and b/src/home/dissertionHome/image/bk.png differ
diff --git a/src/home/dissertionHome/image/bk1.png b/src/home/dissertionHome/image/bk1.png
new file mode 100644
index 000000000..e69635f35
Binary files /dev/null and b/src/home/dissertionHome/image/bk1.png differ
diff --git a/src/home/dissertionHome/image/bk2.png b/src/home/dissertionHome/image/bk2.png
new file mode 100644
index 000000000..1bc486927
Binary files /dev/null and b/src/home/dissertionHome/image/bk2.png differ
diff --git a/src/home/dissertionHome/image/bk3.png b/src/home/dissertionHome/image/bk3.png
new file mode 100644
index 000000000..7665ed1c0
Binary files /dev/null and b/src/home/dissertionHome/image/bk3.png differ
diff --git a/src/home/dissertionHome/image/bk4.png b/src/home/dissertionHome/image/bk4.png
new file mode 100644
index 000000000..79c739838
Binary files /dev/null and b/src/home/dissertionHome/image/bk4.png differ
diff --git a/src/home/dissertionHome/image/dianzan.png b/src/home/dissertionHome/image/dianzan.png
new file mode 100644
index 000000000..8fb3404af
Binary files /dev/null and b/src/home/dissertionHome/image/dianzan.png differ
diff --git a/src/home/dissertionHome/image/time.png b/src/home/dissertionHome/image/time.png
new file mode 100644
index 000000000..309fb1396
Binary files /dev/null and b/src/home/dissertionHome/image/time.png differ
diff --git a/src/home/dissertionHome/index.jsx b/src/home/dissertionHome/index.jsx
new file mode 100644
index 000000000..4b97612cb
--- /dev/null
+++ b/src/home/dissertionHome/index.jsx
@@ -0,0 +1,142 @@
+import React , { useEffect , useState } from 'react';
+import { Button, Divider, Dropdown, Icon, Input, Menu, Pagination } from 'antd';
+import { TPMIndexHOC } from '../../modules/tpm/TPMIndexHOC';
+import {platformDataStatistics} from './static';
+import bk1 from './image/bk1.png';
+import bk2 from './image/bk2.png';
+import "./index.scss";
+import axios from 'axios';
+import { getImageUrl } from '../../common/UrlTool';
+import { Link } from 'react-router-dom';
+
+function Index(props) {
+ const { current_user={} } = props;
+ const {user_id} = current_user;
+ const name = props && props.mygetHelmetapi && props.mygetHelmetapi.name ;
+ const LIMIT = 14;
+ const [ page , setPage ] = useState(1);
+ const [sort, setSort] = useState("updated_on");
+ const [ search , setSearch ] = useState(undefined);
+ const [ projectsList , setProjectsList ] = useState(undefined);
+ const [ total, setTotal] = useState(undefined);
+ const [statistics, setStatistics] = useState(undefined);
+
+ useEffect(()=>{
+ axios.get(`/home/index.json`).then(res=>{
+ console.log('res', res);
+ if(res && res.data && res.data.statistics_data){
+ setStatistics(res.data.statistics_data);
+ }
+ })
+ }, [])
+
+ useEffect(()=>{
+ name && (document.title = name)
+ }, [name])
+
+ useEffect(()=>{
+ getProject();
+ }, [search, page, sort])
+
+ function getProject() {
+ const url = `/projects.json`;
+ axios.get(url,{
+ params:{
+ user_id: user_id,
+ page,
+ pinned:"d",
+ limit:LIMIT,
+ search:search,
+ sort_by: sort
+ }
+ }).then(result=>{
+ if(result && result.data){
+ setProjectsList(result.data.projects);
+ setTotal(result.data.total_count);
+ }
+ }).catch(()=>{})
+ }
+
+ return(
+
+
+
汇聚海量学术资源
+
汇聚海量学术资源,涵盖前沿研究、经典文献与多元数据,为探索者提供无尽知识宝藏,助力科研突破,激发创新灵感,开启学术新旅程。
+
+ {statistics && platformDataStatistics.map(item=>{
+ return
+
{statistics[item.key]}
+ {item.title}
+
+ })}
+
+
+
+

+
+
+
+
成果汇聚,智慧共享
+
携手汇聚各方智慧结晶,共享创新成果,激发无限可能,开启智慧新未来。
+
+
+ {setSearch(value)}} allowClear/>
+ {current_user && current_user.login &&
+ 新建项目
+ 导入项目
+
+ }>
+
+ }
+ {setSort(key)}} selectedKeys={[sort]}>
+ 更新时间排序
+ 创建时间排序
+ 点赞数量排序
+
+ }>
+
+
+
+
+
+
+ {projectsList && projectsList.map(item => {
+ const {author={}} = item;
+ return
+
+
+ {item.last_update_time ?
+
+ {item.time_ago}更新
+ : ""}
+ {
+ item.praises_count && item.praises_count > 0 ?
+
+
+ 赞 {item.praises_count}
+ : ""
+ }
+
+
+ })}
+
+
setPage(page)} showQuickJumper hideOnSinglePage className='dissertion_projects_Pagination'/>
+
+
+

+
+ )
+}
+export default TPMIndexHOC(Index);
\ No newline at end of file
diff --git a/src/home/dissertionHome/index.scss b/src/home/dissertionHome/index.scss
new file mode 100644
index 000000000..aef007778
--- /dev/null
+++ b/src/home/dissertionHome/index.scss
@@ -0,0 +1,110 @@
+
+.dissertion_homePage_banner{
+ color: #FFFFFF;
+ height: 413px;
+ padding-top: 80px;
+ background-image: url('./image/banner.png');
+ background-size: 100% 100%;
+ position: relative;
+ z-index: 10;
+ .dataStatistics{
+ justify-content: center;
+ }
+ .statistics{
+ color: #FFBF6C;
+ font-family: YouSheBiaoTiHei;
+ line-height: 70px;
+ }
+}
+.dissertion_homePage{
+ padding-bottom: 100px;
+ .projects_bg_box{
+ position: relative;
+ min-height: 60vh;
+ }
+ .dissertion_projects{
+ width: 1200px;
+ margin: 0 auto;
+ position: relative;
+ z-index: 20;
+ padding-top: 50px;
+ }
+ .dissertion_bk1, .dissertion_bk2{
+ position: absolute;
+ width: 100%;
+ }
+ .dissertion_bk1{
+ top: -78px;
+ }
+ .dissertion_bk2{
+ bottom: -250px;
+ }
+}
+.dissertion_projects_flex{
+ flex-wrap: wrap;
+ .dissertion_project{
+ width: 48.5%;
+ height: 126px;
+ background: #FFFFFF;
+ border-radius: 8px;
+ background-image: url('./image/bk.png');
+ background-size: 100% 100%;
+ border: 2px solid;
+ border-color: white white $primary-color white;
+ flex-direction: column;
+ justify-content: center;
+ padding: 0 25px;
+ }
+ .d-p-photo-a{
+ width: 44px;
+ height: 44px;
+ border-radius: 50%;
+ border: 1px solid $primary-color;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-shrink: 0;
+ }
+ .d-p-photo{
+ width: 36px;
+ height: 36px;
+ border-radius: 50%;
+ }
+ .d-p-infos{
+ padding-left: 63px;
+ margin-top: 12px;
+ }
+ .parise_tag{
+ background: #FFFFFF;
+ border-radius: 4px;
+ color: #27254C;
+ padding: 0px 10px;
+ }
+}
+.dissertion_projects_Pagination{
+ text-align: right;
+}
+.color727{
+ color: #72748E
+}
+.color020{
+ color: #020814
+}
+.color5A6{
+ color: #5A6782
+}
+.color828{
+ color: #8284A4
+}
+.opacity86{
+ opacity: 86%;
+}
+.letter-spacing-10{
+ letter-spacing: 10px;
+}
+.space-between{
+ justify-content: space-between;
+}
+.align-items-center{
+ align-items: center;
+}
\ No newline at end of file
diff --git a/src/home/dissertionHome/static.js b/src/home/dissertionHome/static.js
new file mode 100644
index 000000000..1d0a50f9e
--- /dev/null
+++ b/src/home/dissertionHome/static.js
@@ -0,0 +1,18 @@
+export const platformDataStatistics = [
+ {
+ key: "user_count",
+ title: "平台用户"
+ },
+ {
+ key: "project_count",
+ title: "仓库个数"
+ },
+ {
+ key: "project_dataset_count",
+ title: "数据集总数"
+ },
+ {
+ key: "commit_count",
+ title: "提交总次数"
+ }
+]
\ No newline at end of file
diff --git a/src/modules/loginRegister/component/index.scss b/src/modules/loginRegister/component/index.scss
new file mode 100644
index 000000000..e0d2a980e
--- /dev/null
+++ b/src/modules/loginRegister/component/index.scss
@@ -0,0 +1,17 @@
+.loginRegisterFormItem{
+ .ant-input-lg{
+ height: 44px;
+ padding-left: 60px !important;
+ }
+ .ant-input-affix-wrapper .ant-input-prefix{
+ background: none !important;
+ }
+ .ant-form-item-label{
+ line-height: normal;
+ margin-bottom: 10px;
+ }
+ .ant-form-item-label > label{
+ color: #30396B;
+ font-size: 15px;
+ }
+}
\ No newline at end of file
diff --git a/src/modules/loginRegister/component/login.jsx b/src/modules/loginRegister/component/login.jsx
new file mode 100644
index 000000000..a53660086
--- /dev/null
+++ b/src/modules/loginRegister/component/login.jsx
@@ -0,0 +1,35 @@
+import { Divider, Form, Input } from "antd"
+import { Fragment } from "react"
+import { prefix } from "./register";
+import './index.scss';
+
+export default ({ getFieldDecorator }) => {
+ return
+
+ {getFieldDecorator('username', {
+ rules: [
+ {
+ required: true,
+ message: "请输入手机号/邮箱/用户名"
+ }
+ ],
+ validateTrigger: "onBlur",
+ })()}
+
+
+ {getFieldDecorator('password', {
+ rules: [
+ {
+ required: true,
+ message: "请输入登录密码"
+ },
+ {
+ pattern: /^[^\s]{8,16}$/,
+ message: '密码必须为8-16位且不能包含空格',
+ }
+ ],
+ validateTrigger: "onBlur",
+ })()}
+
+
+}
\ No newline at end of file
diff --git a/src/modules/loginRegister/component/register.jsx b/src/modules/loginRegister/component/register.jsx
new file mode 100644
index 000000000..adb415b97
--- /dev/null
+++ b/src/modules/loginRegister/component/register.jsx
@@ -0,0 +1,60 @@
+import { Divider, Form, Input } from "antd"
+import { Fragment } from "react"
+import './index.scss';
+
+export const prefix = (iconfontName) =>
+
+export default ({getFieldDecorator, type}) => {
+ return
+
+ {getFieldDecorator('register_username', {
+ rules: [
+ {
+ required: true,
+ message: "请输入用户名"
+ }
+ ],
+ validateTrigger: "onBlur",
+ })()}
+
+ {type === "registerByPhone" ?
+ {getFieldDecorator('phone', {
+ rules: [
+ {
+ required: true,
+ message: "请输入手机号码"
+ },
+ { pattern: /(^|\s*\+?0?0?86|\D)(1\d{2})[-\s]{0,3}(\d{4})[-\s]{0,3}(\d{4})(?=\D|$)/, message: "请输入正确的手机号码" }
+ ],
+ validateTrigger: "onBlur",
+ })()}
+ :
+ {getFieldDecorator('email', {
+ rules: [
+ {
+ required: true,
+ message: "请输入邮箱号"
+ },
+ { pattern: /^[a-zA-Z0-9]+([.\-_\\]*[a-zA-Z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/, message: "请输入正确的邮箱号" }
+ ],
+ validateTrigger: "onBlur",
+ validateFirst: true,
+ })()}
+ }
+
+ {getFieldDecorator('password', {
+ rules: [
+ {
+ required: true,
+ message: "请输入登录密码"
+ },
+ {
+ pattern: /^[^\s]{8,16}$/,
+ message: '密码必须为8-16位且不能包含空格',
+ }
+ ],
+ validateTrigger: "onBlur",
+ })()}
+
+
+}
\ No newline at end of file
diff --git a/src/modules/loginRegister/dissertion/image/left.png b/src/modules/loginRegister/dissertion/image/left.png
new file mode 100644
index 000000000..297485b51
Binary files /dev/null and b/src/modules/loginRegister/dissertion/image/left.png differ
diff --git a/src/modules/loginRegister/dissertion/image/logo.png b/src/modules/loginRegister/dissertion/image/logo.png
new file mode 100644
index 000000000..1d31b1122
Binary files /dev/null and b/src/modules/loginRegister/dissertion/image/logo.png differ
diff --git a/src/modules/loginRegister/dissertion/image/logo1.png b/src/modules/loginRegister/dissertion/image/logo1.png
new file mode 100644
index 000000000..75f6e5d1a
Binary files /dev/null and b/src/modules/loginRegister/dissertion/image/logo1.png differ
diff --git a/src/modules/loginRegister/dissertion/image/right.png b/src/modules/loginRegister/dissertion/image/right.png
new file mode 100644
index 000000000..79c739838
Binary files /dev/null and b/src/modules/loginRegister/dissertion/image/right.png differ
diff --git a/src/modules/loginRegister/dissertion/index.jsx b/src/modules/loginRegister/dissertion/index.jsx
new file mode 100644
index 000000000..519128720
--- /dev/null
+++ b/src/modules/loginRegister/dissertion/index.jsx
@@ -0,0 +1,110 @@
+import React, { useState } from "react";
+import { Button, Checkbox, Form, Modal } from "antd";
+import logo from './image/logo.png';
+import logo1 from './image/logo1.png';
+import cookie from 'react-cookies';
+import './index.scss';
+import axios from "axios";
+import { Encrypt } from "../../../common/Env";
+import Register from "../component/register";
+import LoginFormItems from "../component/login";
+
+function Login(prosps){
+ const {Modifyloginvalue, isRender, form, gopage} = prosps;
+ const {getFieldDecorator } = form;
+ const [type, setType] = useState(isRender || "login");
+ const [message, setMessage] = useState(undefined);
+
+ function closeModal(){
+ Modifyloginvalue();
+ }
+
+ return }>
+
+
+

+
+
让数据托管使用更简单
+
汇聚学院群智成果,覆盖多领域研究需求
+
基于git形式源代码存储,便于版本管理
+
数据加密存储,安全守护学术成果
+
+
+
+
+

+
欢迎{type=== "login" ? "使用" : "注册"}学位论文算法库
+
+
+
+
+
+}
+
+export default Form.create()(Login);
\ No newline at end of file
diff --git a/src/modules/loginRegister/dissertion/index.scss b/src/modules/loginRegister/dissertion/index.scss
new file mode 100644
index 000000000..306ce5c7b
--- /dev/null
+++ b/src/modules/loginRegister/dissertion/index.scss
@@ -0,0 +1,91 @@
+.dissertion_login_modal{
+ .ant-modal-close{
+ right: -55px;
+ top: -18px !important;
+ }
+ .ant-modal-body{
+ padding: 0;
+ }
+}
+.dissertion_login{
+ min-height: 700px;
+}
+.dissertion_login_left{
+ width: 450px;
+ background-size: 100% 100%;
+ background-image: linear-gradient( 180deg, #1773D9 0%, #3640CF 100%), url('./image/left.png');
+ background-repeat: no-repeat;
+ background-position: right bottom;
+ background-blend-mode: overlay;
+ .intro_login{
+ width: 70%;
+ margin: 130px 0 0 55px;
+ }
+}
+.login_register{
+ flex: 1;
+ background-size: 100% 100%;
+ background-image: url('./image/right.png');
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ padding: 0 50px;
+ .dissertion_form{
+ .message{
+ color: #f5222d;
+ }
+ }
+ .onOK{
+ width: 100%;
+ height: 48px;
+ font-size: 16px;
+ }
+ .register_type{
+ width: 50%;
+ display: inline-block;
+ text-align: center;
+ padding-bottom: 15px;
+ border-bottom: 1px solid #d3d8e8;
+ color: #3D4859;
+ &.active{
+ color: $primary-color;
+ border-bottom: 2px solid $primary-color;
+ }
+ }
+}
+.opacity80{
+ opacity: 0.8
+}
+.colorWhite{
+ color: white;
+}
+.colorABA{
+ color: #ABADC6
+}
+.font-45{
+ font-size: 45px;
+}
+.themeColor{
+ color: $primary-color;
+}
+.letter-spacing-3{
+ letter-spacing: 3px;
+}
+.mr7{
+ margin-right: 7px;
+}
+.fangkuai{
+ width: 10px;
+ height: 10px;
+ display: inline-block;
+ background: #FFFFFF;
+ border-radius: 2px;
+ opacity: 0.95;
+ margin-right: 5px;
+}
+.space-between{
+ justify-content: space-between;
+}
+.align-items-center{
+ align-items: center;
+}
\ No newline at end of file
diff --git a/src/modules/tpm/TPMIndex.css b/src/modules/tpm/TPMIndex.css
index 5570511ac..e6c07b5d6 100644
--- a/src/modules/tpm/TPMIndex.css
+++ b/src/modules/tpm/TPMIndex.css
@@ -34,7 +34,7 @@ body>.-task-title {
}
.newHeaders.publicNav{
position: absolute;
- background: rgba(27, 36, 64,0.2);
+ background: rgba(27, 36, 64,0);
}
.headerContent{
margin:0px auto;
diff --git a/src/modules/tpm/TPMIndexHOC.js b/src/modules/tpm/TPMIndexHOC.js
index 27e179a02..ef0c17f4f 100644
--- a/src/modules/tpm/TPMIndexHOC.js
+++ b/src/modules/tpm/TPMIndexHOC.js
@@ -4,7 +4,7 @@ import NewFooter from '../../forge/Head/Footer';
import axios from 'axios';
import { Spin } from 'antd';
import './TPMIndex.css';
-import LoginDialog from '../login/LoginDialog';
+import LoginDialog from '../loginRegister/dissertion';
import EducoderAccount from '../../forge/Component/EducoderAccount';
import ProfileModal from '../../forge/Component/ProfileModal/Index';
import SupplyPhoneModal from '../../forge/Component/ProfileModal/SupplyPhone';
@@ -215,7 +215,7 @@ export function TPMIndexHOC(WrappedComponent) {
showLoginDialog = (gopage) => {
this.setState({
- isRender: true,
+ isRender: "login",
isloginCancel: "iscancel",
gopage: gopage,
})
@@ -298,7 +298,7 @@ export function TPMIndexHOC(WrappedComponent) {
let pathCheck = path.indexOf("/zone")>-1 && path.indexOf("/newdetail")>-1 && isPhone();
return (
- {(!path || (path && !path.includes('glcc') )) && }
+ {/* {(!path || (path && !path.includes('glcc') )) && } */}
- {isRender === true ? this.hideLoginDialog()}
{...this.props}
{...this.state}