mirror of
https://github.com/go-home-admin/toolset.git
synced 2025-12-24 13:37:52 +08:00
add: 生成的文件尽量保持一致
This commit is contained in:
2
Makefile
2
Makefile
@@ -4,7 +4,7 @@ ATDIR := $(shell pwd)
|
||||
# mac 系统更新path可能不全
|
||||
export PATH := $(GOBIN):$(PATH)
|
||||
|
||||
build:
|
||||
build-mac:
|
||||
go build -ldflags="-w -s" -o $(GOBIN)/toolset ./
|
||||
|
||||
build-win:
|
||||
|
||||
@@ -83,7 +83,14 @@ func (BeanCommand) Execute(input command.Input) {
|
||||
bc := newBeanCache()
|
||||
for _, fileParser := range fileParsers {
|
||||
bc.name = fileParser.PackageName
|
||||
for _, goType := range fileParser.Types {
|
||||
keys := make([]string, 0)
|
||||
for k := range fileParser.Types {
|
||||
keys = append(keys, k)
|
||||
}
|
||||
sort.Slice(keys, func(i, j int) bool { return keys[i] < keys[j] })
|
||||
// 排序后循环 type
|
||||
for _, k := range keys {
|
||||
goType := fileParser.Types[k]
|
||||
for _, attr := range goType.Attrs {
|
||||
if attr.HasTag("inject") {
|
||||
// 只收集使用到的 import
|
||||
|
||||
@@ -8,6 +8,7 @@ import (
|
||||
"log"
|
||||
"os"
|
||||
"os/exec"
|
||||
"sort"
|
||||
"strings"
|
||||
)
|
||||
|
||||
@@ -453,14 +454,16 @@ func genRoutesFunc(g *ApiGroups, m map[string]string) string {
|
||||
"\n\treturn map[*" + homeApi + ".Config]func(c *" + homeGin + ".Context){"
|
||||
|
||||
for _, server := range g.servers {
|
||||
for s, v := range server.Opt {
|
||||
for _, s := range forOpt(server.Opt) {
|
||||
v := server.Opt[s]
|
||||
if s == "http.Resource" {
|
||||
str += "\n\t\t" + homeApi + ".Get(\"" + v.Val + "\"):" + "c." + parser.StringToSnake(server.Name) + ".GinHandleCurd,"
|
||||
str += "\n\t\t" + homeApi + ".Post(\"" + v.Val + "\"):" + "c." + parser.StringToSnake(server.Name) + ".GinHandleCurd,"
|
||||
str += "\n\t\t" + homeApi + ".Any(\"" + v.Val + "/:action\"):" + "c." + parser.StringToSnake(server.Name) + ".GinHandleCurd,"
|
||||
}
|
||||
}
|
||||
for rName, rpc := range server.Rpc {
|
||||
for _, rName := range forServerOpt(server.Rpc) {
|
||||
rpc := server.Rpc[rName]
|
||||
for _, options := range rpc.Opt {
|
||||
for _, option := range options {
|
||||
if strings.Index(option.Key, "http.") == 0 {
|
||||
@@ -477,6 +480,24 @@ func genRoutesFunc(g *ApiGroups, m map[string]string) string {
|
||||
return str + "\n\t}\n}"
|
||||
}
|
||||
|
||||
func forServerOpt(m map[string]parser.ServiceRpc) []string {
|
||||
keys := make([]string, 0)
|
||||
for k := range m {
|
||||
keys = append(keys, k)
|
||||
}
|
||||
sort.Slice(keys, func(i, j int) bool { return keys[i] < keys[j] })
|
||||
return keys
|
||||
}
|
||||
|
||||
func forOpt(m map[string]parser.Option) []string {
|
||||
keys := make([]string, 0)
|
||||
for k := range m {
|
||||
keys = append(keys, k)
|
||||
}
|
||||
sort.Slice(keys, func(i, j int) bool { return keys[i] < keys[j] })
|
||||
return keys
|
||||
}
|
||||
|
||||
func genRoutesStruct(g *ApiGroups, m map[string]string) string {
|
||||
str := "\n// @Bean" +
|
||||
"\ntype " + parser.StringToHump(g.name) + "Routes struct {\n"
|
||||
|
||||
Reference in New Issue
Block a user