首页-合作伙伴

This commit is contained in:
谢思 2022-04-08 17:34:37 +08:00
parent de206759bd
commit 60c01d8682
13 changed files with 147 additions and 18 deletions

View File

@ -32,7 +32,8 @@ export function initAxiosInterceptors(props) {
// 判断网络是否连接
initOnlineOfflineListener();
var proxy = "https://testforgeplus.trustie.net";
// var proxy = "https://testforgeplus.trustie.net";
var proxy = "http://111.8.36.180:8000";
//响应前的设置
axios.interceptors.request.use(
config => {

View File

@ -19,7 +19,6 @@ export default function javaFetch(actionUrl){
// request拦截器
service.interceptors.request.use(config => {
if (cookie.load(TokenKey)) {
console.log(cookie.load(TokenKey));
config.headers['Authorization'] = cookie.load(TokenKey); // 让每个请求携带自定义token 请根据实际情况自行修改
}
if (window.location.port === "3007") {

47
src/glcc/api.js Normal file
View File

@ -0,0 +1,47 @@
import fetch from './fetch';
// 获取当前用户报名信息
export function getUserApplyInfo(params) {
return fetch({
url: '/api/applyInformation/getUserApplyInfo',
method: 'get',
params
});
}
// 获取单个wiki
export function getWiki(params) {
return fetch({
url: '/api/wiki/getWiki',
method: 'get',
params
});
}
//新增wiki
export function addWiki(data) {
return fetch({
url: '/api/wiki/createWiki',
method: 'post',
data: data
});
}
//更新wiki
export function updateWiki(data) {
return fetch({
url: '/api/wiki/updateWiki',
method: 'PUT',
data: data
});
}
//删除wiki
export function deleteWiki(data) {
return fetch({
url: '/api/wiki/deleteWiki',
method: 'DELETE',
data,
});
}

View File

@ -1,7 +1,8 @@
import React , { useCallback, useEffect , useState } from 'react';
import { Breadcrumb, Button, Form, Icon, Input, Select, Upload } from 'antd';
import {classify} from '../static';
import Axios from 'axios';
import {getUserApplyInfo} from '../api';
import axios from 'axios';
import './index.scss';
import TextArea from 'antd/lib/input/TextArea';
const Option = Select.Option;
@ -10,7 +11,8 @@ function Apply(props) {
const {getFieldDecorator, validateFields, setFieldsValue, validateFieldsAndScroll } = form;
const [imageUrl, setImageUrl] = useState(undefined);
const [loading, setLoading] = useState(false);
const [cateList, setCateList] = useState([]);
const helper = useCallback(
(label, extra, name, rules, widget) => (
<Form.Item label={label} extra={extra}>
@ -20,6 +22,19 @@ function Apply(props) {
[]
);
//
useEffect(()=>{
const url = `/project_categories/pinned_index.json`;
axios.get(url).then(result=>{
if(result && result.data){
setCateList(result.data.project_categories);
}
}).catch(error=>{})
current_user && getUserApplyInfo({userId: current_user.user_id}).then(response=>{
console.log(response);
})
}, [])
//
function verify(dataIndex){
validateFields([dataIndex],(error, values)=>{
@ -57,7 +72,7 @@ function Apply(props) {
'classify',
[],
<Select placeholder="请选择项目分类">
{classify.map((item,i)=> {return <Option value={item.value} key={i}>{item.value}</Option>})}
{cateList && cateList.map(item=> {return <Option value={item.id} key={item.id}>{item.name}</Option>})}
</Select>
)}
{helper('官网地址',
@ -106,8 +121,8 @@ function Apply(props) {
<div className='explain'>
<p className='font-15 c000'>申请说明</p>
<div>1项目报名时间为<span className='c000'>4月15日5月8日</span>请在报名截止时间北京时间<span className='c000'>2022年5月8日18点</span>前提交报名信息</div>
<div>2本次夏令营使用Gitlink为代码托管平台学员基于Gitlink上项目数量完成课程任务如果您的项目还未在Gitlink中请现将项目迁移到Gitlink迁移事项请查看迁移说明文档如在迁移过程中遇到问题请加qq群1071514693 联系qq群管理员</div>
<div>3提交社区和项目信息后欢迎与组委会联系沟通本次编程夏令营宣传推广和后续合作工作联系人_TigerWang微信号添加请备注Gitlink编程夏令营</div>
<div>2本次夏令营使用Gitlink为代码托管平台学员基于Gitlink上项目数量完成课程任务如果您的项目还未在Gitlink中请现将项目迁移到Gitlink迁移事项请查看<a href='https://forum.gitlink.org.cn/forums/7296/detail' target="_blank" className='link'>迁移说明文档</a>如在迁移过程中遇到问题请加qq群: 1071514693 联系qq群管理员</div>
<div>3提交社区和项目信息后欢迎与组委会联系沟通本次编程夏令营宣传推广和后续合作工作联系人: _TigerWang微信号添加请备注Gitlink编程夏令营</div>
</div>
</div>
</div>

View File

@ -29,10 +29,15 @@
margin-bottom: 0;
width: 118px;
height: 118px;
border: 1px solid;
}
.icon-tianjiadaohang:before{color: #b3c3db;}
.ant-upload-text{color: #a4aabb;}
.ant-input, .ant-select-selection, .ant-upload.ant-upload-select-picture-card{background: none !important;}
.ant-input, .ant-select-selection, .ant-upload.ant-upload-select-picture-card{
background: none !important;
border-color: #b3c3db;
&:hover{border-color:#466aff;}
}
}
.introArea{
width: 100%;
@ -65,5 +70,9 @@
.c000{color: #000000;}
div>.c000{font-weight: bold;}
>div{margin: 10px 0;}
.link{
color: rgba(70, 106, 255, 1);
&:hover{opacity: 0.8;}
}
}
}

8
src/glcc/fetch.js Normal file
View File

@ -0,0 +1,8 @@
import javaFetch from '../forge/javaFetch';
let settings = JSON.parse(localStorage.chromesetting);
let actionUrl = settings && settings.common.glcc;
const service = javaFetch(actionUrl);
export const httpUrl = actionUrl;
export default service;

View File

@ -1,11 +1,7 @@
import React , { useCallback, useEffect , useState } from 'react';
import { Breadcrumb, Button, Form, Icon, Input, Select, Upload } from 'antd';
import {classify} from '../static';
import React , { useEffect , useState } from 'react';
import { wikiPages, getWiki } from '../../forge/Wiki/api';
import Axios from 'axios';
import bg from '../img/help_bg.png';
import './index.scss';
import TextArea from 'antd/lib/input/TextArea';
const Option = Select.Option;
function Help(props) {
const [fileArrInit, setFileArrInit] = useState(null);
const [checkItem, setCheckItem] = useState({});
@ -51,10 +47,12 @@ function Help(props) {
<div className='menuList'>
<span className='font-18 mb15'>帮助文档</span>
{fileArrInit && fileArrInit.map(item => {
// onClick={() => { setCheckItem(item) }} checkItem.name
return <span className={`wiki_title font-15 mb15 ${item.name === checkItem.name? 'active' : ''}`} key={item.name} onClick={() => { setCheckItem(item) }}>{item.name}</span>})}
</div>
<div className="help_cntent" dangerouslySetInnerHTML={{ __html: itemDetail && itemDetail.simple_content }} ></div>
<div className="help_cntent pt10" >
<div dangerouslySetInnerHTML={{ __html: itemDetail && itemDetail.simple_content }}></div>
<img src={bg} className='bg'/>
</div>
</div>
</div>
)

View File

@ -23,4 +23,12 @@
color:#466aff;
}
}
.help_cntent{
position: relative;
.bg{
position: absolute;
width: 75vw;
top: 0;
}
}
}

View File

@ -1,6 +1,7 @@
import React from 'react';
import './index.scss';
import ccf from '../../img/ccf_logo.png';
import gitlink from '../../img/gitlink.png';
function Partner() {
@ -8,7 +9,24 @@ function Partner() {
<div className="partner">
<div className="glcc-content">
<h3 className="glcc-tit">组织方及合作伙伴</h3>
<div className='cont1'>
<div>
主办方
<div><img src={ccf}/></div>
</div>
<div>
承办方
<div><img src={ccf}/></div>
</div>
<div>
协办方
<div><img src={gitlink} className='gitlink'/></div>
</div>
</div>
<div>
赞助商
<div></div>
</div>
</div>
</div>
)

View File

@ -5,4 +5,30 @@
.glcc-tit{
color: #fff;
}
.cont1{
display: flex;
>div{
display: flex;
flex-direction: column;
color:#ffffff;
font-size: 20px;
margin-right: 35px;
}
>div>div{
background-image:linear-gradient(135deg,#e5e5f8 0%,#dee3ff 19.24%,#eff1ff 47.28%,#e6e6ff 71.19%,#ececff 100%);
border:2px solid #8b96ce;
border-radius:2px;
box-shadow:0px 1px 6px rgba(89, 150, 203, 0.16);
text-align: center;
width: 220px;
height: 85px;
line-height: 85px;
}
>div>div>img{
width: 80px;
}
>div>div>.gitlink{
width: 180px;
}
}
}

BIN
src/glcc/img/ccf_logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

BIN
src/glcc/img/gitlink.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

BIN
src/glcc/img/help_bg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 425 KiB