Browse Source

修复model生成带有前缀的问题

main
cobb 3 years ago
parent
commit
36fb20bf5f
  1. 6
      main.go
  2. 23
      src/components/HelloWorld.vue

6
main.go

@ -513,8 +513,9 @@ func main() {
r.Use(Cors())
r.POST("/sql", func(c *gin.Context) {
var req struct {
Content string `json:"content"`
Camel bool `json:"camel"`
Content string `json:"content"`
Camel bool `json:"camel"`
TablePrefix string `json:"table_prefix"` // 去除表前缀
}
err := c.BindJSON(&req)
if err != nil {
@ -525,6 +526,7 @@ func main() {
opts = append(opts, WithGormType())
opts = append(opts, WithJsonTag())
opts = append(opts, WithZhTag())
opts = append(opts, WithTablePrefix(req.TablePrefix))
if req.Camel {
opts = append(opts, WithCamel())
}

23
src/components/HelloWorld.vue

@ -107,9 +107,12 @@ function lowerCase(str) {
function rmPrefix(str) {
if (str.indexOf("_") > -1) {
var n = str.indexOf("_");
return str.slice(n + 1, str.length);
return {
prefix: str.slice(0, n + 1),
suffix: str.slice(n + 1, str.length),
};
}
return str;
return { prefix: "", suffix: str };
}
function typeMap(str) {
@ -225,7 +228,7 @@ export default {
this.schemaKey = Date.now();
},
handleRouteOutput(v) {
const title = rmPrefix(v.title);
const title = rmPrefix(v.title).suffix;
const tableName = toCamelCase(title);
const lowTableName = title;
const Output = `
@ -240,7 +243,7 @@ export default {
return Output;
},
handleJsApi(v) {
const title = rmPrefix(v.title);
const title = rmPrefix(v.title).suffix;
const tableName = toCamelCase(title);
const lowTableName = title;
const Output = `
@ -289,7 +292,7 @@ export default {
return Output;
},
handleApiOutput(v) {
const title = rmPrefix(v.title);
const title = rmPrefix(v.title).suffix;
const tableName = toCamelCase(title);
const apiOutput = `
package api
@ -378,7 +381,7 @@ export default {
return apiOutput;
},
handleServiceOutput(v) {
const title = rmPrefix(v.title);
const title = rmPrefix(v.title).suffix;
const tableName = toCamelCase(title);
const properties = v.properties;
var primary = ``;
@ -455,7 +458,7 @@ export default {
`;
return serviceOutput;
},
getMyStruct() {
getMyStruct(tablePrefix) {
var oReq = new XMLHttpRequest();
oReq.open("POST", "/sql", false); //
oReq.setRequestHeader("Content-type", "application/json");
@ -464,17 +467,19 @@ export default {
JSON.stringify({
content: this.sqlinput,
camel: !this.isUnderScoreCase,
table_prefix: tablePrefix,
})
); //JSON
var result = oReq.responseText; //
return result;
},
handleModelOutput(v) {
var struct = this.getMyStruct();
const tablePrefix = rmPrefix(v.title).prefix;
var struct = this.getMyStruct(tablePrefix);
console.log("struct", struct);
const requires = v.required;
const properties = v.properties;
const title = rmPrefix(v.title);
const title = rmPrefix(v.title).suffix;
const tableName = toCamelCase(title);
const tableNameLower = lowerCase(tableName);
var primary = ``;

Loading…
Cancel
Save