fix: 替换部分JSON.parse(JSON.stringify

This commit is contained in:
gaoxiaolin.gao 2018-02-26 15:46:10 +08:00
parent 580d281a1f
commit e59a3e889f
8 changed files with 62 additions and 15 deletions

View File

@ -1,3 +1,8 @@
### v1.3.7
#### Feature
* 增加测试集合列表的拖动功能
### v1.3.6

View File

@ -95,7 +95,10 @@ export default class Run extends Component {
let header = [].concat(env[index].header);
header.forEach(item => {
if (!checkNameIsExistInArray(item.name, req_header)) {
item.abled = true;
item = {
...item,
abled: true
}
req_header.push(item)
}
})

View File

@ -166,12 +166,13 @@ class TimeTree extends Component {
async getApiList() {
let result = await this.props.fetchInterfaceList(this.props.typeid);
this.setState({
apiList: JSON.parse(JSON.stringify(result.payload.data.data))
apiList: result.payload.data.data
})
}
handleSelectApi = (interfaceId) => {
this.curInterfaceId = interfaceId;
console.log(interfaceId)
this.props.fetchNewsData(this.props.typeid, this.props.type, 1, 10, interfaceId)
}

View File

@ -17,7 +17,7 @@ import axios from 'axios'
import CaseReport from './CaseReport.js'
import _ from 'underscore'
import { initCrossRequest } from 'client/components/Postman/CheckCrossInstall.js'
import produce from 'immer'
const { handleParams, crossRequest, handleCurrDomain, checkNameIsExistInArray } = require('common/postmanLib.js')
const {handleParamsValue, json_parse} = require('common/utils.js')
@ -142,7 +142,11 @@ class InterfaceColContent extends Component {
let header = currDomain.header;
header.forEach(item => {
if (!checkNameIsExistInArray(item.name, req_header)) {
item.abled = true;
// item.abled = true;
item = {
...item,
abled: true
}
req_header.push(item)
}
})
@ -151,13 +155,24 @@ class InterfaceColContent extends Component {
handleColdata = (rows) => {
let newRows = JSON.parse(JSON.stringify(rows))
newRows = newRows.map((item) => {
item.id = item._id;
item._test_status = item.test_status;
item.case_env = this.state.currColEnv || item.case_env
item.req_headers = this.handleReqHeader(item.req_headers)
return item;
// let newRows = JSON.parse(JSON.stringify(rows))
// newRows = newRows.map((item) => {
// item.id = item._id;
// item._test_status = item.test_status;
// item.case_env = this.state.currColEnv || item.case_env
// item.req_headers = this.handleReqHeader(item.req_headers)
// return item;
// })
let that = this;
let newRows = produce(rows, draftRows => {
draftRows.map(item=>{
item.id = item._id;
item._test_status = item.test_status;
item.case_env = that.state.currColEnv || item.case_env
item.req_headers = that.handleReqHeader(item.req_headers)
return item;
})
})
this.setState({

View File

@ -8,6 +8,7 @@ import axios from 'axios';
// import { Input, Icon, Button, Modal, message, Tooltip, Tree, Dropdown, Menu, Form } from 'antd';
import ImportInterface from './ImportInterface'
import { Input, Icon, Button, Modal, message, Tooltip, Tree, Form } from 'antd';
// import produce from 'immer'
const TreeNode = Tree.TreeNode;
const FormItem = Form.Item;
@ -327,9 +328,13 @@ export default class InterfaceColMenu extends Component {
filterCol = (e) => {
const value = e.target.value;
// console.log('list', this.props.interfaceColList);
// const newList = produce(this.props.interfaceColList, draftList => {})
// console.log('newList',newList);
this.setState({
filterValue: value,
list: JSON.parse(JSON.stringify(this.props.interfaceColList))
// list: newList
})
}

View File

@ -103,6 +103,16 @@ class AddInterfaceForm extends Component {
<Input onBlur={this.handlePath} addonBefore={prefixSelector} placeholder="/path" />
)}
</FormItem>
{/* <FormItem
>
<span> 详细的接口数据可以在编辑页面中添加</span>
</FormItem> */}
<FormItem
{...formItemLayout}
label="注"
>
<span>详细的接口数据可以在编辑页面中添加</span>
</FormItem>
<FormItem className="catModalfoot" wrapperCol={{ span: 24, offset: 8 }} >
<Button onClick={this.props.onCancel} style={{ marginRight: "10px" }} >取消</Button>
<Button

View File

@ -8,6 +8,7 @@ import AddInterfaceForm from './AddInterfaceForm';
import AddInterfaceCatForm from './AddInterfaceCatForm';
import axios from 'axios'
import { Link, withRouter } from 'react-router-dom';
import produce from 'immer'
const confirm = Modal.confirm;
const TreeNode = Tree.TreeNode;
@ -234,10 +235,16 @@ class InterfaceMenu extends Component {
copyInterface = async (id) => {
let interfaceData = await this.props.fetchInterfaceData(id);
let data = JSON.parse(JSON.stringify(interfaceData.payload.data.data));
data.title = data.title + '_copy';
data.path = data.path + '_' + Date.now();
axios.post('/api/interface/add', data).then((res) => {
// let data = JSON.parse(JSON.stringify(interfaceData.payload.data.data));
// data.title = data.title + '_copy';
// data.path = data.path + '_' + Date.now();
let data = interfaceData.payload.data.data;
let newData = produce(data, draftData => {
draftData.title = draftData.title + '_copy';
draftData.path = draftData.path + '_' + Date.now();
})
axios.post('/api/interface/add', newData).then((res) => {
if (res.data.errcode !== 0) {
return message.error(res.data.errmsg);
}

View File

@ -37,6 +37,7 @@
"deref": "^0.7.0",
"easy-json-schema": "0.0.2-beta",
"fs-extra": "^3.0.1",
"immer": "^1.1.1",
"js-base64": "^2.3.2",
"json-schema-ref-parser": "^4.0.0",
"json5": "^0.5.1",