Commit 0568651b by 无尘

fix: 修改前端参数

parent cb7d4d1f
<!DOCTYPE html><html><head><meta charset=utf-8><link rel="shortcut icon" href=./favicon.ico><title>API网关管理平台</title><link href=./static/css/app.2041305ec872cc02d317c6acfd062a44.css rel=stylesheet></head><body style="min-width: 1400px;"><div id=app></div><script src=//web-1251519181.file.myqcloud.com/lib/vue/2.6.6/vue.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vue-router/3.0.2/vue-router.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vuex/3.1.0/vuex.min.js></script><script src=//web-1251519181.file.myqcloud.com/components/img-preview.2.0.00.js></script><script>// Raven.config('https://3715a345910d4c768e7a1ec14619c2d5@sentry.io/1413672').install();</script><script type=text/javascript src=./static/js/manifest.443eba3c398a41a3653c.js></script><script type=text/javascript src=./static/js/vendor.bb8c036d7dd62f4cb37a.js></script><script type=text/javascript src=./static/js/app.434c40aceca40251eccb.js></script></body></html> <!DOCTYPE html><html><head><meta charset=utf-8><link rel="shortcut icon" href=./favicon.ico><title>API网关管理平台</title><link href=./static/css/app.79e94e146cb291182eba799ec6c9710f.css rel=stylesheet></head><body style="min-width: 1400px;"><div id=app></div><script src=//web-1251519181.file.myqcloud.com/lib/vue/2.6.6/vue.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vue-router/3.0.2/vue-router.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vuex/3.1.0/vuex.min.js></script><script src=//web-1251519181.file.myqcloud.com/components/img-preview.2.0.00.js></script><script>// Raven.config('https://3715a345910d4c768e7a1ec14619c2d5@sentry.io/1413672').install();</script><script type=text/javascript src=./static/js/manifest.8372160805f2c7e11b85.js></script><script type=text/javascript src=./static/js/vendor.bb8c036d7dd62f4cb37a.js></script><script type=text/javascript src=./static/js/app.434c40aceca40251eccb.js></script></body></html>
\ No newline at end of file \ No newline at end of file
!function(e){var n=window.webpackJsonp;window.webpackJsonp=function(r,o,a){for(var f,d,i,u=0,b=[];u<r.length;u++)d=r[u],t[d]&&b.push(t[d][0]),t[d]=0;for(f in o)Object.prototype.hasOwnProperty.call(o,f)&&(e[f]=o[f]);for(n&&n(r,o,a);b.length;)b.shift()();if(a)for(u=0;u<a.length;u++)i=c(c.s=a[u]);return i};var r={},t={21:0};function c(n){if(r[n])return r[n].exports;var t=r[n]={i:n,l:!1,exports:{}};return e[n].call(t.exports,t,t.exports,c),t.l=!0,t.exports}c.e=function(e){var n=t[e];if(0===n)return new Promise(function(e){e()});if(n)return n[2];var r=new Promise(function(r,c){n=t[e]=[r,c]});n[2]=r;var o=document.getElementsByTagName("head")[0],a=document.createElement("script");a.type="text/javascript",a.charset="utf-8",a.async=!0,a.timeout=12e4,c.nc&&a.setAttribute("nonce",c.nc),a.src=c.p+"static/js/"+e+"."+{0:"8d33a005548cc91f2535",1:"0ebe3ead93207dc78a78",2:"fac62c287ed64c85dd0f",3:"9d8da2e9b9ec2f268553",4:"5cf354492baf8ad83eda",5:"e704f35bae2785ada05b",6:"03233da003452ba92dd2",7:"4cb82e13df0c0c5b4b13",8:"b7ed0abeb26ad276c2a5",9:"bd4ba95c34a584a7dc76",10:"638039a7b39908980436",11:"80fde13c3f372ead3f07",12:"3b9c756b15cf547445f5",13:"369e10e7c7f25760058c",14:"9825bb69e60b8030c230",15:"cb7b875c24b40e9cb6e0",16:"59c1113679bef2e96538",17:"9647068d2291863c5016",18:"37321ffca9347a60b988"}[e]+".js";var f=setTimeout(d,12e4);function d(){a.onerror=a.onload=null,clearTimeout(f);var n=t[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return a.onerror=a.onload=d,o.appendChild(a),r},c.m=e,c.c=r,c.d=function(e,n,r){c.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},c.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return c.d(n,"a",n),n},c.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},c.p="./",c.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
!function(e){var n=window.webpackJsonp;window.webpackJsonp=function(r,a,c){for(var f,b,i,u=0,d=[];u<r.length;u++)b=r[u],t[b]&&d.push(t[b][0]),t[b]=0;for(f in a)Object.prototype.hasOwnProperty.call(a,f)&&(e[f]=a[f]);for(n&&n(r,a,c);d.length;)d.shift()();if(c)for(u=0;u<c.length;u++)i=o(o.s=c[u]);return i};var r={},t={21:0};function o(n){if(r[n])return r[n].exports;var t=r[n]={i:n,l:!1,exports:{}};return e[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.e=function(e){var n=t[e];if(0===n)return new Promise(function(e){e()});if(n)return n[2];var r=new Promise(function(r,o){n=t[e]=[r,o]});n[2]=r;var a=document.getElementsByTagName("head")[0],c=document.createElement("script");c.type="text/javascript",c.charset="utf-8",c.async=!0,c.timeout=12e4,o.nc&&c.setAttribute("nonce",o.nc),c.src=o.p+"static/js/"+e+"."+{0:"d2aeaa955782b02febee",1:"0ebe3ead93207dc78a78",2:"f33ba2789d5b013fd858",3:"9d8da2e9b9ec2f268553",4:"7068a3032e228b58b8f2",5:"e704f35bae2785ada05b",6:"38bb4eb7a29698fb12bf",7:"c43b8ee3bf9b282281a7",8:"a041df608a170932edaf",9:"dc5f57f1065e479c7783",10:"638039a7b39908980436",11:"2c92b109a28bdd0cc6cc",12:"3b9c756b15cf547445f5",13:"2e223aea8aa7180fb838",14:"9825bb69e60b8030c230",15:"cb7b875c24b40e9cb6e0",16:"59c1113679bef2e96538",17:"b2dee7f6f3f3b82b19bf",18:"37321ffca9347a60b988"}[e]+".js";var f=setTimeout(b,12e4);function b(){c.onerror=c.onload=null,clearTimeout(f);var n=t[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return c.onerror=c.onload=b,a.appendChild(c),r},o.m=e,o.c=r,o.d=function(e,n,r){o.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},o.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(n,"a",n),n},o.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},o.p="./",o.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
...@@ -81,3 +81,17 @@ export function formatNum(num) { ...@@ -81,3 +81,17 @@ export function formatNum(num) {
.split('.')[1] .split('.')[1]
); );
} }
/**
* 重复判断
*/
export function isRepeat(arr) {
let hash = {};
for (let i in arr) {
if (hash[arr[i]]) {
return true;
}
hash[arr[i]] = true;
}
return false;
}
...@@ -129,6 +129,8 @@ import limitTextarea from '@/components/limit-textarea.vue'; ...@@ -129,6 +129,8 @@ import limitTextarea from '@/components/limit-textarea.vue';
import limitInput from '@/components/limit-input.vue'; import limitInput from '@/components/limit-input.vue';
import { postRequest } from '@/api/api'; import { postRequest } from '@/api/api';
import errMsg from '@/assets/js/error'; import errMsg from '@/assets/js/error';
import showMsg from '@/assets/js/showmsg';
import { isRepeat } from '@/assets/js/public';
export default { export default {
name: 'create-backend', name: 'create-backend',
components: { components: {
...@@ -266,8 +268,14 @@ export default { ...@@ -266,8 +268,14 @@ export default {
/** /**
* 处理保存数据 * 处理保存数据
*/ */
handlebackData() { async handlebackData() {
const that = this; const that = this;
const paramKeys = [...Object.keys(that.constData.properties)];
let returnFlag = await isRepeat(paramKeys);
if (returnFlag) {
showMsg.showmsg('参数名重复', 'warning');
return false;
}
that.apiInfoData.backHeaderData = that.backHeaderData; that.apiInfoData.backHeaderData = that.backHeaderData;
that.apiInfoData.backQueryData = that.backQueryData; that.apiInfoData.backQueryData = that.backQueryData;
that.apiInfoData.backBodyJsonData = that.backBodyJsonData; that.apiInfoData.backBodyJsonData = that.backBodyJsonData;
......
...@@ -88,6 +88,8 @@ import limitTextarea from '@/components/limit-textarea.vue'; ...@@ -88,6 +88,8 @@ import limitTextarea from '@/components/limit-textarea.vue';
import limitInput from '@/components/limit-input.vue'; import limitInput from '@/components/limit-input.vue';
import headerParam from '@/components/createApi/header-param.vue'; import headerParam from '@/components/createApi/header-param.vue';
import bodyParam from '@/components/createApi/body-param.vue'; import bodyParam from '@/components/createApi/body-param.vue';
import showMsg from '@/assets/js/showmsg';
import { isRepeat } from '@/assets/js/public';
export default { export default {
name: 'create-front', name: 'create-front',
components: { components: {
...@@ -235,8 +237,20 @@ export default { ...@@ -235,8 +237,20 @@ export default {
} }
}); });
}, },
handleData() {
async handleData() {
const that = this; const that = this;
// 判断参数重复
let paramKeys = [...Object.keys(that.queryData.properties), ...Object.keys(that.headerData.properties)];
if (that.apiInfoData.requestType == 'POST' && that.apiInfoData.frontBodyType == 'form') {
paramKeys = [...paramKeys, ...Object.keys(that.bodyFormData.properties)];
}
let returnFlag = await isRepeat(paramKeys);
if (returnFlag) {
showMsg.showmsg('参数名重复', 'warning');
return false;
}
if (that.apiInfoData.requestType == 'POST' && that.apiInfoData.frontBodyType == 'json') { if (that.apiInfoData.requestType == 'POST' && that.apiInfoData.frontBodyType == 'json') {
if (Object.keys(that.bodyFormData.properties.root.properties).length) { if (Object.keys(that.bodyFormData.properties.root.properties).length) {
that.bodyFormData.properties.root.required = []; that.bodyFormData.properties.root.required = [];
......
...@@ -93,7 +93,7 @@ import limitInput from '@/components/limit-input.vue'; ...@@ -93,7 +93,7 @@ import limitInput from '@/components/limit-input.vue';
import headerParam from '@/components/createApi/header-param.vue'; import headerParam from '@/components/createApi/header-param.vue';
import resultTable from '@/components/createApi/result-table.vue'; import resultTable from '@/components/createApi/result-table.vue';
import { postRequest } from '@/api/api'; import { postRequest } from '@/api/api';
import { _debounce } from '@/assets/js/public'; import { _debounce, isRepeat } from '@/assets/js/public';
import showMsg from '@/assets/js/showmsg'; import showMsg from '@/assets/js/showmsg';
import errMsg from '@/assets/js/error'; import errMsg from '@/assets/js/error';
export default { export default {
...@@ -114,7 +114,6 @@ export default { ...@@ -114,7 +114,6 @@ export default {
// 错误码 // 错误码
errCode: [] errCode: []
}, },
errCode: [], // 错误码
errOptions: [], // 错误码 errOptions: [], // 错误码
resultParams: { resultParams: {
type: 'object', type: 'object',
...@@ -218,8 +217,18 @@ export default { ...@@ -218,8 +217,18 @@ export default {
/** /**
* 处理前端数据 * 处理前端数据
*/ */
handleFrontData() { async handleFrontData() {
const that = this; const that = this;
if (!that.apiInfoData.errCode.length) {
showMsg.showmsg('请完善错误码', 'warning');
return false;
}
const paramKeys = [...that.apiInfoData.errCode.map(item => item.error_code)];
let returnFlag = await isRepeat(paramKeys);
if (returnFlag) {
showMsg.showmsg('原始错误码重复', 'warning');
return false;
}
let obj = { let obj = {
type: 'object', type: 'object',
level: 1, level: 1,
...@@ -257,6 +266,9 @@ export default { ...@@ -257,6 +266,9 @@ export default {
async handleFrontBackData() { async handleFrontBackData() {
const that = this; const that = this;
let frontParams = await that.handleFrontData(); let frontParams = await that.handleFrontData();
if (!frontParams) {
return false;
}
let endParams = await that.handleBackData(); let endParams = await that.handleBackData();
await that.toPostApi(frontParams, endParams); await that.toPostApi(frontParams, endParams);
}, },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment