forked from Gitlink/forgeplus-react
新版首页和头部
This commit is contained in:
parent
e557182a48
commit
3b9e24a9f8
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<title>IconFont Demo</title>
|
||||
<link rel="shortcut icon" href="https://gtms04.alicdn.com/tps/i4/TB1_oz6GVXXXXaFXpXXJDFnIXXX-64-64.ico" type="image/x-icon"/>
|
||||
<link rel="shortcut icon" href="https://img.alicdn.com/tps/i4/TB1_oz6GVXXXXaFXpXXJDFnIXXX-64-64.ico" type="image/x-icon"/>
|
||||
<link rel="stylesheet" href="https://g.alicdn.com/thx/cube/1.3.2/cube.min.css">
|
||||
<link rel="stylesheet" href="demo.css">
|
||||
<link rel="stylesheet" href="iconfont.css">
|
||||
|
@ -30,6 +30,54 @@
|
|||
<div class="content unicode" style="display: block;">
|
||||
<ul class="icon_lists dib-box">
|
||||
|
||||
<li class="dib">
|
||||
<span class="icon iconfont"></span>
|
||||
<div class="name">项目类别</div>
|
||||
<div class="code-name">&#xe751;</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<span class="icon iconfont"></span>
|
||||
<div class="name">点赞</div>
|
||||
<div class="code-name">&#xe752;</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<span class="icon iconfont"></span>
|
||||
<div class="name">项目类型</div>
|
||||
<div class="code-name">&#xe750;</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<span class="icon iconfont"></span>
|
||||
<div class="name">选中</div>
|
||||
<div class="code-name">&#xe74b;</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<span class="icon iconfont"></span>
|
||||
<div class="name">未选中</div>
|
||||
<div class="code-name">&#xe74d;</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<span class="icon iconfont"></span>
|
||||
<div class="name">复制</div>
|
||||
<div class="code-name">&#xe74a;</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<span class="icon iconfont"></span>
|
||||
<div class="name">设置</div>
|
||||
<div class="code-name">&#xe74e;</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<span class="icon iconfont"></span>
|
||||
<div class="name">编辑-优化icon</div>
|
||||
<div class="code-name">&#xe749;</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<span class="icon iconfont"></span>
|
||||
<div class="name">多行公式</div>
|
||||
|
@ -2180,6 +2228,78 @@
|
|||
<div class="content font-class">
|
||||
<ul class="icon_lists dib-box">
|
||||
|
||||
<li class="dib">
|
||||
<span class="icon iconfont icon-xiangmuleibie"></span>
|
||||
<div class="name">
|
||||
项目类别
|
||||
</div>
|
||||
<div class="code-name">.icon-xiangmuleibie
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<span class="icon iconfont icon-ziyuan1"></span>
|
||||
<div class="name">
|
||||
点赞
|
||||
</div>
|
||||
<div class="code-name">.icon-ziyuan1
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<span class="icon iconfont icon-xiangmuleixing"></span>
|
||||
<div class="name">
|
||||
项目类型
|
||||
</div>
|
||||
<div class="code-name">.icon-xiangmuleixing
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<span class="icon iconfont icon-xuanzhong"></span>
|
||||
<div class="name">
|
||||
选中
|
||||
</div>
|
||||
<div class="code-name">.icon-xuanzhong
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<span class="icon iconfont icon-weixuanzhong"></span>
|
||||
<div class="name">
|
||||
未选中
|
||||
</div>
|
||||
<div class="code-name">.icon-weixuanzhong
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<span class="icon iconfont icon-fuzhi4"></span>
|
||||
<div class="name">
|
||||
复制
|
||||
</div>
|
||||
<div class="code-name">.icon-fuzhi4
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<span class="icon iconfont icon-shezhi4"></span>
|
||||
<div class="name">
|
||||
设置
|
||||
</div>
|
||||
<div class="code-name">.icon-shezhi4
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<span class="icon iconfont icon-bianji2X"></span>
|
||||
<div class="name">
|
||||
编辑-优化icon
|
||||
</div>
|
||||
<div class="code-name">.icon-bianji2X
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<span class="icon iconfont icon-duohanggongshi"></span>
|
||||
<div class="name">
|
||||
|
@ -5359,6 +5479,70 @@
|
|||
<div class="content symbol">
|
||||
<ul class="icon_lists dib-box">
|
||||
|
||||
<li class="dib">
|
||||
<svg class="icon svg-icon" aria-hidden="true">
|
||||
<use xlink:href="#icon-xiangmuleibie"></use>
|
||||
</svg>
|
||||
<div class="name">项目类别</div>
|
||||
<div class="code-name">#icon-xiangmuleibie</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<svg class="icon svg-icon" aria-hidden="true">
|
||||
<use xlink:href="#icon-ziyuan1"></use>
|
||||
</svg>
|
||||
<div class="name">点赞</div>
|
||||
<div class="code-name">#icon-ziyuan1</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<svg class="icon svg-icon" aria-hidden="true">
|
||||
<use xlink:href="#icon-xiangmuleixing"></use>
|
||||
</svg>
|
||||
<div class="name">项目类型</div>
|
||||
<div class="code-name">#icon-xiangmuleixing</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<svg class="icon svg-icon" aria-hidden="true">
|
||||
<use xlink:href="#icon-xuanzhong"></use>
|
||||
</svg>
|
||||
<div class="name">选中</div>
|
||||
<div class="code-name">#icon-xuanzhong</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<svg class="icon svg-icon" aria-hidden="true">
|
||||
<use xlink:href="#icon-weixuanzhong"></use>
|
||||
</svg>
|
||||
<div class="name">未选中</div>
|
||||
<div class="code-name">#icon-weixuanzhong</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<svg class="icon svg-icon" aria-hidden="true">
|
||||
<use xlink:href="#icon-fuzhi4"></use>
|
||||
</svg>
|
||||
<div class="name">复制</div>
|
||||
<div class="code-name">#icon-fuzhi4</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<svg class="icon svg-icon" aria-hidden="true">
|
||||
<use xlink:href="#icon-shezhi4"></use>
|
||||
</svg>
|
||||
<div class="name">设置</div>
|
||||
<div class="code-name">#icon-shezhi4</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<svg class="icon svg-icon" aria-hidden="true">
|
||||
<use xlink:href="#icon-bianji2X"></use>
|
||||
</svg>
|
||||
<div class="name">编辑-优化icon</div>
|
||||
<div class="code-name">#icon-bianji2X</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<svg class="icon svg-icon" aria-hidden="true">
|
||||
<use xlink:href="#icon-duohanggongshi"></use>
|
||||
|
|
|
@ -2341,14 +2341,10 @@ input::-ms-clear {
|
|||
/*中间部分宽度固定为1200*/
|
||||
.newMain {
|
||||
margin: 0 auto;
|
||||
padding-bottom: 235px;
|
||||
padding-bottom: 110px;
|
||||
min-width: 1200px;
|
||||
}
|
||||
|
||||
/*padding-bottom根据底部的高度而定*/
|
||||
.newMain {
|
||||
padding-bottom: 124px !important;
|
||||
}
|
||||
|
||||
/*高度*/
|
||||
|
||||
|
@ -3487,44 +3483,6 @@ a.user_bluebg_btn {
|
|||
color: #ee4a20;
|
||||
}
|
||||
|
||||
/*搜索的下拉列表*/
|
||||
|
||||
/*白色色块--类似个人主页-学习-里面的tab*/
|
||||
.white-panel {
|
||||
border-radius: 2px;
|
||||
width: 100%;
|
||||
margin: 0px auto;
|
||||
box-sizing: border-box;
|
||||
padding-left: 25px;
|
||||
}
|
||||
|
||||
.white-panel li {
|
||||
width: 118px;
|
||||
height: 48px;
|
||||
line-height: 48px;
|
||||
text-align: center;
|
||||
color: #05101A;
|
||||
float: left;
|
||||
cursor: pointer;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.white-panel li a {
|
||||
display: block;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.white-panel li.active {
|
||||
border-radius: 24px;
|
||||
border: 1px solid #4CACFF;
|
||||
color: #4CACFF;
|
||||
}
|
||||
|
||||
.white-panel li.active a {
|
||||
color: #4CACFF;
|
||||
}
|
||||
|
||||
|
||||
/* 个人主页翻页 */
|
||||
.pages_user_show a:hover,
|
||||
.pages_user_show li.active a {
|
||||
|
@ -3962,7 +3920,6 @@ html>body #ajax-indicator {
|
|||
}/*头部导航条样式---2018-03-19--by-cs*/
|
||||
|
||||
.head-nav {
|
||||
float: left;
|
||||
text-align: center;
|
||||
height: 60px;
|
||||
box-sizing: border-box;
|
||||
|
@ -3970,6 +3927,7 @@ html>body #ajax-indicator {
|
|||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.head-nav ul#header-nav {
|
||||
|
@ -3987,18 +3945,19 @@ html>body #ajax-indicator {
|
|||
margin-right: 30px;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
font-size: 16px
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.head-nav ul#header-nav li a {
|
||||
display: block;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
color: #fff
|
||||
color: #333333;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.head-nav ul#header-nav li a:hover {
|
||||
color: #cccccc;
|
||||
color: #5091FF;
|
||||
}
|
||||
|
||||
.head-nav ul#header-nav li:last-child {
|
||||
|
@ -4048,21 +4007,15 @@ html>body #ajax-indicator {
|
|||
bottom: 10px;
|
||||
right: auto;
|
||||
height: 2px;
|
||||
width: 14px;
|
||||
width: 32px;
|
||||
background-color: #459be5;
|
||||
}
|
||||
|
||||
.head-right {
|
||||
box-sizing: border-box;
|
||||
height: 60px;
|
||||
background: #24292D;
|
||||
}
|
||||
|
||||
.head-right i {
|
||||
margin-top: 12px;
|
||||
float: right;
|
||||
margin-right: 15px;
|
||||
margin-left: 15px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
/* tpm*/
|
||||
|
|
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
|
@ -5,6 +5,62 @@
|
|||
"css_prefix_text": "icon-",
|
||||
"description": "",
|
||||
"glyphs": [
|
||||
{
|
||||
"icon_id": "14599181",
|
||||
"name": "项目类别",
|
||||
"font_class": "xiangmuleibie",
|
||||
"unicode": "e751",
|
||||
"unicode_decimal": 59217
|
||||
},
|
||||
{
|
||||
"icon_id": "1687276",
|
||||
"name": "点赞",
|
||||
"font_class": "ziyuan1",
|
||||
"unicode": "e752",
|
||||
"unicode_decimal": 59218
|
||||
},
|
||||
{
|
||||
"icon_id": "14599229",
|
||||
"name": "项目类型",
|
||||
"font_class": "xiangmuleixing",
|
||||
"unicode": "e750",
|
||||
"unicode_decimal": 59216
|
||||
},
|
||||
{
|
||||
"icon_id": "14514445",
|
||||
"name": "选中",
|
||||
"font_class": "xuanzhong",
|
||||
"unicode": "e74b",
|
||||
"unicode_decimal": 59211
|
||||
},
|
||||
{
|
||||
"icon_id": "14514446",
|
||||
"name": "未选中",
|
||||
"font_class": "weixuanzhong",
|
||||
"unicode": "e74d",
|
||||
"unicode_decimal": 59213
|
||||
},
|
||||
{
|
||||
"icon_id": "14484580",
|
||||
"name": "复制",
|
||||
"font_class": "fuzhi4",
|
||||
"unicode": "e74a",
|
||||
"unicode_decimal": 59210
|
||||
},
|
||||
{
|
||||
"icon_id": "14484287",
|
||||
"name": "设置",
|
||||
"font_class": "shezhi4",
|
||||
"unicode": "e74e",
|
||||
"unicode_decimal": 59214
|
||||
},
|
||||
{
|
||||
"icon_id": "14476133",
|
||||
"name": "编辑-优化icon",
|
||||
"font_class": "bianji2X",
|
||||
"unicode": "e749",
|
||||
"unicode_decimal": 59209
|
||||
},
|
||||
{
|
||||
"icon_id": "14364807",
|
||||
"name": "多行公式",
|
||||
|
|
|
@ -20,6 +20,30 @@ Created by iconfont
|
|||
/>
|
||||
<missing-glyph />
|
||||
|
||||
<glyph glyph-name="xiangmuleibie" unicode="" d="M542.117647 317.741176c-6.023529 0-12.047059 0-18.070588 6.02353l-481.882353 246.964706C24.094118 576.752941 12.047059 594.823529 12.047059 612.894118c0 18.070588 12.047059 30.117647 24.094117 42.164706L505.976471 877.929412c12.047059 6.023529 24.094118 6.023529 42.164705 0l493.929412-234.917647c18.070588-6.023529 24.094118-24.094118 24.094118-42.164706s-12.047059-30.117647-24.094118-42.164706L566.211765 323.764706c-6.023529-6.023529-18.070588-6.023529-24.094118-6.02353zM162.635294 612.894118L542.117647 414.117647l373.458824 186.729412-385.505883 186.729412-367.435294-174.682353zM542.117647 124.988235c-6.023529 0-12.047059 0-18.070588 6.02353L42.164706 353.882353C18.070588 365.929412 12.047059 390.023529 18.070588 414.117647s36.141176 30.117647 60.235294 24.094118l457.788236-216.847059 457.788235 240.941176c24.094118 12.047059 48.188235 6.023529 60.235294-18.070588 12.047059-24.094118 6.023529-48.188235-18.070588-60.235294l-481.882353-252.988235s-6.023529-6.023529-12.047059-6.02353zM542.117647-85.835294c-6.023529 0-12.047059 0-18.070588 6.023529l-481.882353 222.870589c-24.094118 12.047059-30.117647 36.141176-24.094118 60.235294 12.047059 24.094118 36.141176 30.117647 60.235294 24.094117l457.788236-216.847059 457.788235 240.941177c24.094118 12.047059 48.188235 6.023529 60.235294-18.070588 12.047059-24.094118 6.023529-48.188235-18.070588-60.235294l-481.882353-252.988236c0-6.023529-6.023529-6.023529-12.047059-6.023529z" horiz-adv-x="1084" />
|
||||
|
||||
|
||||
<glyph glyph-name="ziyuan1" unicode="" d="M627.638-127.995c-0.002-0-0.004-0-0.006-0-41.274 0-79.315 13.84-109.737 37.132-351.096 269.596-625.954 622.565-797.004 1029.886 250.325-459.871 250.891-232.19 392.484-124.58 212.388 161.415 413.449 50.407 514.829-56.637 101.38 104.778 302.441 215.787 514.829 56.637 141.026-107.61 141.592-335.29 47.575-459.892-274.547-346.797-631.598-616.683-1042.062-781.805 559.118 312.875 521.353 299.254 480.407 299.254-0.462 0-0.925 0.002-1.386 0.005zM336.524 813.31c-67.62-1.528-129.121-26.527-176.957-67.135-96.599-73.325-97.732-250.032-28.068-341.784 264.168-335.001 607.892-595.919 1003.221-756.039-551.982 312.962-531.271 305.34-508.781 305.34 22.491 0 43.201 7.622 59.69 20.423 338.927 260.212 604.142 600.67 769.28 993.557-263.734-472.096-264.867-295.389-364.548-219.495-231.645 178.406-421.945-65.132-429.874-75.893-7.61-10-19.509-16.397-32.903-16.425-0.033-0.001-0.137-0.001-0.24-0.001-13.179 0-24.918 6.166-32.489 15.771-5.731 8.583-110.509 141.68-258.331 141.68z" horiz-adv-x="1255" />
|
||||
|
||||
|
||||
<glyph glyph-name="xiangmuleixing" unicode="" d="M844.8-128H179.2C76.8-128 0-51.2 0 44.8V716.8C0 819.2 76.8 896 179.2 896h672C947.2 896 1024 819.2 1024 716.8v-672c0-96-76.8-172.8-179.2-172.8zM179.2 800c-44.8 0-76.8-38.4-76.8-76.8v-672c0-44.8 38.4-76.8 76.8-76.8h672c44.8 0 76.8 38.4 76.8 76.8V716.8c0 44.8-38.4 76.8-76.8 76.8H179.2zM812.8 153.6H256c-19.2 0-38.4 19.2-38.4 38.4s19.2 38.4 38.4 38.4h556.8c19.2 0 38.4-19.2 38.4-38.4s-19.2-38.4-38.4-38.4zM556.8 473.6H256c-19.2 0-38.4 19.2-38.4 38.4s19.2 38.4 38.4 38.4h300.8c19.2 0 38.4-19.2 38.4-38.4s-19.2-38.4-38.4-38.4zM812.8 473.6H704c-19.2 0-38.4 19.2-38.4 38.4s19.2 38.4 38.4 38.4h108.8c19.2 0 38.4-19.2 38.4-38.4s-19.2-38.4-38.4-38.4z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="xuanzhong" unicode="" d="M512 866.461538C245.563077 866.461538 29.538462 650.436923 29.538462 384S245.563077-98.461538 512-98.461538 994.461538 117.563077 994.461538 384 778.436923 866.461538 512 866.461538zM720.384 541.538462l-226.816-314.44677a34.264615 34.264615 0 0 0-55.650462 0l-134.301538 186.092308a8.664615 8.664615 0 0 0 7.010462 13.666462h50.491076a34.264615 34.264615 0 0 0 27.884308-14.296616l76.681846-106.417231 169.314462 234.771693a34.422154 34.422154 0 0 0 27.884308 14.336h50.491076a8.664615 8.664615 0 0 0 7.010462-13.705846z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="weixuanzhong" unicode="" d="M713.373538 555.244308h-50.491076a34.264615 34.264615 0 0 1-27.884308-14.336l-169.314462-234.771693-76.681846 106.417231a34.422154 34.422154 0 0 1-27.884308 14.296616H310.626462a8.664615 8.664615 0 0 1-7.010462-13.666462l134.183385-186.092308a34.264615 34.264615 0 0 1 55.689846 0L720.265846 541.538462a8.585846 8.585846 0 0 1-6.892308 13.705846zM512 866.461538C245.563077 866.461538 29.538462 650.436923 29.538462 384S245.563077-98.461538 512-98.461538 994.461538 117.563077 994.461538 384 778.436923 866.461538 512 866.461538z m0-883.081846C290.816-16.620308 111.379692 162.816 111.379692 384 111.379692 605.184 290.816 784.620308 512 784.620308c221.184 0 400.620308-179.436308 400.620308-400.620308 0-221.184-179.436308-400.620308-400.620308-400.620308z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="fuzhi4" unicode="" d="M791.978667 701.3546670000001H82.773333a37.290667 37.290667 0 0 1-37.376-37.376v-709.290667c0-20.650667 16.725333-37.376 37.376-37.376H791.893333a37.290667 37.290667 0 0 1 37.376 37.376V663.893333a37.290667 37.290667 0 0 1-37.376 37.376z m-46.677334-699.989334H129.365333V617.301333h615.936v-615.936zM941.312 850.688H222.72a9.386667 9.386667 0 0 1-9.301333-9.386667v-65.28c0-5.12 4.266667-9.386667 9.386666-9.386666h671.914667V94.72000000000003c0-5.12 4.266667-9.301333 9.386667-9.301333h65.28c5.12 0 9.386667 4.266667 9.386666 9.386666V813.226667A37.290667 37.290667 0 0 1 941.226667 850.773333z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="shezhi4" unicode="" d="M983.630276 253.910842l-74.802755 63.980852a410.866748 410.866748 0 0 1 0 132.129598l74.802755 63.980852a36.560487 36.560487 0 0 1 10.602541 40.216535l-1.023693 2.924839a506.947706 506.947706 0 0 1-91.035612 157.575697l-2.047387 2.412992a36.706728 36.706728 0 0 1-40.143414 10.821904l-92.863636-32.977559a402.604078 402.604078 0 0 1-113.922476 65.808876L635.281961 857.89008a36.560487 36.560487 0 0 1-29.467753 29.32151L602.670007 887.796558a516.160949 516.160949 0 0 1-181.705618 0l-3.071081-0.584968a36.560487 36.560487 0 0 1-29.467753-29.32151l-18.06088-97.616499a402.01911 402.01911 0 0 1-113.118145-65.516392l-93.594846 33.196922a36.560487 36.560487 0 0 1-40.070293-10.821904l-2.047387-2.412992A509.653182 509.653182 0 0 1 30.571513 557.143518l-1.023693-2.924839a36.706728 36.706728 0 0 1 10.602541-40.216535l75.753328-64.712062a402.01911 402.01911 0 0 1 0-130.447816l-75.753328-64.63894a36.560487 36.560487 0 0 1-10.602541-40.216535l1.023693-2.99796A508.263884 508.263884 0 0 1 121.534004 53.340013l2.047387-2.412992a36.706728 36.706728 0 0 1 40.070293-10.821904l93.594846 33.270043a399.240513 399.240513 0 0 1 113.118145-65.589513l18.06088-97.616499a36.560487 36.560487 0 0 1 29.467753-29.32151l3.071081-0.584968a513.455473 513.455473 0 0 1 181.705618 0l3.07108 0.584968a36.560487 36.560487 0 0 1 29.467753 29.32151l17.914638 97.177773a399.898602 399.898602 0 0 1 113.922476 65.808876l92.863636-33.05068a36.560487 36.560487 0 0 1 40.143414 10.821904l2.047387 2.412992a509.653182 509.653182 0 0 1 91.035612 157.575697l1.023693 2.924839a36.414245 36.414245 0 0 1-10.602541 39.997172zM827.663241 436.493912a323.340943 323.340943 0 0 0 0-105.294201l-7.53146-45.84685 85.332175-72.974731c-12.869291-29.833357-29.248389-57.911811-48.625447-84.089119l-106.025411 37.58418-35.902398-29.467752c-27.274123-22.448139-57.765569-39.997172-90.670006-52.354617l-43.433858-16.305977-20.473873-110.851395c-32.173228-3.656049-64.931424-3.656049-97.104652 0l-20.473873 111.070758-43.141374 16.52534a319.611773 319.611773 0 0 0-89.938797 52.208375l-35.829276 29.613994-106.756621-37.949785a431.706225 431.706225 0 0 0-48.698568 84.089119l86.282748 73.705941-7.458339 45.700608a314.932031 314.932031 0 0 0 0 103.978023l7.458339 45.700609-86.282748 73.70594c12.942412 29.833357 29.248389 57.911811 48.698568 84.08912l106.756621-37.949786 35.829276 29.613995c27.05476 22.228776 57.326843 39.85093 89.938797 52.208374l43.287616 16.305977 20.473873 111.070758c32.026986 3.656049 64.858303 3.656049 97.031531 0l20.473873-110.851395 43.506979-16.305977c32.831317-12.357444 63.322763-29.979599 90.670006-52.354616l35.829277-29.467753 106.025411 37.584181c19.450179-26.177308 35.683035-54.402004 48.698568-84.089119l-85.332175-72.974732 7.385218-45.627487zM512 596.336359a201.082676 201.082676 0 1 1 0-402.165352 201.082676 201.082676 0 0 1 0 402.165352zM602.523765 304.876161c-24.276163-24.129921-56.303149-37.511059-90.523765-37.51106-34.147494 0-66.247602 13.381138-90.450644 37.51106a127.522977 127.522977 0 0 0-37.511059 90.450643c0 34.147494 13.381138 66.320723 37.511059 90.523765 24.129921 24.203042 56.303149 37.437938 90.450644 37.437938 34.147494 0 66.247602-13.234896 90.523765-37.437938 24.129921-24.276163 37.437938-56.303149 37.437938-90.523765 0-34.147494-13.381138-66.247602-37.437938-90.450643z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="bianji2X" unicode="" d="M859.025066 604.880668L733.465686 730.293794a57.18546 57.18546 0 0 0 0 80.805542l68.227665 68.227665a57.18546 57.18546 0 0 0 80.732415 0l125.486253-125.486253c22.303792-22.230665 22.303792-58.50175 0-80.732414l-68.227666-68.227666a56.819824 56.819824 0 0 0-80.659287 0z m-73.858459-153.786474c21.499393 21.426266 26.910805 50.823395 12.065986 65.52196l-152.689567 152.835821c-14.698565 14.698565-44.095694 9.36028-65.595086-12.065986L19.74434 113.100336a63.913161 63.913161 0 0 1-18.866814-38.318646l0.292509-152.835821a43.803185 43.803185 0 0 1 48.629579-48.702707l152.835821-1.243162a63.620653 63.620653 0 0 1 38.318646 18.866814l544.285653 560.154253z m180.258516-432.254802H566.516318c-15.356709 0-29.982147-6.069557-40.658716-16.965508-19.598086-19.598086-51.774048-52.870956-78.611726-80.732414a28.373349 28.373349 0 0 1 20.475612-48.117689h497.264872a58.355495 58.355495 0 0 1 58.209241 58.136113v30.055274a58.062987 58.062987 0 0 1-57.770478 57.624224z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
<glyph glyph-name="duohanggongshi" unicode="" d="M665.6 418.133333h17.066667v113.777778H295.822222l193.422222-227.555555-216.177777-216.177778h409.6l34.133333 130.844444h-22.755556c0-11.377778-5.688889-17.066667-11.377777-28.444444s-17.066667-17.066667-28.444445-22.755556H426.666667l164.977777 164.977778-136.533333 159.288889H597.333333c22.755556-5.688889 45.511111-11.377778 56.888889-22.755556 5.688889-17.066667 11.377778-34.133333 11.377778-51.2zM807.822222-116.622222H233.244444c-62.577778 0-119.466667 51.2-119.466666 119.466666V748.088889C113.777778 810.666667 164.977778 867.555556 233.244444 867.555556h443.733334l244.622222-233.244445v-637.155555c0-62.577778-51.2-113.777778-113.777778-113.777778zM233.244444 810.666667c-34.133333 0-62.577778-28.444444-62.577777-62.577778v-750.933333c0-34.133333 28.444444-62.577778 62.577777-62.577778h574.577778c34.133333 0 62.577778 28.444444 62.577778 62.577778V611.555556L654.222222 810.666667H233.244444zM898.844444 594.488889h-176.355555c-45.511111 0-85.333333 39.822222-85.333333 85.333333V839.111111h56.888888v-159.288889c0-17.066667 11.377778-28.444444 28.444445-28.444444h176.355555v-56.888889z" horiz-adv-x="1024" />
|
||||
|
||||
|
||||
|
|
Before Width: | Height: | Size: 428 KiB After Width: | Height: | Size: 438 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
130
src/AppConfig.js
130
src/AppConfig.js
|
@ -1,12 +1,10 @@
|
|||
import axios from 'axios';
|
||||
import md5 from 'md5';
|
||||
import { requestProxy } from "./indexEduplus2RequestProxy";
|
||||
import { broadcastChannelOnmessage, SetAppModel, isDev, queryString } from 'educoder';
|
||||
import { broadcastChannelOnmessage , isDev, queryString } from 'educoder';
|
||||
import { notification } from 'antd';
|
||||
import cookie from 'react-cookies';
|
||||
import './index.css';
|
||||
const $ = window.$;
|
||||
const opens = "79e33abd4b6588941ab7622aed1e67e8";
|
||||
let timestamp;
|
||||
let checkSubmitFlg = false;
|
||||
let message501 = false;
|
||||
|
@ -30,17 +28,10 @@ if (isDev) {
|
|||
if (_search) {
|
||||
parsed = queryString.parse(_search);
|
||||
}
|
||||
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'
|
||||
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'
|
||||
}
|
||||
// 超管
|
||||
//debugType = "admin";
|
||||
// 老师
|
||||
// debugType="teacher";
|
||||
// 学生
|
||||
// debugType = "student";
|
||||
|
||||
function clearAllCookie() {
|
||||
cookie.remove('_educoder_session', { path: '/' });
|
||||
cookie.remove('autologin_trustie', { path: '/' });
|
||||
|
@ -70,9 +61,7 @@ setpostcookie();
|
|||
|
||||
|
||||
function railsgettimes(proxy) {
|
||||
|
||||
clearAllCookie()
|
||||
|
||||
if (timestamp && checkSubmitFlg === false) {
|
||||
$.ajax({
|
||||
url: proxy, async: true, success: function (data) {
|
||||
|
@ -103,105 +92,27 @@ function railsgettimes(proxy) {
|
|||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
window._debugType = debugType;
|
||||
export function initAxiosInterceptors(props) {
|
||||
initOnlineOfflineListener()
|
||||
|
||||
// TODO 避免重复的请求 https://github.com/axios/axios#cancellation
|
||||
// https://github.com/axios/axios/issues/1497
|
||||
|
||||
// TODO 读取到package.json中的配置?
|
||||
var proxy = "http://localhost:3000"
|
||||
// proxy = "http://testbdweb.trustie.net"
|
||||
// proxy = "http://testbdweb.educoder.net"
|
||||
// proxy = "https://testeduplus2.educoder.net"
|
||||
//proxy="http://47.96.87.25:48080"
|
||||
proxy = "https://pre-newweb.educoder.net"
|
||||
proxy = "https://testforgeplus.trustie.net/"
|
||||
// proxy="https://test-jupyterweb.educoder.net"
|
||||
// proxy="https://test-newweb.educoder.net"
|
||||
// proxy="https://test-jupyterweb.educoder.net"
|
||||
|
||||
|
||||
|
||||
// 在这里使用requestMap控制,避免用户通过双击等操作发出重复的请求;
|
||||
// 如果需要支持重复的请求,考虑config里面自定义一个allowRepeat参考来控制
|
||||
const requestMap = {};
|
||||
|
||||
window.setfalseInRequestMap = function (keyName) {
|
||||
requestMap[keyName] = false;
|
||||
}
|
||||
|
||||
//响应前的设置
|
||||
axios.interceptors.request.use(
|
||||
config => {
|
||||
setpostcookie()
|
||||
clearAllCookie()
|
||||
// config.headers['Content-Type']= 'no-cache'
|
||||
// if (token) { // 每次发送请求之前判断是否存在token,如果存在,则统一在http请求的header都加上token,不用每次请求都手动添加了
|
||||
// config.headers.Authorization = token;
|
||||
// }
|
||||
|
||||
// --------------------------------------------- 測試3007连测试服的代码
|
||||
// if (url.indexOf('file_update') != -1 || url.indexOf('game_build') != -1 || url.indexOf('game_status') != -1) {
|
||||
// proxy = 'https://testbdweb.trustie.net'
|
||||
// } else {
|
||||
// proxy = 'http://localhost:3000'
|
||||
// }
|
||||
// ---------------------------------------------
|
||||
// console.log("开始请求了");
|
||||
// console.log(config.url);
|
||||
// console.log(window.location.pathname);
|
||||
//
|
||||
|
||||
// try {
|
||||
// const str =window.location.pathname;
|
||||
// if(str.indexOf("/wxcode") !== -1){
|
||||
// // console.log("开始重写cookis");
|
||||
// const _params = window.location.search;
|
||||
// // console.log("1111");
|
||||
// if (_params) {
|
||||
// // console.log("22222");
|
||||
// let _search = _params.split('?')[1];
|
||||
// var _educoder_sessionmys="";
|
||||
// var autologin_trusties="";
|
||||
// _search.split('&').forEach(item => {
|
||||
// const _arr = item.split('=');
|
||||
// if(_arr[0]==='_educoder_session'){
|
||||
// cookie.save('_educoder_session',_arr[1], { domain: '.educoder.net', path: '/'});
|
||||
// _educoder_sessionmys=_arr[1];
|
||||
// }else{
|
||||
// cookie.save('autologin_trustie',_arr[1], { domain: '.educoder.net', path: '/'});
|
||||
// autologin_trusties=_arr[1];
|
||||
// }
|
||||
// });
|
||||
// try {
|
||||
// const autlogins= `_educoder_session=${_educoder_sessionmys}; autologin_trustie=${autologin_trusties} `;
|
||||
// config.params = {'Cookie': autlogins}
|
||||
// config.headers['Cookie'] =autlogins;
|
||||
// // console.log("设置了cookis");
|
||||
// } catch (e) {
|
||||
//
|
||||
// }
|
||||
// try {
|
||||
// const autloginysls= `_educoder_session=${_educoder_sessionmys}; autologin_trustie=${autologin_trusties} `;
|
||||
// config.params = {'autloginysls': autloginysls}
|
||||
// config.headers['Cookie'] =autloginysls;
|
||||
// // console.log("设置了cookis");
|
||||
// }catch (e) {
|
||||
//
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }catch (e) {
|
||||
//
|
||||
// }
|
||||
|
||||
|
||||
|
||||
if (config.url.indexOf(proxy) != -1 || config.url.indexOf(':') != -1) {
|
||||
return config
|
||||
|
@ -224,8 +135,8 @@ export function initAxiosInterceptors(props) {
|
|||
} else {
|
||||
config.url = `${config.url}&debug=${debugType}`;
|
||||
}
|
||||
}else{
|
||||
config.url=url;
|
||||
} else {
|
||||
config.url = url;
|
||||
}
|
||||
setpostcookie();
|
||||
}
|
||||
|
@ -248,13 +159,6 @@ export function initAxiosInterceptors(props) {
|
|||
}
|
||||
const config = response.config
|
||||
if (response.data.status === -1) {
|
||||
// console.error('error:', response.data.message)
|
||||
// throw new Error()
|
||||
|
||||
// https://github.com/axios/axios/issues?utf8=%E2%9C%93&q=cancel+request+in+response+interceptors+
|
||||
// https://github.com/axios/axios/issues/583
|
||||
// message.info(response.data.message || '服务端返回status -1,请联系管理员。');
|
||||
// props.showSnackbar( response.data.message || '服务器异常,请联系管理员。' )
|
||||
if (window.location.pathname.startsWith('/tasks/')) {
|
||||
props.showSnackbar(response.data.message || '服务器异常,请联系管理员。')
|
||||
} else {
|
||||
|
@ -265,29 +169,11 @@ export function initAxiosInterceptors(props) {
|
|||
zIndex: 99999999
|
||||
},
|
||||
});
|
||||
// notification['error']({
|
||||
// message:"提示",
|
||||
// description: response.data.message || '服务器异常,请联系管理员。',
|
||||
// });
|
||||
}
|
||||
|
||||
throw new axios.Cancel('Operation canceled by the user.');
|
||||
} else {
|
||||
// hash跳转
|
||||
// var hash = window.location.hash;
|
||||
// if (hash) {
|
||||
// hashTimeout && window.clearTimeout(hashTimeout)
|
||||
// hashTimeout = setTimeout(() => {
|
||||
// var element = document.querySelector(hash);
|
||||
// if (element) {
|
||||
// element.scrollIntoView();
|
||||
// }
|
||||
// }, 400)
|
||||
// }
|
||||
}
|
||||
// if(response.data.status === 401){
|
||||
// console.log("401401401")
|
||||
// }
|
||||
|
||||
if (response.data.status === 403 || response.data.status === "403") {
|
||||
|
||||
locationurl('/403');
|
||||
|
@ -324,8 +210,6 @@ export function initAxiosInterceptors(props) {
|
|||
}, function (error) {
|
||||
return Promise.reject(error);
|
||||
});
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 257 KiB After Width: | Height: | Size: 590 KiB |
|
@ -1,6 +1,6 @@
|
|||
import React , { Component } from 'react';
|
||||
import React, { Component } from 'react';
|
||||
|
||||
import {Route,Switch,Link} from 'react-router-dom';
|
||||
import { Route, Switch } from 'react-router-dom';
|
||||
import { withRouter } from 'react-router'
|
||||
|
||||
|
||||
|
@ -12,56 +12,51 @@ import './css/index.css';
|
|||
|
||||
import Loadable from 'react-loadable';
|
||||
import Loading from '../Loading';
|
||||
import {ImageLayerOfCommentHOC} from '../modules/page/layers/ImageLayerOfCommentHOC';
|
||||
|
||||
import axios from 'axios';
|
||||
|
||||
|
||||
import { ImageLayerOfCommentHOC } from '../modules/page/layers/ImageLayerOfCommentHOC';
|
||||
|
||||
const ProjectNew = Loadable({
|
||||
loader: () => import('./New/Index'),
|
||||
loading: Loading,
|
||||
loader: () => import('./New/Index'),
|
||||
loading: Loading,
|
||||
})
|
||||
const ProjectIndex = Loadable({
|
||||
loader: () => import('./Main/Index'),
|
||||
loading: Loading,
|
||||
loader: () => import('./Main/Index'),
|
||||
loading: Loading,
|
||||
})
|
||||
|
||||
const ProjectDetail = Loadable({
|
||||
loader: () => import('./Main/Detail'),
|
||||
loading: Loading,
|
||||
loader: () => import('./Main/Detail'),
|
||||
loading: Loading,
|
||||
})
|
||||
|
||||
class Index extends Component{
|
||||
class Index extends Component {
|
||||
|
||||
render(){
|
||||
return(
|
||||
render() {
|
||||
return (
|
||||
<div className="newMain clearfix">
|
||||
<Switch {...this.props}>
|
||||
<Route path="/projects/:projectsType/new"
|
||||
render={
|
||||
(props) => (<ProjectNew {...this.props} {...props} {...this.state}/>)
|
||||
(props) => (<ProjectNew {...this.props} {...props} {...this.state} />)
|
||||
}
|
||||
></Route>
|
||||
<Route path="/projects/:projectsId"
|
||||
render={
|
||||
(props) => (<ProjectDetail {...this.props} {...props} {...this.state}/>)
|
||||
(props) => (<ProjectDetail {...this.props} {...props} {...this.state} />)
|
||||
}
|
||||
></Route>
|
||||
<Route exact path="/projects"
|
||||
render={
|
||||
(props) => (<ProjectIndex {...this.props} {...props} {...this.state}/>)
|
||||
(props) => (<ProjectIndex {...this.props} {...props} {...this.state} />)
|
||||
}
|
||||
></Route>
|
||||
<Route exact path="/"
|
||||
// component={ShixunsHome}
|
||||
render={
|
||||
(props)=>(<ProjectIndex {...this.props} {...props} {...this.state}></ProjectIndex>)
|
||||
}
|
||||
render={
|
||||
(props) => (<ProjectIndex {...this.props} {...props} {...this.state}></ProjectIndex>)
|
||||
}
|
||||
/>
|
||||
</Switch>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
export default withRouter(ImageLayerOfCommentHOC({imgSelector: '.imageLayerParent img, .imageLayerParent .imageTarget', parentSelector: '.newMain'})(CNotificationHOC() ( SnackbarHOC() ( TPMIndexHOC(Index) ))));
|
||||
export default withRouter(ImageLayerOfCommentHOC({ imgSelector: '.imageLayerParent img, .imageLayerParent .imageTarget', parentSelector: '.newMain' })(CNotificationHOC()(SnackbarHOC()(TPMIndexHOC(Index)))));
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import React, { Component } from 'react';
|
||||
import { Link } from 'react-router-dom';
|
||||
import { Menu, Input, Dropdown , Spin, Pagination } from 'antd';
|
||||
import { Menu, Input , Spin, Pagination , Popover } from 'antd';
|
||||
import '../css/index.css'
|
||||
import './list.css';
|
||||
import ListItem from './IndexItem'
|
||||
|
@ -151,7 +151,6 @@ class Index extends Component {
|
|||
|
||||
// 搜索
|
||||
searchFun = (value) => {
|
||||
// console.log(value)
|
||||
this.setState({
|
||||
page: 1,
|
||||
search: value,
|
||||
|
@ -201,41 +200,23 @@ class Index extends Component {
|
|||
<Pagination simple defaultCurrent={page} total={total} pageSize={limit} onChange={this.ChangePage}></Pagination>
|
||||
</div> : ""
|
||||
)
|
||||
|
||||
|
||||
return (
|
||||
<div style={{ background: "#fafafa" }}>
|
||||
<div style={{ background: "#EAEBEC" }}>
|
||||
<p className="t_project_banner"></p>
|
||||
<div className="main ProjectListIndex">
|
||||
<div className="list-left">
|
||||
<ul className="list-l-Menu">
|
||||
<li className="MenuTitle">项目类型</li>
|
||||
<li className="MenuTitle"><i className="iconfont icon-xiangmuleixing color-grey-9 font-15 mr5"></i>项目类型</li>
|
||||
{typeList}
|
||||
</ul>
|
||||
<ul className="list-l-Menu">
|
||||
<li className="MenuTitle">项目类别</li>
|
||||
<li className="MenuTitle"><i className="iconfont icon-xiangmuleibie color-grey-9 font-15 mr5"></i>项目类别</li>
|
||||
{categoryList}
|
||||
</ul>
|
||||
</div>
|
||||
<div className="list-right boxShandow padding0-25">
|
||||
<div className="list-right boxShandow radius-2" style={{padding:0}}>
|
||||
<Spin spinning={isSpin}>
|
||||
<div className="list-r-operation">
|
||||
<div>
|
||||
{
|
||||
current_user && current_user.login &&
|
||||
<Dropdown overlay={newItem} trigger={["click"]} placement='bottomRight' className="mr30">
|
||||
<a className="ant-dropdown-link">
|
||||
<span className="color-blue font-16"><img src={img_new} alt="" width="13px" /> 新建</span>
|
||||
</a>
|
||||
</Dropdown>
|
||||
}
|
||||
|
||||
<Dropdown overlay={menu} trigger={['click']} placement='bottomRight'>
|
||||
<a className="ant-dropdown-link">
|
||||
<span className="color-blue font-16">排序 <img src={img_array} alt="" width="10px" /></span>
|
||||
</a>
|
||||
</Dropdown>
|
||||
</div>
|
||||
<Search
|
||||
placeholder="输入项目名称关键字进行搜索"
|
||||
enterButton="搜索"
|
||||
|
@ -245,6 +226,22 @@ class Index extends Component {
|
|||
value={search}
|
||||
onChange={this.changeSearchValue}
|
||||
/>
|
||||
<div>
|
||||
{
|
||||
current_user && current_user.login &&
|
||||
<Popover content={newItem} trigger={["click"]} placement='bottom' className="mr50">
|
||||
<a className="ant-dropdown-link">
|
||||
<span className="color-blue font-16"><img src={img_new} alt="" width="13px" /> 新建</span>
|
||||
</a>
|
||||
</Popover>
|
||||
}
|
||||
|
||||
<Popover content={menu} trigger={['click']} placement='bottom'>
|
||||
<a className="ant-dropdown-link">
|
||||
<span className="color-blue font-16">排序 <img src={img_array} alt="" width="10px" /></span>
|
||||
</a>
|
||||
</Popover>
|
||||
</div>
|
||||
</div>
|
||||
<ListItem {...this.props} {...this.state} projects={projectsList}></ListItem>
|
||||
{pagination}
|
||||
|
|
|
@ -4,7 +4,7 @@ import { Link } from 'react-router-dom';
|
|||
import '../css/index.css'
|
||||
import './list.css';
|
||||
import img_parise from '../Images/parise.png';
|
||||
import img_fork from '../Images/fork.png';
|
||||
|
||||
class IndexItem extends Component {
|
||||
TurnToDetail = (login, url) => {
|
||||
this.props.history.push({
|
||||
|
@ -28,7 +28,7 @@ class IndexItem extends Component {
|
|||
{
|
||||
item.forked_from_project_id ?
|
||||
<span className="ml5">
|
||||
<img src={img_fork} alt="" width="14px" />
|
||||
<i className="iconfont icon-fork font-16 color-orange" />
|
||||
</span>
|
||||
: ""
|
||||
}
|
||||
|
@ -37,19 +37,19 @@ class IndexItem extends Component {
|
|||
item.is_public ? "" :
|
||||
<span className="p-r-tags"><span>私有</span></span>
|
||||
}
|
||||
</div>
|
||||
<div className="p-r-content">
|
||||
<p className="break_word task-hide flex1" style={{ maxHeight: "40px", width: "0" }}>{item.description}</p>
|
||||
<span className="p-r-tags">
|
||||
<span className="pariseTag"><img src={img_parise} alt="" className="pariseImg" />赞 ({item.praises_count})</span>
|
||||
{item.language && item.language.id ? <span><label>{item.language.name}</label></span> : ""}
|
||||
<span><i className="iconfont icon-fork mr3 font-16" style={{ color: "#1B8FFF" }} />fork ({item.forked_count})</span>
|
||||
</span>
|
||||
</div>
|
||||
<p className="break_word task-hide-2 mt10" style={{ maxHeight: "40px" }}>{item.description}</p>
|
||||
|
||||
<div className="p-r-about">
|
||||
<span className="p-r-detail">
|
||||
<span><label>浏览量:</label>{item.visits}</span>
|
||||
{item.category && item.category.id && <span><label>项目类别:</label>{item.category.name}</span>}
|
||||
{item.last_update_time ? <span ><label>更新于</label>{item.time_ago}</span> : ""}
|
||||
{item.language && item.language.id ? <span className="color-grey-3">{item.language.name}</span> : ""}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
body,#root{
|
||||
background: #fff!important;
|
||||
}
|
||||
|
||||
.lineH2{line-height:2}
|
||||
.t_project_banner {
|
||||
height: 260px;
|
||||
|
@ -24,26 +22,27 @@ body,#root{
|
|||
padding:10px;
|
||||
}
|
||||
.list-l-Menu{
|
||||
border:1px solid #f4f4f4;
|
||||
background: #fff;
|
||||
border-radius: 4px;
|
||||
margin-bottom: 20px;
|
||||
margin-bottom: 12px;
|
||||
border-radius:2px;
|
||||
border:1px solid rgba(221,221,221,1);
|
||||
background-color: #fff;
|
||||
}
|
||||
.list-l-Menu>li{
|
||||
font-size: 1rem;
|
||||
padding:0px 20px;
|
||||
padding:0px 0px 0px 20px;
|
||||
box-sizing: border-box;
|
||||
color: #333;
|
||||
position: relative;
|
||||
}
|
||||
.list-l-Menu>li > p{
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
height: 62px;
|
||||
line-height: 62px;
|
||||
width: 100%;
|
||||
border-bottom: 1px solid #eee;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
cursor: pointer;
|
||||
padding-right: 20px;
|
||||
}
|
||||
.list-l-Menu>li:last-child > p{
|
||||
border-bottom: none;
|
||||
|
@ -53,18 +52,15 @@ body,#root{
|
|||
}
|
||||
.list-l-Menu .MenuTitle{
|
||||
font-size: 16px;
|
||||
background:url(../Images/dir.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
color: #fff!important;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
}
|
||||
.list-l-Menu:nth-child(2) .MenuTitle{
|
||||
background:url(../Images/type.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
color: #333!important;
|
||||
height: 62px;
|
||||
line-height: 62px;
|
||||
border-bottom: 1px solid #E0E0E0;
|
||||
font-weight: 400;
|
||||
}
|
||||
.list-l-Menu > li:not(.MenuTitle):hover{
|
||||
background-color: #ECF6FF;
|
||||
background-color: #fafafa;
|
||||
}
|
||||
|
||||
/* 左侧menu */
|
||||
|
@ -77,13 +73,34 @@ body,#root{
|
|||
.list-l-Menu .ant-menu-item-group-title{
|
||||
padding:0px;
|
||||
}
|
||||
.list-l-Menu li.active{
|
||||
background-color: #fafafa;
|
||||
}
|
||||
|
||||
/* 首页列表的新建和排序的下拉列表 */
|
||||
.ant-menu-inline, .ant-menu-vertical, .ant-menu-vertical-left{
|
||||
border-right: none!important;
|
||||
}
|
||||
.ant-menu-vertical > .ant-menu-item{
|
||||
margin:0px!important;
|
||||
height: 35px;
|
||||
line-height: 35px;
|
||||
border-bottom: 1px solid #eee;
|
||||
font-size: 14px!important;
|
||||
}
|
||||
.ant-menu-vertical > .ant-menu-item:last-child{
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.list-l-Menu li.active::before{
|
||||
position: absolute;
|
||||
left: 0px;
|
||||
top: 8px;
|
||||
width: 2px;
|
||||
top: 10px;
|
||||
width: 6px;
|
||||
content: '';
|
||||
height: 34px;
|
||||
height: 33px;
|
||||
background: #4CACFF;
|
||||
}
|
||||
.list-r-operation{
|
||||
|
@ -91,7 +108,8 @@ body,#root{
|
|||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
padding:25px 0px;
|
||||
padding:25px 30px;
|
||||
border-bottom: 1px solid #E0E0E0;
|
||||
}
|
||||
.list-r-Search{
|
||||
width: 400px;
|
||||
|
@ -114,23 +132,22 @@ body,#root{
|
|||
}
|
||||
|
||||
/* 列表 */
|
||||
.project-list{
|
||||
padding:0px 30px;
|
||||
}
|
||||
.p-r-Item{
|
||||
display: flex;
|
||||
padding:15px 0px;
|
||||
box-shadow:0px 2px 20px 0px rgba(0,0,0,0.05);
|
||||
border-radius:2px;
|
||||
border:1px solid rgba(238,238,238,1);
|
||||
margin-bottom: 15px;
|
||||
padding:20px;
|
||||
border-bottom:1px solid rgba(238,238,238,1);
|
||||
padding:22px 0px;
|
||||
}
|
||||
.boxShandow{
|
||||
box-shadow:0px 2px 20px 10px rgba(0,0,0,0.03);
|
||||
}
|
||||
.p-r-photo{
|
||||
width: 42px;
|
||||
height: 42px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
border-radius: 50%;
|
||||
margin-right: 15px;
|
||||
margin-right: 22px;
|
||||
}
|
||||
.p-r-Infos{
|
||||
flex: 1;
|
||||
|
@ -223,8 +240,8 @@ body,#root{
|
|||
display: flex;
|
||||
}
|
||||
.p-r-detail > span{
|
||||
margin-right: 15px;
|
||||
color: #666;
|
||||
margin-right: 22px;
|
||||
color: #888;
|
||||
}
|
||||
.p-r-detail > span > label{
|
||||
color: #999;
|
||||
|
|
|
@ -1,12 +1,16 @@
|
|||
ul,ol,dl{
|
||||
margin-bottom: 0px!important;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
.newMain{
|
||||
background-color: #fff;
|
||||
}
|
||||
.main{
|
||||
width: 1200px;
|
||||
margin:20px auto;
|
||||
padding:20px 0px;
|
||||
margin:0px auto;
|
||||
}
|
||||
.radius-2{
|
||||
border-radius: 2px;
|
||||
}
|
||||
.normal{
|
||||
width: 1200px;
|
||||
|
|
|
@ -139,43 +139,6 @@ class LoginDialog extends Component {
|
|||
Phonenumberisnotco:undefined,
|
||||
})
|
||||
}
|
||||
// let reg = /^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/;
|
||||
// let reg1 = /^1\d{10}$/;
|
||||
// let reg2=/^[a-zA-z]\w{3,14}$/;
|
||||
// // let reg3=/^[a-zA-Z0-9]+([.\-_\\]*[a-zA-Z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/;
|
||||
// let value=this.refs.loginPassText.value;
|
||||
// let valuenum= value.length;
|
||||
// if(valuenum>0){
|
||||
// if(!reg.test(value)&&!reg1.test(value)&&!reg2.test(value)){
|
||||
// this.setState({regular:1})
|
||||
// return
|
||||
// }else{
|
||||
// // this.setState({loginValue:value});
|
||||
// this.setState({regular:0});
|
||||
// var stirngt;
|
||||
// if(value.length>0){
|
||||
// var str= value.replace(/\s*/g,"")
|
||||
// stirngt=str;
|
||||
// }else{
|
||||
// stirngt= value;
|
||||
// }
|
||||
// this.setState({
|
||||
// loginValue:stirngt,
|
||||
// });
|
||||
// }
|
||||
// }else{
|
||||
// this.setState({loginValue:value});
|
||||
// var stirngt;
|
||||
// if(value.length>0){
|
||||
// var str= value.replace(/\s*/g,"")
|
||||
// stirngt=str;
|
||||
// }else{
|
||||
// stirngt= value;
|
||||
// }
|
||||
// this.setState({
|
||||
// loginValue:stirngt,
|
||||
// });
|
||||
// }
|
||||
};
|
||||
//邮箱手机号验证
|
||||
Emailphonenumberverification = (value, id) => {
|
||||
|
@ -374,13 +337,6 @@ class LoginDialog extends Component {
|
|||
isRender:this.props.isRender
|
||||
})
|
||||
}
|
||||
|
||||
// $(document).on("showLoginDialog", (e, args)=>{
|
||||
// this.setState({
|
||||
// isRender: true
|
||||
// })
|
||||
// })
|
||||
|
||||
this.dragWrapper();
|
||||
|
||||
axios.interceptors.response.use((response) => {
|
||||
|
@ -393,64 +349,13 @@ class LoginDialog extends Component {
|
|||
}
|
||||
return response;
|
||||
}, (error) => {
|
||||
// // if (error.response && error.response.data.error === '401 Unauthorized') {
|
||||
// // this.back_url = window.location.href;
|
||||
// // this.setState({
|
||||
// // isRender: true
|
||||
// // })
|
||||
// // // TODO 这里如果样式变了会出现css不加载的情况
|
||||
// // const $ = window.$;
|
||||
// // const isCssLoaded = window.getComputedStyle($('.log_nav li.active')[0], null)
|
||||
// // .getPropertyValue('border-bottom')
|
||||
// // == "2px solid rgb(69, 155, 229)"
|
||||
// // if (!isCssLoaded) {
|
||||
// // const isPort3007 = window.location.port == 3007;
|
||||
// // let _url_origin = isPort3007 ? 'http://localhost:3000' : ''
|
||||
// //
|
||||
// // $('head').append( $('<link rel="stylesheet" type="text/css" />')
|
||||
// // .attr('href', `${_url_origin}/stylesheets/educoder/edu-main.css`) );
|
||||
// // $('head').append( $('<link rel="stylesheet" type="text/css" />')
|
||||
// // .attr('href', `${_url_origin}/stylesheets/educoder/edu-all.css`) );
|
||||
// // }
|
||||
// // }
|
||||
// // return Promise.reject(error);
|
||||
});
|
||||
}
|
||||
handleDialogClose = () => {
|
||||
// if(this.props.match.path==='/'){
|
||||
// this.setState({
|
||||
// isRender: false
|
||||
// })
|
||||
// this.props.Modifyloginvalue();
|
||||
// }else{
|
||||
// if(this.props.isloginCancel===undefined){
|
||||
// window.location.href="/";
|
||||
// this.props.Modifyloginvalue();
|
||||
// // this.setState({
|
||||
// // isRender: false
|
||||
// // })
|
||||
// // this.props.Modifyloginvalue();
|
||||
// }else{
|
||||
// this.setState({
|
||||
// isRender: false
|
||||
// })
|
||||
// this.props.Modifyloginvalue();
|
||||
// }
|
||||
|
||||
this.setState({
|
||||
isRender: false
|
||||
})
|
||||
this.props.Modifyloginvalue();
|
||||
|
||||
|
||||
// this.setState({
|
||||
// isRender: false
|
||||
// })
|
||||
// try {
|
||||
// this.props.Modifyloginvalue();
|
||||
// }catch (e) {
|
||||
//
|
||||
// }
|
||||
}
|
||||
|
||||
loginEDU=()=>{
|
||||
|
@ -501,8 +406,6 @@ class LoginDialog extends Component {
|
|||
});
|
||||
}
|
||||
}else{
|
||||
|
||||
|
||||
broadcastChannelPostMessage('refreshPage')
|
||||
this.setState({
|
||||
isRender:false
|
||||
|
@ -559,9 +462,7 @@ class LoginDialog extends Component {
|
|||
this.setState({
|
||||
qqlogin:true
|
||||
})
|
||||
//window.location.href=`https://graph.qq.com/oauth2.0/show?which=Login&display=pc&client_id=101508858&redirect_uri=https%3a%2f%2f${window.location.host}%2otherloginqq&response_type=code`
|
||||
window.location.href=`https://graph.qq.com/oauth2.0/show?which=Login&display=pc&client_id=101508858&redirect_uri=https%3a%2f%2fwww.educoder.net%2fotherloginqq&state=null,${window.location.host}&response_type=code`
|
||||
// window.location.href=`https://graph.qq.com/oauth2.0/show?which=Login&display=pc&client_id=101508858&redirect_uri=https%3a%2f%2fwww.educoder.net%2fotherloginstart&tp=qq&response_type=code`
|
||||
}
|
||||
|
||||
openphoneqqlogin=()=>{
|
||||
|
@ -600,19 +501,6 @@ class LoginDialog extends Component {
|
|||
modalsType={this.state.MyEduCoderModals}
|
||||
setNotcompleteds={()=>{this.setNotcompleteds()}}
|
||||
/>
|
||||
|
||||
{/*{this.state.isphone===false||this.props.user&&this.props.user.main_site===false?<style>*/}
|
||||
{/*{*/}
|
||||
{/*`*/}
|
||||
{/*#DialogID .dialogBox {*/}
|
||||
{/*width: 405px !important;*/}
|
||||
{/*}*/}
|
||||
{/*.dialogBox {*/}
|
||||
{/*height: 290px !important;*/}
|
||||
{/*}*/}
|
||||
{/*`*/}
|
||||
{/*}*/}
|
||||
{/*</style>:""}*/}
|
||||
<style>
|
||||
{
|
||||
`
|
||||
|
@ -626,154 +514,122 @@ class LoginDialog extends Component {
|
|||
}
|
||||
</style>
|
||||
{isRender===true?
|
||||
<div className={dialogBox}>
|
||||
<div id="closeIcon" className={"logincloseIcon"} onClick={()=>{this.handleDialogClose()}}>
|
||||
<i className="iconfont icon-shanchudiao"></i>
|
||||
<div className={dialogBox}>
|
||||
<div id="closeIcon" className={"logincloseIcon"} onClick={()=>{this.handleDialogClose()}}>
|
||||
<i className="iconfont icon-shanchudiao"></i>
|
||||
</div>
|
||||
<div id="log_reg_content" >
|
||||
{weixinlogin===true?"": <ul className="log_nav clearfix">
|
||||
<li onClick={()=>{this.enter(0)}}>登录</li>
|
||||
</ul>}
|
||||
<div className="login-panel" id="login-panel-1" style={{display: login==0?'block':'none'}}>
|
||||
{weixinlogin===true?"":<form acceptCharset="UTF-8" action="/login" id="main_login_form" method="post">
|
||||
|
||||
<div style={{"display":"inline","padding":"0","margin":"0"}}>
|
||||
<input name="utf8" type="hidden" value="✓"></input>
|
||||
<input name="authenticity_token" type="hidden" value="NVLiIlHZfhVBQtO9djnWncJqqdikNQIIxEmOvzK9vNM="></input>
|
||||
</div>
|
||||
|
||||
<div id="log_reg_content" >
|
||||
{weixinlogin===true?"": <ul className="log_nav clearfix">
|
||||
<li onClick={()=>{this.enter(0)}}>登录</li>
|
||||
{/*<li className={speedy==0?'active':''} onClick={()=>{this.register(0)}}>快捷登录</li>*/}
|
||||
</ul>}
|
||||
|
||||
|
||||
<div className="login-panel" id="login-panel-1" style={{display: login==0?'block':'none'}}>
|
||||
{weixinlogin===true?"":<form acceptCharset="UTF-8" action="/login" id="main_login_form" method="post">
|
||||
|
||||
<div style={{"display":"inline","padding":"0","margin":"0"}}>
|
||||
<input name="utf8" type="hidden" value="✓"></input>
|
||||
<input name="authenticity_token" type="hidden" value="NVLiIlHZfhVBQtO9djnWncJqqdikNQIIxEmOvzK9vNM="></input>
|
||||
</div>
|
||||
|
||||
<input name="back_url" type="hidden" value={this.back_url}></input>
|
||||
<input
|
||||
type="text"
|
||||
className="input-100-45 mt20"
|
||||
id="name_loggin_input"
|
||||
ref="loginPassText"
|
||||
onInput={this.loginChange}
|
||||
onBlur={(e) => this.inputOnBlur(e, 1)}
|
||||
onPressEnter={disabled === false ?
|
||||
this.loginEDU : () => {
|
||||
}
|
||||
// console.log(1)
|
||||
}
|
||||
value={this.state.loginValue}
|
||||
name="username"
|
||||
placeholder="请输入有效的手机号/邮箱号" ></input>
|
||||
|
||||
<div style={{height: '25px'}}><p className="color-orange edu-txt-left none" id="username_error_notice"
|
||||
style={{display: Phonenumberisnotco===undefined?'none':'block'}}>{Phonenumberisnotco}</p></div>
|
||||
|
||||
<div>
|
||||
<input type="password" id="password_loggin_input"
|
||||
name="password"
|
||||
ref="passwordText"
|
||||
onInput={this.passwordChange}
|
||||
onKeyDown={this.onKeydowns}
|
||||
className="input-100-45 mt5"
|
||||
onPressEnter={disabled === false ?
|
||||
this.loginEDU : () => {
|
||||
}
|
||||
// console.log(1)
|
||||
}
|
||||
placeholder="密码" >
|
||||
</input>
|
||||
<div style={{height: '25px'}}>
|
||||
<p className="color-orange edu-txt-left none" id="password_error_notice">
|
||||
请输入密码
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{/*<button className={bottonclass} id="psd_login_btn" onClick={this.loginEDU} disabled={disabled}>*/}
|
||||
|
||||
{/*</button>*/}
|
||||
|
||||
<div className={disabled===false?"bluebutton edu-back-blue":"bluebutton"}
|
||||
onClick={disabled===false?
|
||||
this.loginEDU: () => {}
|
||||
// console.log(1)
|
||||
}
|
||||
>
|
||||
登录
|
||||
</div>
|
||||
|
||||
<p className="clearfix mt20">
|
||||
|
||||
<span className="fl">
|
||||
<input type="checkbox"
|
||||
className="mr5 magic-checkbox"
|
||||
checked={isGoing}
|
||||
onChange={this.handleInputChange}
|
||||
value={isGoingValue}
|
||||
name="isGoing"
|
||||
id="p_autolog"></input>
|
||||
<label htmlFor="p_autolog" style={{top:'0px'}}>下次自动登录</label>
|
||||
</span>
|
||||
|
||||
<span className="fr">
|
||||
<a onClick={(url) => this.getloginurl("/changepassword")}
|
||||
className="mr3 color-grey-9">找回密码</a><em className="vertical-line"></em>
|
||||
<a onClick={(url)=>this.getloginurl("/register")} className="color-grey-9">注册</a>
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
||||
{this.props.user&&this.props.user.main_site===true?this.state.isphone===true?<p className="clearfix mt20">
|
||||
|
||||
<span className={"startlogin"}>———————— 快速登录 ————————</span>
|
||||
<div className={"mt10"}>
|
||||
<a onClick={()=>this.openweixinlogin()}>
|
||||
<img src={require('./WeChat.png')} alt="微信登录"/>
|
||||
</a>
|
||||
<a onClick={()=>this.openqqlogin()} className={"ml10"}>
|
||||
<img src={require('./qq.png')} alt="qq登录"/>
|
||||
</a>
|
||||
</div>
|
||||
</p>:<p className="clearfix mt20">
|
||||
|
||||
<span className={"startlogin"}>———————— 快速登录 ————————</span>
|
||||
<div className={"mt10"}>
|
||||
{/*<a onClick={()=>this.openweixinlogin()}>*/}
|
||||
{/*<img src={require('./WeChat.png')} alt="微信登录"/>*/}
|
||||
{/*</a>*/}
|
||||
<a onClick={()=>this.openphoneqqlogin()} className={"ml10"}>
|
||||
<img src={require('./qq.png')} alt="qq登录"/>
|
||||
</a>
|
||||
</div>
|
||||
</p>:""}
|
||||
|
||||
|
||||
|
||||
</form>}
|
||||
{weixinlogin===true?<iframe
|
||||
className={"weixinheight390"}
|
||||
frameBorder="0"
|
||||
sandbox="allow-scripts allow-same-origin allow-top-navigation"
|
||||
scrolling="no"
|
||||
src={`https://open.weixin.qq.com/connect/qrconnect?appid=wx6b119e2d829c13fa&redirect_uri=https%3a%2f%2fwww.educoder.net%2fotherloginstart&response_type=code&scope=snsapi_login&state=null,${window.location.host}#wechat_redirect`}></iframe>:""}
|
||||
|
||||
|
||||
{weixinlogin===true?<p className="clearfix ">
|
||||
<a className={"startlogin color-blue"} onClick={()=>this.hideweixinlogin()}>返回账号登录</a>
|
||||
</p>:""}
|
||||
</div>
|
||||
|
||||
{/*快捷登录*/}
|
||||
|
||||
<input name="back_url" type="hidden" value={this.back_url}></input>
|
||||
<input
|
||||
type="text"
|
||||
className="input-100-45 mt20"
|
||||
id="name_loggin_input"
|
||||
ref="loginPassText"
|
||||
onInput={this.loginChange}
|
||||
onBlur={(e) => this.inputOnBlur(e, 1)}
|
||||
onPressEnter={disabled === false ?
|
||||
this.loginEDU : () => {
|
||||
}
|
||||
}
|
||||
value={this.state.loginValue}
|
||||
name="username"
|
||||
placeholder="请输入有效的手机号/邮箱号" ></input>
|
||||
|
||||
<div style={{height: '25px'}}><p className="color-orange edu-txt-left none" id="username_error_notice"
|
||||
style={{display: Phonenumberisnotco===undefined?'none':'block'}}>{Phonenumberisnotco}</p></div>
|
||||
|
||||
<div>
|
||||
<input type="password" id="password_loggin_input"
|
||||
name="password"
|
||||
ref="passwordText"
|
||||
onInput={this.passwordChange}
|
||||
onKeyDown={this.onKeydowns}
|
||||
className="input-100-45 mt5"
|
||||
onPressEnter={disabled === false ?
|
||||
this.loginEDU : () => {
|
||||
}
|
||||
}
|
||||
placeholder="密码" >
|
||||
</input>
|
||||
<div style={{height: '25px'}}>
|
||||
<p className="color-orange edu-txt-left none" id="password_error_notice">
|
||||
请输入密码
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
:""}
|
||||
</Dialog>
|
||||
<div className={disabled===false?"bluebutton edu-back-blue":"bluebutton"}
|
||||
onClick={disabled===false?
|
||||
this.loginEDU: () => {}
|
||||
}
|
||||
>
|
||||
登录
|
||||
</div>
|
||||
<p className="clearfix mt20">
|
||||
<span className="fl">
|
||||
<input type="checkbox"
|
||||
className="mr5 magic-checkbox"
|
||||
checked={isGoing}
|
||||
onChange={this.handleInputChange}
|
||||
value={isGoingValue}
|
||||
name="isGoing"
|
||||
id="p_autolog"></input>
|
||||
<label htmlFor="p_autolog" style={{top:'0px'}}>下次自动登录</label>
|
||||
</span>
|
||||
<span className="fr">
|
||||
<a onClick={(url) => this.getloginurl("/changepassword")}
|
||||
className="mr3 color-grey-9">找回密码</a><em className="vertical-line"></em>
|
||||
<a onClick={(url)=>this.getloginurl("/register")} className="color-grey-9">注册</a>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
);
|
||||
}
|
||||
{this.props.user&&this.props.user.main_site===true?this.state.isphone===true?<p className="clearfix mt20">
|
||||
<span className={"startlogin"}>———————— 快速登录 ————————</span>
|
||||
<div className={"mt10"}>
|
||||
<a onClick={()=>this.openweixinlogin()}>
|
||||
<img src={require('./WeChat.png')} alt="微信登录"/>
|
||||
</a>
|
||||
<a onClick={()=>this.openqqlogin()} className={"ml10"}>
|
||||
<img src={require('./qq.png')} alt="qq登录"/>
|
||||
</a>
|
||||
</div>
|
||||
</p>:<p className="clearfix mt20">
|
||||
|
||||
<span className={"startlogin"}>———————— 快速登录 ————————</span>
|
||||
<div className={"mt10"}>
|
||||
<a onClick={()=>this.openphoneqqlogin()} className={"ml10"}>
|
||||
<img src={require('./qq.png')} alt="qq登录"/>
|
||||
</a>
|
||||
</div>
|
||||
</p>:""}
|
||||
</form>}
|
||||
{weixinlogin===true?<iframe
|
||||
className={"weixinheight390"}
|
||||
frameBorder="0"
|
||||
sandbox="allow-scripts allow-same-origin allow-top-navigation"
|
||||
scrolling="no"
|
||||
src={`https://open.weixin.qq.com/connect/qrconnect?appid=wx6b119e2d829c13fa&redirect_uri=https%3a%2f%2fwww.educoder.net%2fotherloginstart&response_type=code&scope=snsapi_login&state=null,${window.location.host}#wechat_redirect`}></iframe>:""}
|
||||
{weixinlogin===true?<p className="clearfix ">
|
||||
<a className={"startlogin color-blue"} onClick={()=>this.hideweixinlogin()}>返回账号登录</a>
|
||||
</p>:""}
|
||||
</div>
|
||||
{/*快捷登录*/}
|
||||
</div>
|
||||
</div>
|
||||
:""}
|
||||
</Dialog>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export default LoginDialog ;
|
||||
|
|
|
@ -988,15 +988,6 @@ class Question extends Component {
|
|||
}
|
||||
return (
|
||||
<div className="newMain clearfix" ref={this.saveContainer}>
|
||||
<style>{
|
||||
`
|
||||
.newHeaders{
|
||||
position: fixed;
|
||||
top: 0px;
|
||||
z-index: 999 !important;
|
||||
}
|
||||
`
|
||||
}</style>
|
||||
{
|
||||
mydisplay === true ?
|
||||
<Certifiedprofessional {...this.props} {...this.state} ModalCancelsy={this.mydisplayHidedel} />
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -15,7 +15,49 @@ body>.-task-title {
|
|||
#root .search-all {
|
||||
width: 219px;
|
||||
}
|
||||
.newContainers{
|
||||
min-width: 1200px;
|
||||
max-width: unset;
|
||||
height: 100%;
|
||||
min-height: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
.newHeaders{
|
||||
max-width: unset;
|
||||
background: #fff !important;
|
||||
width: 100%;
|
||||
height:70px;
|
||||
min-width: 1200px;
|
||||
z-index: 1000;
|
||||
-moz-box-shadow: 0px 2px 10px 0px rgba(0,0,0,0.1);
|
||||
background:rgba(255,255,255,1);
|
||||
box-shadow:0px 2px 10px 0px rgba(0,0,0,0.1);
|
||||
}
|
||||
.headerContent{
|
||||
width:1200px;
|
||||
margin:0px auto;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 100%
|
||||
}
|
||||
.globalSpin {
|
||||
max-height: 700px !important;
|
||||
}
|
||||
.indexHOC > .ant-spin-nested-loading {
|
||||
background: #000;
|
||||
height: 100%;
|
||||
}
|
||||
.indexHOC > .ant-spin-nested-loading > div > .ant-spin .ant-spin-dot {
|
||||
top: 50% !important;
|
||||
}
|
||||
|
||||
.globalSpin .ant-spin-text {
|
||||
text-shadow: none !important;
|
||||
color: #fff;
|
||||
}
|
||||
.globalSpin .ant-spin-dot-item {
|
||||
background-color: #fff;
|
||||
}
|
||||
/*Header START*/
|
||||
.newHeader .logoimg {
|
||||
margin-top: 16px;
|
||||
|
@ -23,11 +65,6 @@ body>.-task-title {
|
|||
width: 97px;
|
||||
}
|
||||
|
||||
.head-right i {
|
||||
font-size: 20px;
|
||||
float: none !important;
|
||||
}
|
||||
|
||||
.headIcon,
|
||||
#header_keyword_search {
|
||||
padding-top: 13px !important;
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
import React from 'react';
|
||||
import NewHeader from './NewHeader'
|
||||
import NewFooter from './NewFooter'
|
||||
import SiderBar from './SiderBar'
|
||||
import { downloadFile } from 'educoder'
|
||||
import axios from 'axios';
|
||||
import { Spin } from 'antd';
|
||||
|
@ -662,49 +661,6 @@ export function TPMIndexHOC(WrappedComponent) {
|
|||
{...this.dialogObj}
|
||||
/> : ""}
|
||||
|
||||
<style>{
|
||||
`
|
||||
.newContainers{
|
||||
min-width: 1200px;
|
||||
max-width: unset;
|
||||
height: 100%;
|
||||
min-height: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
.newHeaders{
|
||||
// position: fixed;
|
||||
max-width: unset;
|
||||
background: #24292D !important;
|
||||
width: 100%;
|
||||
height: 60px !important;
|
||||
min-width: 1200px;
|
||||
z-index: 1000;
|
||||
-moz-box-shadow: 0px 0px 12px rgba(0,0,0,0.1);
|
||||
box-shadow: 0px 0px 12px rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
.globalSpin {
|
||||
max-height: 700px !important;
|
||||
}
|
||||
.indexHOC > .ant-spin-nested-loading {
|
||||
background: #000;
|
||||
height: 100%;
|
||||
}
|
||||
.indexHOC > .ant-spin-nested-loading > div > .ant-spin .ant-spin-dot {
|
||||
top: 50% !important;
|
||||
}
|
||||
|
||||
.globalSpin .ant-spin-text {
|
||||
text-shadow: none !important;
|
||||
color: #fff;
|
||||
}
|
||||
.globalSpin .ant-spin-dot-item {
|
||||
background-color: #fff;
|
||||
}
|
||||
`
|
||||
}</style>
|
||||
|
||||
|
||||
<NewHeader {...this.state} {...this.props}></NewHeader>
|
||||
<Spin spinning={this.state.globalLoading} delay={0} className="globalSpin"
|
||||
size="large"
|
||||
|
@ -717,11 +673,8 @@ export function TPMIndexHOC(WrappedComponent) {
|
|||
{...common}
|
||||
>
|
||||
</WrappedComponent>
|
||||
|
||||
</div>
|
||||
|
||||
</Spin>
|
||||
|
||||
<NewFooter
|
||||
{...this.state} {...this.props}
|
||||
Footerdown={Footerdown}
|
||||
|
|
|
@ -9,7 +9,7 @@ import InfoTab from '../common/InfoTab'
|
|||
import HeadlessModal from '../common/HeadlessModal'
|
||||
|
||||
import ClipboardJS from 'clipboard'
|
||||
import VideoPlay from '../../../courses/Video/video-play';
|
||||
// import VideoPlay from '../../../courses/Video/video-play';
|
||||
import { logWatchHistory } from '../../../../services/video-service';
|
||||
import { Base64 } from 'js-base64';
|
||||
|
||||
|
@ -271,7 +271,7 @@ function InfoVideo(props) {
|
|||
className="showVideoModal"
|
||||
width={800 - 1}
|
||||
>
|
||||
{videoModalObj.visible && <VideoPlay src={Base64.decode(videoId.file_url)} videoId={videoId.videoId} logWatchHistory={logWatchHistory} />}
|
||||
{/* {videoModalObj.visible && <VideoPlay src={Base64.decode(videoId.file_url)} videoId={videoId.videoId} logWatchHistory={logWatchHistory} />} */}
|
||||
<div className="df copyLine">
|
||||
<Input value={_inputValue}
|
||||
className="dark"
|
||||
|
|
Loading…
Reference in New Issue