import request from "@/utils/request"; const API_PATH = "/{{ module_name }}/{{ business_name|lower }}"; // 参考 demo.ts 的风格,提供标准的 CRUD 与导入/导出 API(TypeScript) const {{ class_name }}API = { // 列表查询 list(query: {{ class_name }}PageQuery) { return request>>({ url: `${API_PATH}/list`, method: "get", params: query, }); }, // 详情查询 detail(id: number) { return request>({ url: `${API_PATH}/detail/${id}`, method: "get", }); }, // 新增 create(data: {{ class_name }}Form) { return request({ url: `${API_PATH}/create`, method: "post", data, }); }, // 修改(带主键) update(id: number, data: {{ class_name }}Form) { return request({ url: `${API_PATH}/update/${id}`, method: "put", data, }); }, // 删除(支持批量) delete(ids: number[]) { return request({ url: `${API_PATH}/delete`, method: "delete", data: ids, }); }, // 导出 export(query: {{ class_name }}PageQuery) { return request({ url: `${API_PATH}/export`, method: "post", data: query, responseType: "blob", }); }, // 下载导入模板 downloadTemplate() { return request({ url: `${API_PATH}/download/template`, method: "post", responseType: "blob", }); }, // 导入 import(data: FormData) { return request({ url: `${API_PATH}/import`, method: "post", data, headers: { "Content-Type": "multipart/form-data" }, }); }, // 批量启用/停用 batchAvailable(body: { ids: number[]; status: boolean }) { return request({ url: `${API_PATH}/available/setting`, method: "patch", data: body, }); }, }; export default {{ class_name }}API; // ------------------------------ // TS 类型声明 // ------------------------------ export interface {{ class_name }}PageQuery extends PageQuery { {% for column in columns %} {% if column.is_query == "1" and column.query_type != "BETWEEN" %} {{ column.python_field }}?: {{ 'boolean' if ('status' in (column.python_field|lower)) or (column.html_type == 'radio') else 'number' if column.is_pk == '1' else 'string' }}; {% endif %} {% endfor %} // 时间范围查询(按示例统一字段名,如需按字段拆分可在页面层处理) start_time?: string; end_time?: string; } export interface {{ class_name }}Table { {% for column in columns %} {{ column.python_field }}?: {{ 'boolean' if ('status' in (column.python_field|lower)) or (column.html_type == 'radio') else 'number' if column.is_pk == '1' else 'string' }}; {% endfor %} creator?: creatorType; } export interface {{ class_name }}Form { id?: number; {% for column in columns %} {% if column.is_insert == "1" or column.is_edit == "1" %} {{ column.python_field }}?: {{ 'boolean' if ('status' in (column.python_field|lower)) or (column.html_type == 'radio') else 'number' if column.is_pk == '1' else 'string' }}; {% endif %} {% endfor %} }