opti: 多参数表达式由原有的 { } -> {{ }}

This commit is contained in:
suxiaoxin 2017-11-27 14:46:21 +08:00
parent f21a33de85
commit e1ba4bd642
3 changed files with 13 additions and 15 deletions

View File

@ -240,21 +240,19 @@ function handleValueWithFilter(context){
}
function handleParamsValue (val, context={}){
const variableRegexp = /\{\s*((?:\$|\@)?.+?)\}/g;
const variableRegexp = /\{\{\s*((?:\$|\@)?.+?)\}\}/g;
if (!val || typeof val !== 'string') {
return val;
}
val = val.trim();
if (!/^\{[\s\S]+\}$/.test(val)) {
try{
return filter(val, handleValueWithFilter(context))
}catch(err){
if (!/^\{\{[\s\S]+\}\}$/.test(val)) {
if(val[0] ==='@' || val[0] === '$'){
val = '{{' + val + '}}';
}else{
return val;
}
}
if(isJson(val)){
return val;
}
return val.replace(variableRegexp, function(str, match){
match = match.trim();
try{

View File

@ -155,7 +155,7 @@ class ModalPostman extends Component {
})
str += isShow ? ' | ' : '';
})
return str
return '{{ ' + str + ' }}'
}
return (
@ -201,9 +201,9 @@ class ModalPostman extends Component {
<Row className="modal-postman-expression">
<Col span={6}><h3 className="title">表达式</h3></Col>
<Col span={18}>
<span className="expression">{'{'}</span>
<span className="expression"></span>
<span className="expression-item">{outputParams()}</span>
<span className="expression">{'}'}</span>
<span className="expression"></span>
</Col>
</Row>
<Row className="modal-postman-preview">

View File

@ -14,10 +14,10 @@ test('handleParamsValue', t => {
})
t.is(handleParamsValue(" aaaa | length"), 4);
t.is(handleParamsValue("aaaa |upper "), 'AAAA')
t.is(handleParamsValue(" aaaa | length"), 'aaaa | length');
t.is(handleParamsValue("{{aaaa |upper }}"), 'AAAA')
t.is(handleParamsValue(json), json)
t.is(handleParamsValue(' { dkkdjf }'), 'dkkdjf')
t.is(handleParamsValue(' { dkkdjf | upper | kkk }'), '{ dkkdjf | upper | kkk }')
t.is(handleParamsValue(' {{ dkkdjf }}'), 'dkkdjf')
t.is(handleParamsValue(' {{ dkkdjf | upper | kkk }}'), '{{ dkkdjf | upper | kkk }}')
});