package util import "strings" // 修改mysql数据库对应的go类型 func formatSqlToVueType(str string) string { str = strings.ToLower(str) switch str { case "varchar": return "string" case "char": return "string" case "int": return "number" case "decimal": return "number" case "datetime": return "string" case "longblob": return "string" default: panic("未定义的类型:" + str) } } func MysqlToVueApi() { vueFileContent := "import api, {ResponseData} from \"../api.ts\";" + "\nimport {BaseListVo} from \"../detail/DetailApi.ts\";\n\n" var objectList = "" var apiList = "" //生成结构体 for i := range MTables { table := MTables[i] //添加名字 objectList += "export class " + table.GreatHump + "{" ct := "\n\tstatic Create(){\n return new " + table.GreatHump + "(" for j := range table.MColumns { column := table.MColumns[j] objectList += "\n\t" + column.LittleHump + ": " + column.VueTypeName ct += "null," //switch column.VueTypeName { //case "number": // ct += "0," // break //case "string": // ct += "\"\"," //} } objectList += ct + ");\n }" objectList += "\n\n\tconstructor(" for j := range table.MColumns { column := table.MColumns[j] objectList += column.LittleHump + ": " + column.VueTypeName + ", " } objectList += ") {" for j := range table.MColumns { column := table.MColumns[j] objectList += "\n\t\tthis." + column.LittleHump + " = " + column.LittleHump + ";" } objectList += "\n\t}\n}\n\n" //生成api apiList += "export function GetBase" + table.GreatHump + "ById(id: number | string) {" + "\n return api.GetDataByPath(\"/back/base/" + table.LittleHump + "?id=\" + id, {}, true) as Promise>;" + "\n}" + "\n" + //"\nexport function GetBase" + table.GreatHump + "ListBy" + table.GreatHump + "(" + table.GreatHump + ": " + table.GreatHump + ", pageNum = 1, pageSize = 10) {" + "\nexport function GetBase" + table.GreatHump + "ListBy" + table.GreatHump + "(param: " + table.GreatHump + ", pageNum = 1, pageSize = 10) {" + "\n return api.PostDataByPath(\"/back/base/" + table.LittleHump + "/list\", {param: param,pageNum: pageNum,pageSize: pageSize}, true) as Promise>>;" + "\n}" + "\n" + "\nexport function GetBase" + table.GreatHump + "ListByIds(ids: number[] | string[]) {" + "\n return api.PostDataByPath(\"/back/base/" + table.LittleHump + "/in\", {" + "\n ids: ids" + "\n }, true) as Promise>;" + "\n}" + "\n" + "\nexport function SaveBase" + table.GreatHump + "(" + table.GreatHump + ": " + table.GreatHump + ") {" + "\n return api.PostDataByPath(\"/back/base/" + table.LittleHump + "\", {article: " + table.GreatHump + "}, true) as Promise>;" + "\n}" + "\n" + "\nexport function UpdateBase" + table.GreatHump + "(" + table.GreatHump + ": " + table.GreatHump + ", id: number | string) {" + "\n return api.GetDataByPath(\"/back/base/" + table.LittleHump + "\", {" + table.LittleHump + ": " + table.GreatHump + ", id: id}, true) as Promise>;" + "\n}" + "\n" + "\nexport function DeleteBase" + table.GreatHump + "ById(id: number | string) {" + "\n return api.GetDataByPath(\"/back/base/" + table.LittleHump + "?id=\" + id, {}, true) as Promise>;" + "\n}\n\n" } //url := "D:\\project\\study\\kkc\\kkc-shop\\src\\api\\back\\BaseBackApi.ts" WriteFile(GetVueApiUrl(), vueFileContent+apiList+objectList) } // MysqlToVueView 生成vue的view表单 func MysqlToVueView() { }