修改创客,优化创客调用Java发送请求的接口

This commit is contained in:
何童崇 2021-11-25 11:26:59 +08:00
parent 70536036e1
commit 7f0b770dca
13 changed files with 83 additions and 157 deletions

View File

@ -56,8 +56,8 @@ export function initAxiosInterceptors(props) {
// TODO 避免重复的请求 https://github.com/axios/axios#cancellation
var
proxy = "http://localhost:3000";
proxy = "https://forge.osredm.com";
// proxy = "http://117.50.100.12:49999";
// proxy = "https://forge.osredm.com";
proxy = "http://117.50.100.12:49999";
const requestMap = {};
window.setfalseInRequestMap = function (keyName) {

View File

@ -1,7 +1,7 @@
import React, { useEffect, useState } from "react";
import { Upload, Button } from 'antd';
import { appendFileSizeToUploadFileAll } from 'educoder';
import { httpUrl } from '../fetch';
import { httpUrl } from '../task/fetch';
function Uploads({ className, size, actionUrl, fileList, showNotification, load }) {
const [files, setFiles] = useState(undefined);

View File

@ -1,4 +1,4 @@
import { httpUrl } from '../fetch';
import { httpUrl } from '../task/fetch';
export const editorConfig = {
placeholder: '请输入',

View File

@ -1,24 +1,20 @@
import { notification,message } from 'antd';
import { notification} from 'antd';
import axios from 'axios';
import cookie from 'react-cookies';
let settings=JSON.parse(localStorage.chromesetting);
let actionUrl = settings.api_urls? settings.api_urls.task :'https://task.osredm.com';
if (window.location.href.indexOf('localhost') < 0) {
axios.defaults.withCredentials = true;
}
export const httpUrl = actionUrl;
const TokenKey = 'autologin_forge_military';
// 创建axios实例
const service = axios.create({
baseURL: httpUrl,
timeout: 10000, // 请求超时时间
});
// request拦截器
export const TokenKey = 'autologin_forge_military';
export default function javaFetch(actionUrl){
if (window.location.href.indexOf('localhost') < 0) {
axios.defaults.withCredentials = true;
}
// 创建axios实例
const service = axios.create({
baseURL: actionUrl,
timeout: 1800000, // 请求超时时间
});
// request拦截器
service.interceptors.request.use(config => {
if (cookie.load(TokenKey)) {
console.log(cookie.load(TokenKey));
@ -26,11 +22,11 @@ service.interceptors.request.use(config => {
}
if (window.location.port === "3007") {
// 模拟token为登录用户
const taskToken = sessionStorage.taskToken;
const osredmToken = sessionStorage.osredmToken;
if (config.url.indexOf('?') === -1) {
config.url = `${config.url}?token=${taskToken}`;
config.url = `${config.url}?token=${osredmToken}`;
} else {
config.url = `${config.url}&token=${taskToken}`;
config.url = `${config.url}&token=${osredmToken}`;
}
}
return config;
@ -110,4 +106,5 @@ service.interceptors.response.use(
}
);
export default service;
return service;
}

View File

@ -1,114 +1,10 @@
import { notification } from 'antd';
import axios from 'axios';
import cookie from 'react-cookies';
import javaFetch from '../javaFetch';
let settings = JSON.parse(localStorage.chromesetting);
let actionUrl = settings.api_urls ? settings.api_urls.notice : 'https://info.osredm.com';
if (window.location.href.indexOf('localhost')< 0) {
axios.defaults.withCredentials = true;
}
let settings=JSON.parse(localStorage.chromesetting);
let actionUrl = settings.api_urls? settings.api_urls.notice :'https://info.osredm.com';
const service = javaFetch(actionUrl);
export const httpUrl = actionUrl;
const TokenKey = 'autologin_forge_military';
// 创建axios实例
const service = axios.create({
baseURL: httpUrl,
timeout: 10000, // 请求超时时间
});
// 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") {
// 模拟token为登录用户
const taskToken = sessionStorage.taskToken;
if (config.url.indexOf('?') === -1) {
config.url = `${config.url}?token=${taskToken}`;
} else {
config.url = `${config.url}&token=${taskToken}`;
}
}
return config;
}, error => {
// Do something with request error
console.log(error); // for debug
Promise.reject(error);
});
// respone拦截器
service.interceptors.response.use(
response => {
const res = response;
if (res.status === 400) {
notification.open({
message: "提示",
description: res.data.message || '验证失败',
});
return Promise.reject('error');
}
if (res.status === 401) {
notification.open({
message: "提示",
description: res.data.message || '未授权,请登录!',
});
return Promise.reject('error');
}
if (res.status === 403) {
notification.open({
message: "提示",
description: res.data.message || '无权限',
});
return Promise.reject('error');
}
if (res.status === 40001) {
notification.open({
message: "提示",
description: '账户或密码错误!',
});
return Promise.reject('error');
}
if (response.status !== 200 && res.status !== 200) {
notification.open({
message: "提示",
description: res.message,
});
} else {
return response.data;
}
},
error => {
console.log(error);
let res = error.response || {};
if (res.status === 400) {
notification.open({
message: "提示",
description: res.data.message || '操作失败',
});
return Promise.reject('error');
}
if (res.status === 401) {
notification.open({
message: "提示",
description: res.data.message || '登录信息已过期',
});
return Promise.reject('error');
}
if (res.status === 403) {
notification.open({
message: "提示",
description: res.data.message || '无权限!',
});
window.location.href = "/403";
return Promise.reject('error');
}
return Promise.reject(error);
}
);
export default service;
export default service;

View File

@ -1,6 +1,5 @@
import fetch, { } from '../fetch';
import fetch, { } from './fetch';
import { notification } from 'antd';
import { func } from 'prop-types';
// 获取字典分类列表
export function getDictionary(id) {

View File

@ -66,7 +66,8 @@ export default props => {
return <Menu>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${main_web_site_url}/managements/enterprise_authentication`}>企业认证</a></Menu.Item>
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${main_web_site_url}/admin/reviews/projects_list`}>开源项目</a></Menu.Item>
<Menu.Item><a href="/task/taskManage">统筹任务发布审批</a></Menu.Item>
<Menu.Item><a href="/task/taskManage/1">统筹任务发布审批</a></Menu.Item>
<Menu.Item><a href="/task/taskManage/0">自主任务发布审批</a></Menu.Item>
<Menu.Item><a href="/task/paperComplain">成果上传申诉审批</a></Menu.Item>
<Menu.Item><a href="/task/publicityComplain">公示期成果申诉审批</a></Menu.Item>
<Menu.Item><a href="/task/agreementManage">协议审批</a></Menu.Item>

View File

@ -155,6 +155,10 @@ export default (props) => {
<div className="clearfix"></div>
<div className="width100">
<span className="with40 fl lineh-35">
<span className="color-grey-9 fl">发布方式:</span>
<span className="infos_item mr15 fl">{item.publishMode == 1 ? '统筹任务' : '自主提交'}</span>
</span>
<span className="with25 fl lineh-35">
<span className="color-grey-9 fl">所在行业:</span>
<span className="infos_item" style={{ maxWidth: '100px' }}>{categoryArr[item.categoryId]}</span>
</span>
@ -163,6 +167,7 @@ export default (props) => {
<span className="color-grey-9 fl">企业规模:</span>
<span className="infos_item" style={{ maxWidth: '100px' }}>{scale(item.enterpriseSimple.scale)}</span>
</span>}
{/* <span className="inline-block lineh-35">
<span className="color-grey-9 fl">所在职位:</span>
<span className="infos_item">普通员工</span>

View File

@ -0,0 +1,10 @@
import javaFetch from '../javaFetch';
let settings=JSON.parse(localStorage.chromesetting);
let actionUrl = settings.api_urls? settings.api_urls.task :'https://task.osredm.com';
const service = javaFetch(actionUrl);
export const httpUrl = actionUrl;
export default service;

View File

@ -4,7 +4,7 @@ import { Input, Select, Button, Form, DatePicker, Table, Pagination, } from 'ant
import { Link } from "react-router-dom";
import { paperCheckStatusArr, publishModeArr, taskStatusAllArr, showUserModeArr ,main_web_site_url} from '../static';
import { getTaskAdminList, changeShowUserMode } from '../api';
import { getTaskAdminList, changeShowUserMode,deleteTask } from '../api';
import '../index.scss';
import './index.scss';
const format = "YYYY-MM-DD HH:mm:ss";
@ -23,6 +23,7 @@ for (const item of paperCheckStatusArr) {
export default Form.create()(({ form, showNotification, match, history }) => {
const { getFieldDecorator, setFieldsValue, getFieldsValue } = form;
const [reload,setReload]=useState();
const [loading, setLoading] = useState(false);
const [statusString, setStatusString] = useState('');
const [publishMode, setPublishMode] = useState('');
@ -54,7 +55,7 @@ export default Form.create()(({ form, showNotification, match, history }) => {
}
setLoading(false);
})
}, [statusString, order, sort, publishMode, showUserMode, curPage, searchObj]);
}, [statusString, order, sort, publishMode, showUserMode, curPage, searchObj,reload]);
const helper = useCallback(
@ -101,7 +102,7 @@ export default Form.create()(({ form, showNotification, match, history }) => {
dataIndex: 'name',
width: "15%",
render: (text, record) => (
<Link className="line_1 color-grey3" to={`/task/taskDetail/${record.id}`}>{text}</Link>
<Link className="line_1 primary-link" to={`/task/taskDetail/${record.id}`}>{text}</Link>
),
},
{
@ -195,19 +196,29 @@ export default Form.create()(({ form, showNotification, match, history }) => {
</Select>
}
},
// {
// title: '',
// key: 'action',
// render: (text, record) => (
// <React.Fragment>
// {/* <Button className="mr5 font-12" type="danger" size="small" onClick={() => { deletItem(record.id) }}></Button> */}
// <Link className="line_1 color-grey3" to={`/task/taskDetail/${record.taskId}`}></Link>
// </React.Fragment>
// ),
// },
{
title: '操作',
key: 'action',
render: (text, record) => (
<React.Fragment>
<Button className="mr5 font-12" type="danger" size="small" onClick={() => { deletItem(record.id) }}>删除</Button>
{/* <Link className="line_1 color-grey3" to={`/task/taskDetail/${record.taskId}`}>查看</Link> */}
</React.Fragment>
),
},
]
}, []);
function deletItem(id){
deleteTask(id).then(res=>{
if(res.message==='success'){
showNotification('删除成功!');
setReload(Math.random());
}
});
}
function changeStatus(showUserMode, taskId) {
changeShowUserMode({
taskId,

View File

@ -44,6 +44,10 @@
padding: 1rem 0.2rem;
text-align: center;
}
a.primary-link {
color: #1890ff;
}
}
.inline-form {

View File

@ -59,7 +59,7 @@ const AdminPage = (propsF) => {
<Switch {...propsF}>
{/* 任务管理审核 */}
<Route
path="/task/taskManage"
path="/task/taskManage/:publishMode"
render={(props) => (
<TaskManage {...propsF} {...props} />
)}

View File

@ -1,4 +1,4 @@
import React, { useCallback, forwardRef, useEffect, useState } from 'react';
import React, { useCallback, useEffect, useState } from 'react';
import { Input, Button, Form } from 'antd';
import ItemTaskManage from '../components/itemTaskManage';
import StatusNav from '../../components/statusNav';
@ -6,7 +6,9 @@ import { approveArr, main_web_site_url } from '../static';
import { getTaskAdminList, getTaskCategory } from '../api';
import '../index.scss';
export default Form.create()(({ current_user, form, showNotification, match, history }) => {
export default Form.create()(({ form, showNotification, match, history }) => {
const publishMode = match.params.publishMode;
const { getFieldDecorator, validateFields, setFieldsValue, getFieldsValue } = form;
const [categoryArr, setCategoryArr] = useState([]);
@ -20,6 +22,7 @@ export default Form.create()(({ current_user, form, showNotification, match, his
const [reload, setReload] = useState(0);
useEffect(() => {
getTaskCategory().then(data => {
if (data) {
@ -39,7 +42,7 @@ export default Form.create()(({ current_user, form, showNotification, match, his
orderBy: 'createdAtDesc',
curPage,
pageSize: 10,
publishMode: 1
publishMode: publishMode || 1
};
setLoading(true);
getTaskAdminList(params).then(data => {