swaager.json
接口方法Json
/api/File/UploadFile
{ "path":"/api/File/UploadFile", "mockPath":"/\\/api\\/File\\/UploadFile/", "methodName":"uploadFile", "method":"post", "summary":"文件上传", "isExportFile":false, "parameters":{ "header":[ ], "body":[ ], "query":[ ], "path":[ ], "formData":[ { "type":"file", "name":"file", "in":"formData", "description":"文件参数", "x-nullable":true, "camelCaseName":"file", "cardinality":"", "tsType":{ "description":"文件参数", "isEnum":false, "tsType":"string | Blob", "isRef":false, "isObject":false, "isArray":false, "isAtomic":false } }, { "type":"string", "name":"directory", "in":"formData", "description":"目录名称", "default":"ccrt/", "x-nullable":true, "camelCaseName":"directory", "cardinality":"?", "tsType":{ "description":"目录名称", "isEnum":false, "tsType":"string", "isRef":false, "isObject":false, "isArray":false, "isAtomic":true } }, { "type":"string", "name":"extension", "in":"formData", "description":"文件后缀名", "x-nullable":true, "camelCaseName":"extension", "cardinality":"?", "tsType":{ "description":"文件后缀名", "isEnum":false, "tsType":"string", "isRef":false, "isObject":false, "isArray":false, "isAtomic":true } } ], "all":[ { "type":"file", "name":"file", "in":"formData", "description":"文件参数", "x-nullable":true, "camelCaseName":"file", "cardinality":"", "tsType":{ "description":"文件参数", "isEnum":false, "tsType":"string | Blob", "isRef":false, "isObject":false, "isArray":false, "isAtomic":false } }, { "type":"string", "name":"directory", "in":"formData", "description":"目录名称", "default":"ccrt/", "x-nullable":true, "camelCaseName":"directory", "cardinality":"?", "tsType":{ "description":"目录名称", "isEnum":false, "tsType":"string", "isRef":false, "isObject":false, "isArray":false, "isAtomic":true } }, { "type":"string", "name":"extension", "in":"formData", "description":"文件后缀名", "x-nullable":true, "camelCaseName":"extension", "cardinality":"?", "tsType":{ "description":"文件后缀名", "isEnum":false, "tsType":"string", "isRef":false, "isObject":false, "isArray":false, "isAtomic":true } } ] }, "responses":{ "description":"", "isEnum":false, "tsType":"ref", "target":"ResultObject3OfUploadResultDto", "isRef":true, "isObject":false, "isArray":false, "isAtomic":false }, "mockData":{ "Status":{ "Code":"@integer(0, 100)", "Remark":"@string" }, "ReturnData":{ "id":"@string", "old_name":"@string", "new_name":"@string", "is_img":"@boolean", "suffix":"@string", "file":{ "path":"@string", "url":"@string", "down_load_url":"@string", "size":"@integer(0, 100)", "width":"@integer(0, 100)", "height":"@integer(0, 100)" }, "thumbnail":{ "path":"@string", "url":"@string", "down_load_url":"@string", "size":"@integer(0, 100)", "width":"@integer(0, 100)", "height":"@integer(0, 100)" } }, "ResponseTime":"@string" } }
formDataItem
{"type":"file","name":"file","in":"formData","description":"文件参数","x-nullable":true,"camelCaseName":"file","cardinality":"","tsType":{"description":"文件参数","isEnum":false,"tsType":"string
| Blob","isRef":false,"isObject":false,"isArray":false,"isAtomic":false}}
method.js
import BaseApi from './base' import { <% imports.forEach( (item,index) => {%><%= item+(index<imports.length-1?', ':'') %><% }) %> } from './types' // -------------------------接口方法------------------------- // <%=description || '无' %> export default class <%=name%> extends BaseApi {<% methods.forEach( method => {%> /** * <%=JSON.stringify(method) || '无'%> <% method.parameters.all.forEach( parameter => { %> * @param <%= parameter.type %> - <%= parameter.in %> - <%= parameter.camelCaseName %> - <%= (parameter.description || '无')+'\n' %><%})%> * 请求方式:<%= method.method %> */ public <%=method.methodName %>(<% method.parameters.all.forEach( (parameter,index) => { let paramType = parameter.isAny || parameter.tsType.target || parameter.tsType.tsType %><%= parameter.camelCaseName %><%= parameter.cardinality%>: <%- paramType === "array" ?"Array<"+parameter.tsType.elementType.target+">" :paramType%><%=(index<method.parameters.all.length-1?', ':' | any')%><% }) %>): <% if(method.isExportFile){%>void<% } else { %>Promise<<%=method.responses.target || 'void' %>><%}%> {<%if(method.isExportFile){%> return this.exportFile({ url: '<%=method.path%>', method: '<%=method.method%>'<% if(method.parameters.all.length>0){ %>,<%}%><%=(method.parameters.formData.length>0?(' data: '+method.parameters.formData[0].camelCaseName):'')%><%= method.parameters.body.length>0?'\n '+(method.parameters.body[0].name=='data'?'data':('data: '+(method.parameters.body[0].camelCaseName))):'' %><% if(method.parameters.query.length>0){%><%= (method.parameters.body.length>0?',\n ':'\n ')%>params: { <% method.parameters.query.forEach( (parameter,index) => { %><%= parameter.name==parameter.camelCaseName?parameter.camelCaseName:(parameter.name+': '+parameter.camelCaseName) %><%=(index<method.parameters.query.length-1?',':'')%> <% }) %>}<% } %> })<% } else if(method.parameters.formData.length>0){ %> const fileData = new FormData() <% method.parameters.formData.forEach((formDataItem,indexformData) => { %><%if(formDataItem.type=='file' && formDataItem.tsType.tsType.indexOf("Blob")!=-1) { %> if (<%=formDataItem.name%> != null && <%=formDataItem.name%> != undefined) fileData.append('<%=formDataItem.name%>', <%=formDataItem.camelCaseName%>)<% }else{%> if (<%=formDataItem.name%> != null && <%=formDataItem.name%> != undefined) fileData.append('<%=formDataItem.name%>', <%=formDataItem.camelCaseName%>.toString())<% } %><% }); %> return this.requestData({ url: '<%=method.path%>', method: '<%=method.method%>'<%=(method.parameters.formData.length>0?(',\n data: fileData'):'')%><%= method.parameters.body.length>0?',\n '+(method.parameters.body[0].name=='data'?'data':('data: '+(method.parameters.body[0].camelCaseName))):'' %><% if(method.parameters.query.length>0){ %><%= ((method.parameters.body.length>0||method.parameters.query.length>0)?',\n ':'\n ')%>params: { <% method.parameters.query.forEach( (parameter,index) => { %><%= parameter.name==parameter.camelCaseName?parameter.camelCaseName:(parameter.name+': '+parameter.camelCaseName) %><%=(index<method.parameters.query.length-1?',':'')%> <% }) %>}<% } %> })<% } else { %> return this.request({ url: '<%=method.path%>', method: '<%=method.method%>'<%=(method.parameters.formData.length>0?(',\n data: fileData'):'')%><%= method.parameters.body.length>0?',\n '+(method.parameters.body[0].name=='data'?'data':('data: '+(method.parameters.body[0].camelCaseName))):'' %><% if(method.parameters.query.length>0){ %><%= ((method.parameters.body.length>0||method.parameters.query.length>0)?',\n ':'\n ')%>params: { <% method.parameters.query.forEach( (parameter,index) => { %><%= parameter.name==parameter.camelCaseName?parameter.camelCaseName:(parameter.name+': '+parameter.camelCaseName) %><%=(index<method.parameters.query.length-1?',':'')%> <% }) %>}<% } %> })<% } %> }<% }) %> }
浙公网安备 33010602011771号