# 模板管理&代码生成
可以添加模板然后根据文档内容生成代码,可生成前端代码,也可以生成后端代码。
前往【后台管理】-【模板管理】页面

# 常用模板
- doc2ts-get
根据文档生成get请求代码
import { request } from '@/utils/request';
export const get${doc.urlNameUpper}Api = (data: {
#foreach($param in ${doc.queryParams})
${param.name}#if(${param.require})?#end: ${param.typeTs};
#end
}) => {
return request<{
#foreach($param in ${doc.responseParams})
${param.name}: ${param.typeTs};
#end
}>({
url: '${doc.url}',
method: 'GET',
additionalHeader: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
},
data
});
};
生成效果图

- doc2ts-post
根据文档生成post请求代码
import { request } from '@/utils/request';
export const post${doc.urlNameUpper}Api = (data: {
#foreach($param in ${doc.requestParams})
${param.name}#if(${param.require})?#end: ${param.typeTs};
#end
}) => {
return request<{
#foreach($param in ${doc.responseParams})
${param.name}: ${param.typeTs};
#end
}>({
url: '${doc.url}',
method: '${doc.httpMethod}',
additionalHeader: {
'Content-Type': '${doc.contentType}'
},
data
});
};
- 生成ts对象
## 设置变量
#set($requestData="${doc.urlNameUpper}Data")
#set($requestParam="${doc.urlNameUpper}Param")
#set($responseType="${doc.urlNameUpper}Response")
export interface $requestParam {
#foreach($param in ${doc.queryParams})
/** ${param.description} */
${param.name}: ${param.typeTs}
#end
}
export interface $requestData {
#foreach($param in ${doc.requestParams})
/** ${param.description} */
${param.name}: ${param.typeTs}
#end
}
export interface $responseType {
#foreach($param in ${doc.responseParams})
/** ${param.description} */
${param.name}: ${param.typeTs}
#end
}
/** ${doc.name} ${doc.httpMethod} ${doc.url} */
export async function ${doc.httpMethodLower}${doc.urlNameUpper}(body: $requestData, options ?: {[key: string]: any}) {
return request<$responseType>(`/api${doc.url}`, {
method: '${doc.httpMethod}',
headers: {
'Content-Type': 'application/json',
},
data: body,
...(options || {}),
});
}

- 生成curl
curl --location '${doc.url}?${doc.queryString}' \
#foreach($param in ${doc.headerParams})
--header '${param.name}: ${param.example}' \
#end
#if(${doc.httpMethod} == 'POST' || ${doc.httpMethod} == 'PUT')
--data '${doc.requestExample}'
#end