29 lines
1016 B
Plaintext
29 lines
1016 B
Plaintext
import { http } from "./request/index"
|
|
import type { QueryOptions, BodyOptions } from "./global.d"
|
|
|
|
export default {
|
|
<%
|
|
function renderObject(obj, indentLevel = 1) {
|
|
let result = '';
|
|
const indent = ' '.repeat(indentLevel * 4); // 根据层级计算缩进
|
|
for (let key in obj) {
|
|
// 将 key 转换为小驼峰格式
|
|
const camelKey = key;
|
|
let typeInterface = "BodyOptions"
|
|
if(obj[key].method&&["get","delete"].includes(obj[key].method.toLowerCase())){
|
|
typeInterface = "QueryOptions"
|
|
}
|
|
if (obj[key].method && obj[key].path) {
|
|
result += `${indent}/** ${obj[key].tags} ${obj[key].summary} */\n`;
|
|
result += `${indent}${camelKey}:(data?:${typeInterface})=> http.${obj[key].method.toLowerCase()}("${obj[key].path}",data),\n`;
|
|
} else {
|
|
result += `${indent}${camelKey}: {\n`;
|
|
result += renderObject(obj[key], indentLevel + 1); // 递归调用时增加缩进级别
|
|
result += `${indent}},\n`;
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
%>
|
|
<%- renderObject(functions) %>
|
|
} |