public_host 4 years ago
parent
commit
844205ba22
  1. 62
      hasaki-gen-crud/hasaki-gen-crud.js
  2. 12
      hasaki-gen-crud/template.go

62
hasaki-gen-crud/hasaki-gen-crud.js

@ -4,12 +4,16 @@ try {
console.log("start")
const vscode = require("vscode")
const fs = require("fs")
var path = require('path');
let start = vscode.window.activeTextEditor.selection.start.line
let fileName = vscode.window.activeTextEditor.document.fileName
console.log(start)
console.log(fileName)
let fileDir = path.dirname(fileName)
let fileBaseName = path.basename(fileName)
fs.readFile(fileName, 'utf8', (err, data) => {
if (err) throw err;
@ -75,11 +79,30 @@ try {
for (; prefix.indexOf(" ") > 0;) {
prefix = prefix.replace(" ", " ")
}
let underscore_naming = rearr.join("_");
let lowercase_first_letter = "";
let capitalize_the_first_letter = "";
let rearr = prefix.toLocaleLowerCase().split(" ");
for (var i = 0; i < rearr.length; i++) {
let tmp = rearr[i].split("");
tmp[0] = tmp[0].toLocaleUpperCase();
capitalize_the_first_letter += tmp.join("");
if (i == 0) {
lowercase_first_letter += rearr[i];
} else {
lowercase_first_letter += tmp.join("");;
}
}
prefix = prefix.replace(/ /g, "/")
let endPosition = new vscode.Position(endLine, endChar)
axios({
method: 'get',
url: 'http://git.ouxuan.net/3136352472/vscode-helper-js/raw/branch/master/hasaki-gen-crud/template.go',
@ -87,23 +110,46 @@ try {
}).then(res => {
console.log("123")
let text = "" + res['data']
let tmp = text.split("// ----------------------------temp------------------------------------")
text = tmp[1]
text = text.replace(/Temp3A60/g, struct)
let structHeadLower = struct[0].toLocaleLowerCase() + struct.slice(1)
console.log("structHeadLower", structHeadLower, struct[0].toLocaleLowerCase())
text = text.replace(/TempLowHead3A60/g, structHeadLower)
text = text.replace(/Prefix3A60/g, prefix)
text = text.replace(/PrefixHigHead3A60/g, capitalize_the_first_letter)
console.log(text)
console.log(endPosition)
vscode.window.activeTextEditor.edit(function (textEditorEdit) {
textEditorEdit.insert(
endPosition,
text,
)
})
let tmp = text.split("// ----------------------------temp------------------------------------")
if (data.indexOf(`${struct}) wherePrimaryKey`) < 0) {
vscode.window.activeTextEditor.edit(function (textEditorEdit) {
textEditorEdit.insert(
endPosition,
tmp[1],
)
})
}
let package_src = ""
for (let i = 0; i < context_arr.length; i++) {
const element = context_arr[i].trim(" ");
if (element.indexOf("package") == 0) {
package_src = element
break
}
}
let crudFileName = path.join(fileDir, `auto_generated_crud_${fileBaseName}`)
let httpFileName = path.join(fileDir, `auto_generated_http_${underscore_naming}_${fileBaseName}`)
fs.writeFile(crudFileName, `${package_src}\n\n${tmp[2]}`)
fs.writeFile(httpFileName, `${package_src}\n\n${tmp[3]}`)
// vscode.window.showErrorMessage(res)
}).catch(error => {

12
hasaki-gen-crud/template.go

@ -12,6 +12,7 @@ type Temp3A60 struct {
// ----------------------------temp------------------------------------
//wherePrimaryKey
func (TempLowHead3A60 *Temp3A60) wherePrimaryKey() (q interface{}, args []interface{}) {
//todo 根据需求修改
return "`id`=?", []interface{}{
@ -23,6 +24,8 @@ func (TempLowHead3A60 *Temp3A60) getXorm() *xorm.Engine {
return hskdb.GetXormAuto()
}
// ----------------------------temp------------------------------------
func (TempLowHead3A60 *Temp3A60) Save(isAllCols ...bool) (err error) {
tmp := Temp3A60{}
whereQuery, whereArgs := TempLowHead3A60.wherePrimaryKey()
@ -41,7 +44,7 @@ func (TempLowHead3A60 *Temp3A60) Save(isAllCols ...bool) (err error) {
func (TempLowHead3A60 *Temp3A60) Load() (err error) {
whereQuery, whereArgs := TempLowHead3A60.wherePrimaryKey()
_, err = TempLowHead3A60.getXorm().Where(whereQuery, whereArgs...).Get(&TempLowHead3A60)
_, err = TempLowHead3A60.getXorm().Where(whereQuery, whereArgs...).Get(TempLowHead3A60)
return
}
@ -57,12 +60,13 @@ func (TempLowHead3A60 *Temp3A60) PageData(page, pageSize int) (data []Temp3A60,
func (TempLowHead3A60 *Temp3A60) Delete() (err error) {
whereQuery, whereArgs := TempLowHead3A60.wherePrimaryKey()
_, err = TempLowHead3A60.getXorm().Where(whereQuery, whereArgs...).Delete(&TempLowHead3A60)
_, err = TempLowHead3A60.getXorm().Where(whereQuery, whereArgs...).Delete(TempLowHead3A60)
return
}
//该方法请不要放在db文件中
func InitializationTemp3A60(router *hskgin.GinHelper) {
// ----------------------------temp------------------------------------
func InitializationPrefixHigHead3A60Temp3A60(router *hskgin.GinHelper) {
var authority = func(ctx *hskgin.GinContextHelper) {
//todo 权限控制
}

Loading…
Cancel
Save