fix: env domain path bug

This commit is contained in:
suxiaoxin 2017-11-25 20:44:08 +08:00
parent 599d830af0
commit 27dca42943
3 changed files with 18 additions and 6 deletions

View File

@ -287,4 +287,15 @@ exports.safeAssign = (Obj, nextObj) => {
};
exports.simpleJsonPathParse = simpleJsonPathParse;
exports.handleMockWord = handleMockWord;
exports.handleMockWord = handleMockWord;
exports.joinPath = (domain, joinPath) =>{
let l = domain.length;
if(domain[l - 1] === '/'){
domain = domain.substr(0, l - 1)
}
if(joinPath[0] !== '/'){
joinPath = joinPath.substr(1);
}
return domain + joinPath;
}

View File

@ -9,7 +9,7 @@ import URL from 'url';
const MockExtra = require('common/mock-extra.js')
import './Postman.scss';
import json5 from 'json5'
import { isJson, handleJson, handleParamsValue } from '../../common.js'
import { isJson, handleJson, handleParamsValue,joinPath } from '../../common.js'
import _ from "underscore"
import ModalPostman from '../ModalPostman/index.js'
@ -260,7 +260,8 @@ export default class Run extends Component {
path = path.replace(`:${item.name}`, this.handleValue(item.value) || `:${item.name}`);
});
const urlObj = URL.parse(URL.resolve(_.find(domains, item => item.name === caseEnv).domain, '.' + path));
let curdomain = _.find(domains, item => item.name === caseEnv).domain;
const urlObj = URL.parse(joinPath(curdomain, path));
let pathQuery = {};
urlObj.query && urlObj.query.split('&').forEach(item => {

View File

@ -8,7 +8,7 @@ import { Tooltip, Icon, Button, Spin, Modal, message, Select, Switch } from 'ant
import { fetchInterfaceColList, fetchCaseList, setColData } from '../../../../reducer/modules/interfaceCol'
import HTML5Backend from 'react-dnd-html5-backend';
import { DragDropContext } from 'react-dnd';
import { isJson, handleJson, handleParamsValue } from '../../../../common.js'
import { isJson, handleJson, handleParamsValue, joinPath } from '../../../../common.js'
import mockEditor from '../InterfaceList/mockEditor';
import * as Table from 'reactabular-table';
import * as dnd from 'reactabular-dnd';
@ -196,7 +196,7 @@ class InterfaceColContent extends Component {
const { currProject } = this.props;
let requestParams = {};
let { case_env } = interfaceData;
let path = URL.resolve(currProject.basepath, interfaceData.path);
let path = joinPath(currProject.basepath, interfaceData.path);
interfaceData.req_params = interfaceData.req_params || [];
interfaceData.req_params.forEach(item => {
let val = this.handleValue(item.value);
@ -214,7 +214,7 @@ class InterfaceColContent extends Component {
currDomain = domains[0];
}
const urlObj = URL.parse(URL.resolve(currDomain.domain, '.' + path));
const urlObj = URL.parse(joinPath(currDomain.domain, path));
urlObj.query && urlObj.query.split('&').forEach(item => {
if (item) {
item = item.split('=');