diff --git a/src/api/http.ts b/src/api/http.ts index a122d603..33950baa 100644 --- a/src/api/http.ts +++ b/src/api/http.ts @@ -172,7 +172,9 @@ export const customizeHttp = (targetParams: RequestConfigType, globalParams: Req case RequestBodyEnum.JSON: headers['Content-Type'] = ContentTypeEnum.JSON - data = translateStr(JSON.parse(targetRequestParams.Body['json'])) + //json对象也能使用'javasctipt:'来动态拼接参数 + data = translateStr(targetRequestParams.Body['json']) + if(typeof data === 'string') data = JSON.parse(data) // json 赋值给 data break diff --git a/src/utils/utils.ts b/src/utils/utils.ts index 95203154..31f23b06 100644 --- a/src/utils/utils.ts +++ b/src/utils/utils.ts @@ -298,6 +298,10 @@ export const JSONStringify = (data: T) => { export const JSONParse = (data: string) => { return JSON.parse(data, (k, v) => { if (excludeParseEventKeyList.includes(k)) return v + if(typeof v === 'string' && v.indexOf('javascript:') > -1){ + //动态请求json中'javascript:'内容会影响模板content解析,直接返回 + return v + } if (typeof v === 'string' && v.indexOf && (v.indexOf('function') > -1 || v.indexOf('=>') > -1)) { return eval(`(function(){return ${v}})()`) } else if (typeof v === 'string' && v.indexOf && (v.indexOf('return ') > -1)) {