From 748d4e9e0360eee947a144aea2f7b7657255d6a9 Mon Sep 17 00:00:00 2001 From: cuijiawang Date: Thu, 25 Sep 2025 15:07:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90=E5=99=A8?= =?UTF-8?q?=20=E5=AF=B9=E6=8E=A5'=E7=94=9F=E6=88=90=E4=BB=A3=E7=A0=81'?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/system/codegen.ts | 15 ++-- src/views/system/codegen/utils/hook.tsx | 91 +++++++------------------ 2 files changed, 34 insertions(+), 72 deletions(-) diff --git a/src/api/system/codegen.ts b/src/api/system/codegen.ts index 52e4c34..8308951 100644 --- a/src/api/system/codegen.ts +++ b/src/api/system/codegen.ts @@ -46,12 +46,19 @@ export interface CodegenResponse { // 获取所有模板 export function getAllTemplatesApi() { - return http.request>("get", "/codegen/template/all"); + return http.request>( + "get", + "/codegen/template/all" + ); } // 生成代码 export function generateCodeApi(data: CodegenRequest) { - return http.request>("post", "/code/generate", { - data - }); + return http.request>( + "post", + "/codegen/code/generate", + { + data + } + ); } diff --git a/src/views/system/codegen/utils/hook.tsx b/src/views/system/codegen/utils/hook.tsx index 212d2c6..2fa1065 100644 --- a/src/views/system/codegen/utils/hook.tsx +++ b/src/views/system/codegen/utils/hook.tsx @@ -1,24 +1,23 @@ import { ref, reactive, computed } from "vue"; import { ElMessage } from "element-plus"; -import { - getAllTemplatesApi, - generateCodeApi, - CodegenOptions, +import { + getAllTemplatesApi, + generateCodeApi, TemplateGroup, TemplateInfo, - CodegenRequest + CodegenRequest } from "@/api/system/codegen"; export function useCodegen() { // 表单数据 const formData = reactive({ tableSql: `CREATE TABLE 'sys_user_info' ( - 'user_id' int(11) NOT NULL AUTO_INCREMENT COMMENT '用户编号', - 'user_name' varchar(255) NOT NULL COMMENT '用户名', - 'status' tinyint(1) NOT NULL COMMENT '状态', - 'create_time' datetime NOT NULL COMMENT '创建时间', - PRIMARY KEY ('user_id') -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户信息'`, + 'user_id' int(11) NOT NULL AUTO_INCREMENT COMMENT '用户编号', + 'user_name' varchar(255) NOT NULL COMMENT '用户名', + 'status' tinyint(1) NOT NULL COMMENT '状态', + 'create_time' datetime NOT NULL COMMENT '创建时间', + PRIMARY KEY ('user_id') + ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户信息'`, options: { dataType: "sql", authorName: "AgileBoot", @@ -115,62 +114,15 @@ export function useCodegen() { try { generating.value = true; - // 临时使用假数据 - const fakeResponse = { - outputJson: { - "plusentity": `@Data -@Entity -@Table(name = "sys_user_info") -public class SysUserInfo { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Integer userId; - - @Column(name = "user_name") - private String userName; - - @Column(name = "status") - private Integer status; - - @Column(name = "create_time") - private Date createTime; -}`, - "pluscontroller": `@RestController -@RequestMapping("/system/userInfo") -public class SysUserInfoController { - - @Autowired - private SysUserInfoService sysUserInfoService; - - @GetMapping("/list") - public ResponseResult list() { - return ResponseResult.success(); - } -}`, - "plusservice": `public interface SysUserInfoService { - // Service methods -}`, - "plusmapper": `@Mapper -public interface SysUserInfoMapper { - // Mapper methods -}` - }, - tableName: "sys_user_info" - }; - - outputJson.value = fakeResponse.outputJson; - outputStr.value = fakeResponse.outputJson[currentSelect.value] || ""; + // 调用真实API + const { data } = await generateCodeApi(formData); + outputJson.value = data.outputJson; + outputStr.value = data.outputJson[currentSelect.value] || ""; // 添加到历史记录 - setHistoricalData(fakeResponse.tableName); + setHistoricalData(data.tableName); ElMessage.success("生成成功"); - - // 后续替换为真实API调用 - // const { data } = await generateCodeApi(formData); - // outputJson.value = data.outputJson; - // outputStr.value = data.outputJson[currentSelect.value] || ""; - // setHistoricalData(data.tableName); } catch (error) { console.error("生成代码失败:", error); ElMessage.error("生成失败,请检查SQL语句"); @@ -186,11 +138,14 @@ public interface SysUserInfoMapper { return; } - navigator.clipboard.writeText(outputStr.value.trim()).then(() => { - ElMessage.success("已复制到剪贴板"); - }).catch(() => { - ElMessage.error("复制失败"); - }); + navigator.clipboard + .writeText(outputStr.value.trim()) + .then(() => { + ElMessage.success("已复制到剪贴板"); + }) + .catch(() => { + ElMessage.error("复制失败"); + }); } // 设置历史记录