代码生成器 对接'生成代码'接口
This commit is contained in:
parent
dbf9cf1c3b
commit
748d4e9e03
@ -46,12 +46,19 @@ export interface CodegenResponse {
|
||||
|
||||
// 获取所有模板
|
||||
export function getAllTemplatesApi() {
|
||||
return http.request<ResponseData<TemplateGroup[]>>("get", "/codegen/template/all");
|
||||
return http.request<ResponseData<TemplateGroup[]>>(
|
||||
"get",
|
||||
"/codegen/template/all"
|
||||
);
|
||||
}
|
||||
|
||||
// 生成代码
|
||||
export function generateCodeApi(data: CodegenRequest) {
|
||||
return http.request<ResponseData<CodegenResponse>>("post", "/code/generate", {
|
||||
data
|
||||
});
|
||||
return http.request<ResponseData<CodegenResponse>>(
|
||||
"post",
|
||||
"/codegen/code/generate",
|
||||
{
|
||||
data
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@ -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<CodegenRequest>({
|
||||
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("复制失败");
|
||||
});
|
||||
}
|
||||
|
||||
// 设置历史记录
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user