forked from Gitlink/forgeplus-react
Compare commits
14 Commits
Author | SHA1 | Date |
---|---|---|
caishi | c256887132 | |
caishi | 6a588db7f6 | |
caishi | 6c4e1c6665 | |
caishi | c554d2c00d | |
caishi | b69bf5974a | |
caishi | ecb1691b4d | |
caishi | 6a9f2b31a6 | |
caishi | 4947cd8456 | |
caishi | 8429effe16 | |
caishi | 49ebe450be | |
caishi | e3c926da77 | |
caishi | af48da2eb3 | |
caishi | 6630309466 | |
caishi | a7c3dee7e3 |
|
@ -499,7 +499,6 @@
|
|||
<option value="$PROJECT_DIR$/src/forge/Main/Detail.js" />
|
||||
<option value="$PROJECT_DIR$/src/forge/Main/CoderRootCommit.js" />
|
||||
<option value="$PROJECT_DIR$/src/forge/Activity/ActivityItem.js" />
|
||||
<option value="$PROJECT_DIR$/src/forge/Main/CoderRootDirectory.js" />
|
||||
<option value="$PROJECT_DIR$/src/forge/Branch/CloneAddress.js" />
|
||||
<option value="$PROJECT_DIR$/src/forge/Version/version.js" />
|
||||
<option value="$PROJECT_DIR$/public/css/css_min_all.css" />
|
||||
|
@ -1020,16 +1019,6 @@
|
|||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/forge/Main/CoderRootDirectory.js">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="153">
|
||||
<caret line="9" column="50" lean-forward="true" selection-start-line="9" selection-start-column="50" selection-end-line="9" selection-end-column="50" />
|
||||
<folding>
|
||||
<element signature="n#CoderRootDirectory#0" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/modules/user/usersInfo/InfosBanner.js">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="192">
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 8.8 KiB |
Binary file not shown.
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 27 KiB |
|
@ -10,7 +10,7 @@ import {
|
|||
import axios from 'axios';
|
||||
import LoginDialog from './modules/login/LoginDialog';
|
||||
import 'babel-polyfill';
|
||||
import Loading from './Loading'
|
||||
import Loading from './Loading';
|
||||
|
||||
import Loadable from 'react-loadable';
|
||||
import marked from './common/marked';
|
||||
|
|
|
@ -27,7 +27,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 || ''
|
||||
}
|
||||
function clearAllCookie() {
|
||||
cookie.remove('_educoder_session', { path: '/' });
|
||||
|
@ -56,7 +56,7 @@ window._debugType = debugType;
|
|||
export function initAxiosInterceptors(props) {
|
||||
initOnlineOfflineListener();
|
||||
var proxy = "http://localhost:3000";
|
||||
proxy = "https://testforgeplus.trustie.net";
|
||||
proxy = "http://192.168.1.37:3000";
|
||||
|
||||
const requestMap = {};
|
||||
window.setfalseInRequestMap = function (keyName) {
|
||||
|
|
|
@ -403,39 +403,13 @@ class NewHeader extends Component {
|
|||
visiblemyss: boll,
|
||||
})
|
||||
}
|
||||
|
||||
getAppdata = () => {
|
||||
try {
|
||||
var chromesettingArray = JSON.parse(localStorage.getItem('chromesetting'));
|
||||
var chromesettingresponseArray = JSON.parse(localStorage.getItem('chromesettingresponse'));
|
||||
this.setState({
|
||||
settings: chromesettingArray
|
||||
});
|
||||
if (chromesettingArray.tab_logo_url) {
|
||||
this.gettablogourldata(chromesettingresponseArray);
|
||||
} else {
|
||||
this.gettablogourlnull();
|
||||
}
|
||||
} catch (e) {
|
||||
this.geturlsdata();
|
||||
}
|
||||
};
|
||||
|
||||
geturlsdata = () => {
|
||||
let url = "/setting.json";
|
||||
axios.get(url).then((response) => {
|
||||
if (response && response.data) {
|
||||
this.setState({ settings: response.data.setting });
|
||||
// localStorage.setItem('chromesetting', JSON.stringify(response.data.setting));
|
||||
// localStorage.setItem('chromesettingresponse', JSON.stringify(response));
|
||||
try {
|
||||
if (response.data.setting.tab_logo_url) {
|
||||
this.gettablogourldata(response);
|
||||
} else {
|
||||
this.gettablogourlnull();
|
||||
}
|
||||
} catch (e) {
|
||||
this.gettablogourlnull();
|
||||
if (response.data.setting.tab_logo_url) {
|
||||
this.gettablogourldata(response);
|
||||
}
|
||||
} else {
|
||||
this.gettablogourlnull();
|
||||
|
@ -482,19 +456,14 @@ class NewHeader extends Component {
|
|||
}
|
||||
|
||||
render() {
|
||||
const { match} = this.props;
|
||||
const { match } = this.props;
|
||||
let current_user = this.props.user;
|
||||
let { Addcoursestypes,
|
||||
tojoinitemtype,
|
||||
tojoinclasstitle,
|
||||
code_notice,
|
||||
checked_notice,
|
||||
let {
|
||||
AccountProfiletype,
|
||||
submitapplications,
|
||||
submitapplicationsvalue,
|
||||
user,
|
||||
isRender,
|
||||
showSearchOpentype,
|
||||
headtypesonClickbool,
|
||||
headtypess,
|
||||
settings,
|
||||
|
@ -696,8 +665,8 @@ class NewHeader extends Component {
|
|||
<span className="font-15 ml30">
|
||||
<a onClick={() => this.educoderlogin()} className="mr5 color-grey-6">登录</a>
|
||||
{
|
||||
settings && settings.new_course && settings.new_course.register_url &&
|
||||
<span><em className="vertical-line"></em><a className="ml5 color-grey-6" href={`${settings.new_course.register_url}`} target="_blank">注册</a></span>
|
||||
settings && settings.common && settings.common.register &&
|
||||
<span><em className="vertical-line"></em><a className="ml5 color-grey-6" href={`${settings.common.register}`} target="_blank">注册</a></span>
|
||||
}
|
||||
</span>
|
||||
:
|
||||
|
|
|
@ -74,6 +74,7 @@ class CoderRootCommit extends Component{
|
|||
array.push({
|
||||
name:item.author && item.author.name,
|
||||
login: item.author && item.author.login,
|
||||
id: item.author && item.author.id,
|
||||
image_url:item.author && item.author.image_url,
|
||||
sha:item.sha,
|
||||
time_from_now:item.time_from_now,
|
||||
|
@ -136,10 +137,18 @@ class CoderRootCommit extends Component{
|
|||
<Link to={`/projects/${owner}/${projectsId}/commits/${truncateCommitId(`${item.sha}`)}`} className="flex1 ml20 font-16 color-grey-3">{item.message}</Link>
|
||||
</p>
|
||||
<p className="f-wrap-alignCenter mt15">
|
||||
<Link to={`/users/${item.login}`} className="show-user-link">
|
||||
{item.image_url?<img src={getImageUrl(`images/${item.image_url}`)} alt="" width="28px" height="28px" className="mr15 radius"/>:""}
|
||||
<label className="font-14 color-grey-6" style={{verticalAlign:'middle'}}>{item.name ?`${item.name}:`:""}提交于 {item.time_from_now}</label>
|
||||
</Link>
|
||||
{
|
||||
item.id ?
|
||||
<Link to={`/users/${item.login}`} className="show-user-link">
|
||||
{item.image_url?<img src={getImageUrl(`images/${item.image_url}`)} alt="" width="28px" height="28px" className="mr15 radius"/>:""}
|
||||
<label className="font-14 color-grey-6" style={{verticalAlign:'middle'}}>{item.name ?`${item.name}:`:""}提交于 {item.time_from_now}</label>
|
||||
</Link>:
|
||||
<span className="show-user-link">
|
||||
{item.image_url?<img src={getImageUrl(`images/${item.image_url}`)} alt="" width="28px" height="28px" className="mr15 radius"/>:""}
|
||||
<label className="font-14 color-grey-6" style={{verticalAlign:'middle'}}>{item.name ?`${item.name}:`:""}提交于 {item.time_from_now}</label>
|
||||
</span>
|
||||
}
|
||||
|
||||
</p>
|
||||
</div>
|
||||
)
|
||||
|
|
|
@ -13,10 +13,6 @@ const UploadFile = Loadable({
|
|||
loader: () => import('../Newfile/upload_file'),
|
||||
loading: Loading,
|
||||
})
|
||||
const CoderRootDirectory = Loadable({
|
||||
loader: () => import('./CoderRootDirectory'),
|
||||
loading: Loading,
|
||||
})
|
||||
const CoderRootCommit = Loadable({
|
||||
loader: () => import('./CoderRootCommit'),
|
||||
loading: Loading,
|
||||
|
|
|
@ -1,16 +1,121 @@
|
|||
import React from 'react';
|
||||
import React, { useEffect, useState } from 'react';
|
||||
import './Index.scss';
|
||||
import { Blueback , FlexAJ } from '../Component/layout';
|
||||
import { Dropdown, Input , Menu , Pagination } from 'antd';
|
||||
import { Link } from 'react-router-dom';
|
||||
import UploadSource from './UploadSource';
|
||||
|
||||
const { Search } = Input;
|
||||
const sort = [
|
||||
"按上传时间排序",
|
||||
"按下载次数排序",
|
||||
"按引用排序"
|
||||
]
|
||||
const limit = 15;
|
||||
function Index(props){
|
||||
const [ sortValue , setSortValue ] = useState(0);
|
||||
const [ page , setPage ] = useState(1);
|
||||
const [ total , setTotal ] = useState(0);
|
||||
const [ search , setSearch ] = useState(undefined);
|
||||
|
||||
const [ visible , setVisible ] = useState(false);
|
||||
|
||||
useEffect(()=>{
|
||||
|
||||
},[search,sort,page])
|
||||
|
||||
// 搜索
|
||||
function onSearch(value){
|
||||
setSearch(value);
|
||||
}
|
||||
|
||||
// 切换排序方式
|
||||
function changeSort(e,index){
|
||||
setSortValue(index);
|
||||
}
|
||||
|
||||
|
||||
const menu=(
|
||||
<Menu>
|
||||
{
|
||||
sort && sort.map((item,key)=>{
|
||||
return(
|
||||
<Menu.Item onClick={(e)=>changeSort(e,key)} value={key} className={key === sortValue ?"color-blue":""}>{item}</Menu.Item>
|
||||
)
|
||||
})
|
||||
}
|
||||
</Menu>
|
||||
)
|
||||
|
||||
const listmenu=(
|
||||
<Menu>
|
||||
<Menu.Item>更新版本</Menu.Item>
|
||||
<Menu.Item>设为私有</Menu.Item>
|
||||
<Menu.Item>删除资源</Menu.Item>
|
||||
</Menu>
|
||||
)
|
||||
|
||||
function onOk(){
|
||||
|
||||
}
|
||||
return(
|
||||
<div className="sourcePanel">
|
||||
<UploadSource visible={visible} onCancel={()=>setVisible(false)} onOk={onOk}/>
|
||||
<div className="headtitle">
|
||||
<FlexAJ>
|
||||
<span className="font-18">资源库</span>
|
||||
<Blueback>上传资源</Blueback>
|
||||
<span className="font-18">资源库(18)</span>
|
||||
<Blueback onClick={()=>setVisible(true)}>上传资源</Blueback>
|
||||
</FlexAJ>
|
||||
</div>
|
||||
<FlexAJ className="subHeadtitle">
|
||||
<Search
|
||||
placeholder="在项目内搜索资源"
|
||||
onSearch={onSearch}
|
||||
allowClear
|
||||
enterButton="搜索"
|
||||
width="220px"
|
||||
/>
|
||||
<Dropdown overlay={menu} placement="bottomRight">
|
||||
<span className="color-grey-9">{sort[sortValue]}<i className="iconfont icon-sanjiaoxing-down font-16 color-grey-9 ml3"></i></span>
|
||||
</Dropdown>
|
||||
</FlexAJ>
|
||||
<div className="bodycontent">
|
||||
<ul className="bodycontentul">
|
||||
<li>
|
||||
<Link to= {`/users/`} className="infoImg"><img src={`https://testforgeplus.trustie.net/images/avatars/User/b`} alt="" /></Link>
|
||||
<div style={{flex:'1',width:"0"}}>
|
||||
<FlexAJ>
|
||||
<a href={``} className="infoname">DaVinci.fdb</a>
|
||||
<Dropdown overlay={listmenu} placement={'bottomRight'}>
|
||||
<i className="iconfont icon-gengduo1 color-grey-6"></i>
|
||||
</Dropdown>
|
||||
</FlexAJ>
|
||||
<p className="infos">
|
||||
<span>上传时间:<span>2021-03-30</span></span>
|
||||
<span>上传类型:<span>软件版本</span></span>
|
||||
<span>文件大小:<span>10KB</span></span>
|
||||
<span>下载:<span>111</span></span>
|
||||
</p>
|
||||
<p className="infodesc task-hide-2">资源描述资源描述资源描述资源描述资源描述资源描述资源描述</p>
|
||||
<div className="infotag">
|
||||
<span>软件版本<i className="iconfont icon-guanbi font-12 ml2"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
{
|
||||
total > limit &&
|
||||
<div className="pt20 pb20 edu-txt-center">
|
||||
<Pagination
|
||||
simple
|
||||
current={page}
|
||||
pageSize={limit}
|
||||
total={total}
|
||||
onChange={(p)=>{setPage(p)}}
|
||||
/>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
|
|
@ -8,4 +8,69 @@
|
|||
padding:15px 20px;
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
.subHeadtitle{
|
||||
padding:15px 20px;
|
||||
border-bottom: 1px solid #eee;
|
||||
.ant-input-group-wrapper{
|
||||
width:320px;
|
||||
.ant-btn.ant-input-search-button{
|
||||
margin: 0px;
|
||||
margin-top: -1px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.bodycontent{
|
||||
padding:0px 20px;
|
||||
& > ul.bodycontentul > li{
|
||||
display: flex;
|
||||
border-bottom: 1px solid #eee;
|
||||
padding:20px 0px;
|
||||
align-items: flex-start;
|
||||
&:last-child{
|
||||
border-bottom: none;
|
||||
}
|
||||
.infoImg{
|
||||
img{
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
border-radius: 50%;
|
||||
}
|
||||
margin-right: 15px;
|
||||
}
|
||||
.infoname{
|
||||
font-size: 16px;
|
||||
}
|
||||
.infos{
|
||||
& > span{
|
||||
margin-right: 20px;
|
||||
color: #999;
|
||||
& >span{
|
||||
color: #666;
|
||||
}
|
||||
}
|
||||
}
|
||||
.infodesc{
|
||||
color: #666;
|
||||
line-height: 20px;
|
||||
margin:5px 0px!important;
|
||||
}
|
||||
.infotag{
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
span{
|
||||
display: block;
|
||||
padding:0px 4px;
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
font-size: 12px;
|
||||
margin-right: 10px;
|
||||
border: 1px solid #f8df8c;
|
||||
background: #fffce6;
|
||||
color: #0d90c3;
|
||||
border-radius: 2px;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
import React from 'react';
|
||||
import { Modal } from 'antd';
|
||||
|
||||
|
||||
function UploadSource({ visible , onCancel , onOk }){
|
||||
return(
|
||||
<Modal
|
||||
title={"上传资源"}
|
||||
closable={false}
|
||||
visible={visible}
|
||||
onCancel={onCancel}
|
||||
onOk={onOk}
|
||||
cancelText="取消"
|
||||
okText="确定"
|
||||
width="600px"
|
||||
centered
|
||||
>
|
||||
<div></div>
|
||||
</Modal>
|
||||
)
|
||||
}
|
||||
export default UploadSource;
|
Binary file not shown.
After Width: | Height: | Size: 27 KiB |
|
@ -1,34 +1,13 @@
|
|||
import React, {Component} from "react";
|
||||
import React, { Component } from "react";
|
||||
import moment from 'moment';
|
||||
import { SnackbarHOC,getImageUrl } from 'educoder';
|
||||
import { getImageUrl } from 'educoder';
|
||||
import '../courses/css/members.css';
|
||||
import "../courses/common/formCommon.css"
|
||||
import '../courses/css/Courses.css';
|
||||
import beijintulogontwo from '../../../src/images/login/beijintulogontwo.png';
|
||||
import educodernet from '../../../src/images/login/educodernet.png';
|
||||
import educodernet from '../../../src/images/login/logo.png';
|
||||
import LoginRegisterComponent from '../user/LoginRegisterComponent';
|
||||
import FindPasswordComponent from '../user/FindPasswordComponent';
|
||||
import passopen from "../../images/login/passopen.png";
|
||||
//educoder登入页面
|
||||
var sectionStyle = {
|
||||
"height": "100%",
|
||||
"width": "100%",
|
||||
"min-width": "1000px",
|
||||
// makesure here is String确保这里是一个字符串,以下是es6写法
|
||||
|
||||
|
||||
};
|
||||
var imgback = {
|
||||
" background-size":"cover",
|
||||
"background-repeat":"no-repeat",
|
||||
backgroundImage: `url(${beijintulogontwo})`,
|
||||
}
|
||||
var imgmian ={
|
||||
width: "100%",
|
||||
background: `url(${beijintulogontwo})`,
|
||||
position: "relative",
|
||||
|
||||
}
|
||||
|
||||
var newContainer={
|
||||
background: `url(${beijintulogontwo})`,
|
||||
|
@ -67,7 +46,6 @@ class EducoderLogin extends Component {
|
|||
|
||||
}
|
||||
}else if(props.match.url === "/register"){
|
||||
// showbool: 1,
|
||||
this.state = {
|
||||
showbool: 1,
|
||||
loginstatus:false,
|
||||
|
@ -84,23 +62,12 @@ class EducoderLogin extends Component {
|
|||
loginstatus:true,
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
// console.log("EducoderLogin");
|
||||
// console.log(this.props);
|
||||
}
|
||||
|
||||
Setlogins=(i)=>{
|
||||
console.log("96ye");
|
||||
console.log(i)
|
||||
this.setState({
|
||||
logini:i
|
||||
})
|
||||
|
||||
}
|
||||
gohome=()=>{
|
||||
window.location.href="/"
|
||||
|
@ -119,87 +86,39 @@ class EducoderLogin extends Component {
|
|||
|
||||
|
||||
render() {
|
||||
let {showbool,loginstatus,logini} = this.state;
|
||||
// console.log("EducoderLogingetHelmetapi");
|
||||
// console.log(this.props);
|
||||
// console.log(this.props.mygetHelmetapi);
|
||||
let { showbool } = this.state;
|
||||
const { settings } = this.props;
|
||||
return (
|
||||
<div style={newContainer} className=" clearfix" >
|
||||
|
||||
<div >
|
||||
<div style={{
|
||||
"display": "flex",
|
||||
"justify-content": "center",
|
||||
"align-items": "center",
|
||||
"width": "100%"
|
||||
}}>
|
||||
<div style={{cursor:"pointer"}}>
|
||||
{this.props.mygetHelmetapi === null ? ""
|
||||
:
|
||||
this.props.mygetHelmetapi===undefined||this.props.mygetHelmetapi.login_logo_url===null|| this.props.mygetHelmetapi.login_logo_url===undefined?
|
||||
<img style={{cursor:"pointer"}} onClick={()=>this.gohome()} src={educodernet}/>
|
||||
:
|
||||
<img style={{cursor:"pointer"}} onClick={()=>this.gohome()} src={getImageUrl(this.props.mygetHelmetapi.login_logo_url)}/>
|
||||
}
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div style={{"justify-content": "center","align-items": "center","width": "100%",textAlign:"center"}}>
|
||||
<div style={{cursor:"pointer"}}>
|
||||
{
|
||||
settings && settings.login_logo_url ?
|
||||
<img style={{cursor:"pointer"}} alt="" onClick={()=>this.gohome()} width="80px" src={getImageUrl(settings.login_logo_url)}/>
|
||||
:
|
||||
<img style={{cursor:"pointer"}} alt="" onClick={()=>this.gohome()} src={educodernet} width="80px"/>
|
||||
}
|
||||
</div>
|
||||
{
|
||||
showbool === 1 ?
|
||||
<div style={{
|
||||
display: "flex",
|
||||
justifyContent: "center",
|
||||
width: "100%",
|
||||
marginTop: "25px",
|
||||
}}>
|
||||
<div>
|
||||
|
||||
<LoginRegisterComponent {...this.props} {...this.state}
|
||||
Setshowbool={(e)=>this.Setshowbool(e)} ></LoginRegisterComponent>
|
||||
|
||||
</div>
|
||||
|
||||
<div style={{
|
||||
display: "flex",
|
||||
justifyContent: "center",
|
||||
width: "100%",
|
||||
marginTop: "25px",
|
||||
}}>
|
||||
<div>
|
||||
<LoginRegisterComponent {...this.props} {...this.state} Setshowbool={(e)=>this.Setshowbool(e)} ></LoginRegisterComponent>
|
||||
</div>
|
||||
</div>
|
||||
:
|
||||
<div style={{
|
||||
display: "flex",
|
||||
justifyContent: "center",
|
||||
width: "100%",
|
||||
marginTop: "25px",
|
||||
}}>
|
||||
<div >
|
||||
<FindPasswordComponent {...this.props} {...this.state}
|
||||
Setshowbool={(e)=>this.Setshowbool(e)}></FindPasswordComponent>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div style={{display: "flex",justifyContent: "center",width: "100%",marginTop: "25px",}}>
|
||||
<div>
|
||||
<FindPasswordComponent {...this.props} {...this.state} Setshowbool={(e)=>this.Setshowbool(e)}></FindPasswordComponent>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
{this.props.mygetHelmetapi === null ? <div style={{
|
||||
display: "flex",
|
||||
justifyContent: "center",
|
||||
width: "100%",
|
||||
}}>
|
||||
<div className="font-14 color-grey-9 " style={{marginTop:"20px"}}><span className="font-18">©</span> {moment().year()} EduCoder<span className="ml15 mr15">湘ICP备17009477号</span><a href="https://team.trustie.net" style={{"color":"#888"}} target="_blank">Trustie</a> & IntelliDE inside.</div>
|
||||
</div>:
|
||||
this.props.mygetHelmetapi===undefined||this.props.mygetHelmetapi.main_site===null|| this.props.mygetHelmetapi.main_site===undefined? <div style={{
|
||||
display: "flex",
|
||||
justifyContent: "center",
|
||||
width: "100%",
|
||||
}}>
|
||||
<div className="font-14 color-grey-9 " style={{marginTop:"20px"}}><span className="font-18">©</span> {moment().year()} EduCoder<span className="ml15 mr15">湘ICP备17009477号</span><a href="https://team.trustie.net" style={{"color":"#888"}} target="_blank">Trustie</a> & IntelliDE inside.</div>
|
||||
</div>:this.props.mygetHelmetapi.main_site===true?
|
||||
<div style={{
|
||||
display: "flex",
|
||||
justifyContent: "center",
|
||||
width: "100%",
|
||||
}}>
|
||||
<div className="font-14 color-grey-9 " style={{marginTop:"20px"}}><span className="font-18">©</span> {moment().year()} EduCoder<span className="ml15 mr15">湘ICP备17009477号</span><a href="https://team.trustie.net" style={{"color":"#888"}} target="_blank">Trustie</a> & IntelliDE inside.</div>
|
||||
</div>
|
||||
:""
|
||||
}
|
||||
|
||||
<div className="font-14 color-grey-9 " style={{marginTop:"20px"}}><span className="font-18">©</span> {moment().year()} Trustie<span className="ml15 mr15">湘ICP备17009477号</span><a href="https://team.trustie.net" style={{"color":"#888"}} target="_blank">Trustie</a> & IntelliDE inside.</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
|
|
|
@ -1,13 +1,7 @@
|
|||
import React, { Component } from 'react';
|
||||
import { Redirect } from 'react-router';
|
||||
|
||||
import Dialog, {
|
||||
DialogActions,
|
||||
DialogContent,
|
||||
DialogContentText,
|
||||
DialogTitle,
|
||||
} from 'material-ui/Dialog';
|
||||
import { notification, Modal } from 'antd';
|
||||
import Dialog from 'material-ui/Dialog';
|
||||
import { notification } from 'antd';
|
||||
|
||||
import axios from 'axios';
|
||||
|
||||
|
@ -329,6 +323,7 @@ class LoginDialog extends Component {
|
|||
return flag;
|
||||
}
|
||||
componentDidMount() {
|
||||
|
||||
let flag = this.IsPC(); //true为PC端,false为手机端
|
||||
this.setState({
|
||||
isphone: flag
|
||||
|
@ -478,6 +473,7 @@ class LoginDialog extends Component {
|
|||
let { qqlogin, login, isGoing, isGoingValue, disabled, bottonclass, Phonenumberisnotco,
|
||||
dialogBox, isRender, weixinlogin } = this.state;
|
||||
|
||||
let { settings } = this.props;
|
||||
if (isRender === undefined) {
|
||||
isRender = false
|
||||
}
|
||||
|
@ -580,9 +576,9 @@ class LoginDialog extends Component {
|
|||
<label htmlFor="p_autolog" style={{ top: '0px' }}>下次自动登录</label>
|
||||
</span>
|
||||
<span className="fr">
|
||||
<a onClick={(url) => this.getloginurl("https://www.trustie.net/account/lost_password")}
|
||||
className="mr3 color-grey-9">找回密码</a><em className="vertical-line"></em>
|
||||
<a onClick={(url) => this.getloginurl("https://www.trustie.net/login?login=false")} className="color-grey-9">注册</a>
|
||||
<a onClick={(url) => this.getloginurl(`${settings && settings.common && settings.common.lost_password}`)} className="mr3 color-grey-9">找回密码</a>
|
||||
<em className="vertical-line"></em>
|
||||
<a onClick={(url) => this.getloginurl(`${settings && settings.common && settings.common.register}`)} className="color-grey-9">注册</a>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
|
|
|
@ -812,16 +812,16 @@ class NewHeader extends Component {
|
|||
<span className="font-15">
|
||||
<a onClick={() => this.educoderlogin()} className="mr5 color-grey-6">登录</a>
|
||||
{
|
||||
settings && settings.new_course && settings.new_course.register_url &&
|
||||
<span><em className="vertical-line"></em><a className="ml5 color-grey-6" href={`${settings.new_course.register_url}`} target="_blank">注册</a></span>
|
||||
settings && settings.common && settings.common.register &&
|
||||
<span><em className="vertical-line"></em><a className="ml5 color-grey-6 3333" href={`${settings.common.register}`} target="_blank">注册</a></span>
|
||||
}
|
||||
</span>
|
||||
: user.login === "" ?
|
||||
<span className="font-15">
|
||||
<a onClick={() => this.educoderlogin()} className="mr5 color-grey-6">登录</a>
|
||||
{
|
||||
settings && settings.new_course && settings.new_course.register_url &&
|
||||
<span><em className="vertical-line"></em><a className="color-grey-6 ml5" href={`${settings.new_course.register_url}`} target="_blank">注册</a></span>
|
||||
settings && settings.common && settings.common.register &&
|
||||
<span><em className="vertical-line"></em><a className="color-grey-6 ml5 111" href={`${settings.common.register}`} target="_blank">注册</a></span>
|
||||
}
|
||||
</span>
|
||||
:
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue