Ver Fonte

wip:首次提交

wangkaiyue há 1 ano atrás
commit
21d294c01a

+ 4 - 0
README.MD

@@ -0,0 +1,4 @@
+# GoFrame Template For SingleRepo
+
+Quick Start: 
+- https://goframe.org/pages/viewpage.action?pageId=1114399

+ 61 - 0
go.mod

@@ -0,0 +1,61 @@
+module jylua-api
+
+go 1.18
+
+require (
+	github.com/gogf/gf/v2 v2.6.1
+	jygit.jydev.jianyu360.cn/BP/jyluaweb v0.0.0-20240219081112-5b48cc0608fd
+)
+
+require (
+	github.com/BurntSushi/toml v1.2.0 // indirect
+	github.com/ClickHouse/ch-go v0.58.2 // indirect
+	github.com/ClickHouse/clickhouse-go/v2 v2.17.1 // indirect
+	github.com/andybalholm/brotli v1.0.6 // indirect
+	github.com/cespare/xxhash/v2 v2.2.0 // indirect
+	github.com/clbanning/mxj/v2 v2.7.0 // indirect
+	github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
+	github.com/elastic/go-elasticsearch/v7 v7.17.10 // indirect
+	github.com/fatih/color v1.15.0 // indirect
+	github.com/fsnotify/fsnotify v1.7.0 // indirect
+	github.com/go-faster/city v1.0.1 // indirect
+	github.com/go-faster/errors v0.6.1 // indirect
+	github.com/go-logr/logr v1.2.4 // indirect
+	github.com/go-logr/stdr v1.2.2 // indirect
+	github.com/go-sql-driver/mysql v1.7.1 // indirect
+	github.com/gogf/gf/contrib/drivers/mysql/v2 v2.6.1 // indirect
+	github.com/golang/snappy v0.0.1 // indirect
+	github.com/google/uuid v1.5.0 // indirect
+	github.com/gorilla/websocket v1.5.0 // indirect
+	github.com/grokify/html-strip-tags-go v0.0.1 // indirect
+	github.com/klauspost/compress v1.16.7 // indirect
+	github.com/magiconair/properties v1.8.7 // indirect
+	github.com/mattn/go-colorable v0.1.13 // indirect
+	github.com/mattn/go-isatty v0.0.20 // indirect
+	github.com/mattn/go-runewidth v0.0.15 // indirect
+	github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe // indirect
+	github.com/olekukonko/tablewriter v0.0.5 // indirect
+	github.com/paulmach/orb v0.10.0 // indirect
+	github.com/pierrec/lz4/v4 v4.1.18 // indirect
+	github.com/pkg/errors v0.9.1 // indirect
+	github.com/redis/go-redis/v9 v9.4.0 // indirect
+	github.com/rivo/uniseg v0.4.4 // indirect
+	github.com/segmentio/asm v1.2.0 // indirect
+	github.com/shopspring/decimal v1.3.1 // indirect
+	github.com/xdg-go/pbkdf2 v1.0.0 // indirect
+	github.com/xdg-go/scram v1.1.1 // indirect
+	github.com/xdg-go/stringprep v1.0.3 // indirect
+	github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d // indirect
+	github.com/yuin/gopher-lua v1.1.1 // indirect
+	go.mongodb.org/mongo-driver v1.11.4 // indirect
+	go.opentelemetry.io/otel v1.19.0 // indirect
+	go.opentelemetry.io/otel/metric v1.19.0 // indirect
+	go.opentelemetry.io/otel/sdk v1.16.0 // indirect
+	go.opentelemetry.io/otel/trace v1.19.0 // indirect
+	golang.org/x/crypto v0.16.0 // indirect
+	golang.org/x/net v0.19.0 // indirect
+	golang.org/x/sync v0.3.0 // indirect
+	golang.org/x/sys v0.15.0 // indirect
+	golang.org/x/text v0.14.0 // indirect
+	gopkg.in/yaml.v3 v3.0.1 // indirect
+)

+ 179 - 0
go.sum

@@ -0,0 +1,179 @@
+github.com/BurntSushi/toml v1.2.0 h1:Rt8g24XnyGTyglgET/PRUNlrUeu9F5L+7FilkXfZgs0=
+github.com/BurntSushi/toml v1.2.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
+github.com/ClickHouse/ch-go v0.58.2 h1:jSm2szHbT9MCAB1rJ3WuCJqmGLi5UTjlNu+f530UTS0=
+github.com/ClickHouse/ch-go v0.58.2/go.mod h1:Ap/0bEmiLa14gYjCiRkYGbXvbe8vwdrfTYWhsuQ99aw=
+github.com/ClickHouse/clickhouse-go/v2 v2.17.1 h1:ZCmAYWpu75IyEi7+Yrs/uaAjiCGY5wfW5kXo64exkX4=
+github.com/ClickHouse/clickhouse-go/v2 v2.17.1/go.mod h1:rkGTvFDTLqLIm0ma+13xmcCfr/08Gvs7KmFt1tgiWHQ=
+github.com/andybalholm/brotli v1.0.6 h1:Yf9fFpf49Zrxb9NlQaluyE92/+X7UVHlhMNJN2sxfOI=
+github.com/andybalholm/brotli v1.0.6/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
+github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs=
+github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA=
+github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
+github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
+github.com/clbanning/mxj/v2 v2.7.0 h1:WA/La7UGCanFe5NpHF0Q3DNtnCsVoxbPKuyBNHWRyME=
+github.com/clbanning/mxj/v2 v2.7.0/go.mod h1:hNiWqW14h+kc+MdF9C6/YoRfjEJoR3ou6tn/Qo+ve2s=
+github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
+github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78=
+github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc=
+github.com/elastic/go-elasticsearch/v7 v7.17.10 h1:TCQ8i4PmIJuBunvBS6bwT2ybzVFxxUhhltAs3Gyu1yo=
+github.com/elastic/go-elasticsearch/v7 v7.17.10/go.mod h1:OJ4wdbtDNk5g503kvlHLyErCgQwwzmDtaFC4XyOxXA4=
+github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs=
+github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw=
+github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA=
+github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM=
+github.com/go-faster/city v1.0.1 h1:4WAxSZ3V2Ws4QRDrscLEDcibJY8uf41H6AhXDrNDcGw=
+github.com/go-faster/city v1.0.1/go.mod h1:jKcUJId49qdW3L1qKHH/3wPeUstCVpVSXTM6vO3VcTw=
+github.com/go-faster/errors v0.6.1 h1:nNIPOBkprlKzkThvS/0YaX8Zs9KewLCOSFQS5BU06FI=
+github.com/go-faster/errors v0.6.1/go.mod h1:5MGV2/2T9yvlrbhe9pD9LO5Z/2zCSq2T8j+Jpi2LAyY=
+github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
+github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ=
+github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
+github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
+github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
+github.com/go-sql-driver/mysql v1.7.1 h1:lUIinVbN1DY0xBg0eMOzmmtGoHwWBbvnWubQUrtU8EI=
+github.com/go-sql-driver/mysql v1.7.1/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
+github.com/gogf/gf/contrib/drivers/mysql/v2 v2.6.1 h1:5VW1vlaFNSHHhMliRkGTcDshMeA52Il8T+gffJJaVMc=
+github.com/gogf/gf/contrib/drivers/mysql/v2 v2.6.1/go.mod h1:jxCa1WV/W+q0F4ILebakUsqRrl7iL3qvP+Uci0eXAew=
+github.com/gogf/gf/v2 v2.6.1 h1:n/cfXM506WjhPa6Z1CEDuHNM1XZ7C8JzSDPn2AfuxgQ=
+github.com/gogf/gf/v2 v2.6.1/go.mod h1:x2XONYcI4hRQ/4gMNbWHmZrNzSEIg20s2NULbzom5k0=
+github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
+github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
+github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4=
+github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
+github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
+github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU=
+github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=
+github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
+github.com/grokify/html-strip-tags-go v0.0.1 h1:0fThFwLbW7P/kOiTBs03FsJSV9RM2M/Q/MOnCQxKMo0=
+github.com/grokify/html-strip-tags-go v0.0.1/go.mod h1:2Su6romC5/1VXOQMaWL2yb618ARB8iVo6/DR99A6d78=
+github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
+github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
+github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
+github.com/klauspost/compress v1.16.7 h1:2mk3MPGNzKyxErAw8YaohYh69+pa4sIQSC0fPGCFR9I=
+github.com/klauspost/compress v1.16.7/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE=
+github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
+github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
+github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
+github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
+github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
+github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
+github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
+github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
+github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
+github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
+github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
+github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
+github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
+github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U=
+github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
+github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe h1:iruDEfMl2E6fbMZ9s0scYfZQ84/6SPL6zC8ACM2oIL0=
+github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc=
+github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec=
+github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY=
+github.com/paulmach/orb v0.10.0 h1:guVYVqzxHE/CQ1KpfGO077TR0ATHSNjp4s6XGLn3W9s=
+github.com/paulmach/orb v0.10.0/go.mod h1:5mULz1xQfs3bmQm63QEJA6lNGujuRafwA5S/EnuLaLU=
+github.com/paulmach/protoscan v0.2.1/go.mod h1:SpcSwydNLrxUGSDvXvO0P7g7AuhJ7lcKfDlhJCDw2gY=
+github.com/pierrec/lz4/v4 v4.1.18 h1:xaKrnTkyoqfh1YItXl56+6KJNVYWlEEPuAQW9xsplYQ=
+github.com/pierrec/lz4/v4 v4.1.18/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
+github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
+github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
+github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
+github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/redis/go-redis/v9 v9.4.0 h1:Yzoz33UZw9I/mFhx4MNrB6Fk+XHO1VukNcCa1+lwyKk=
+github.com/redis/go-redis/v9 v9.4.0/go.mod h1:hdY0cQFCN4fnSYT6TkisLufl/4W5UIXyv0b/CLO2V2M=
+github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
+github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=
+github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
+github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
+github.com/segmentio/asm v1.2.0 h1:9BQrFxC+YOHJlTlHGkTrFWf59nbL3XnCoFLTwDCI7ys=
+github.com/segmentio/asm v1.2.0/go.mod h1:BqMnlJP91P8d+4ibuonYZw9mfnzI9HfxselHZr5aAcs=
+github.com/shopspring/decimal v1.3.1 h1:2Usl1nmF/WZucqkFZhnfFYxxxu8LG21F6nPQBE5gKV8=
+github.com/shopspring/decimal v1.3.1/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o=
+github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
+github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
+github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4=
+github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
+github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c=
+github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI=
+github.com/xdg-go/scram v1.1.1 h1:VOMT+81stJgXW3CpHyqHN3AXDYIMsx56mEFrB37Mb/E=
+github.com/xdg-go/scram v1.1.1/go.mod h1:RaEWvsqvNKKvBPvcKeFjrG2cJqOkHTiyTpzz23ni57g=
+github.com/xdg-go/stringprep v1.0.3 h1:kdwGpVNwPFtjs98xCGkHjQtGKh86rDcRZN17QEMCOIs=
+github.com/xdg-go/stringprep v1.0.3/go.mod h1:W3f5j4i+9rC0kuIEJL0ky1VpHXQU3ocBgklLGvcBnW8=
+github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d h1:splanxYIlg+5LfHAM6xpdFEAYOk8iySO56hMFq6uLyA=
+github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA=
+github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
+github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
+github.com/yuin/gopher-lua v1.1.1 h1:kYKnWBjvbNP4XLT3+bPEwAXJx262OhaHDWDVOPjL46M=
+github.com/yuin/gopher-lua v1.1.1/go.mod h1:GBR0iDaNXjAgGg9zfCvksxSRnQx76gclCIb7kdAd1Pw=
+go.mongodb.org/mongo-driver v1.11.4 h1:4ayjakA013OdpGyL2K3ZqylTac/rMjrJOMZ1EHizXas=
+go.mongodb.org/mongo-driver v1.11.4/go.mod h1:PTSz5yu21bkT/wXpkS7WR5f0ddqw5quethTUn9WM+2g=
+go.opentelemetry.io/otel v1.19.0 h1:MuS/TNf4/j4IXsZuJegVzI1cwut7Qc00344rgH7p8bs=
+go.opentelemetry.io/otel v1.19.0/go.mod h1:i0QyjOq3UPoTzff0PJB2N66fb4S0+rSbSB15/oyH9fY=
+go.opentelemetry.io/otel/metric v1.19.0 h1:aTzpGtV0ar9wlV4Sna9sdJyII5jTVJEvKETPiOKwvpE=
+go.opentelemetry.io/otel/metric v1.19.0/go.mod h1:L5rUsV9kM1IxCj1MmSdS+JQAcVm319EUrDVLrt7jqt8=
+go.opentelemetry.io/otel/sdk v1.16.0 h1:Z1Ok1YsijYL0CSJpHt4cS3wDDh7p572grzNrBMiMWgE=
+go.opentelemetry.io/otel/sdk v1.16.0/go.mod h1:tMsIuKXuuIWPBAOrH+eHtvhTL+SntFtXF9QD68aP6p4=
+go.opentelemetry.io/otel/trace v1.19.0 h1:DFVQmlVbfVeOuBRrwdtaehRrWiL1JoVs9CPIQ1Dzxpg=
+go.opentelemetry.io/otel/trace v1.19.0/go.mod h1:mfaSyvGyEJEI0nyV2I4qhNQnbBOUUmYZpYojqMnX2vo=
+golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
+golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
+golang.org/x/crypto v0.16.0 h1:mMMrFzRSCF0GvB7Ne27XVtVAaXLrPmgPC7/v0tkwHaY=
+golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
+golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
+golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c=
+golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
+golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E=
+golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
+golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
+golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
+golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
+golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
+golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
+golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
+golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
+google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
+gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
+gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+jygit.jydev.jianyu360.cn/BP/jyluaweb v0.0.0-20240219081112-5b48cc0608fd h1:pu5UBEfB2gMO1SDTeV1slZ6V3glzRcoqBtCwhg6JxAU=
+jygit.jydev.jianyu360.cn/BP/jyluaweb v0.0.0-20240219081112-5b48cc0608fd/go.mod h1:Y6Nal6v1rDewc0K/WZ/DdKb2Kikpp6PoO5UYnQ4jh84=

+ 24 - 0
internal/cmd/cmd.go

@@ -0,0 +1,24 @@
+package cmd
+
+import (
+	"context"
+
+	"github.com/gogf/gf/v2/frame/g"
+	"github.com/gogf/gf/v2/net/ghttp"
+	"github.com/gogf/gf/v2/os/gcmd"
+)
+
+var (
+	Main = gcmd.Command{
+		Name:  "main",
+		Usage: "main",
+		Brief: "start http server",
+		Func: func(ctx context.Context, parser *gcmd.Parser) (err error) {
+			s := g.Server()
+			s.Group("/", func(group *ghttp.RouterGroup) {
+			})
+			s.Run()
+			return nil
+		},
+	}
+)

+ 22 - 0
internal/cmd/luago.go

@@ -0,0 +1,22 @@
+package cmd
+
+import (
+	"github.com/gogf/gf/v2/os/gctx"
+	"jygit.jydev.jianyu360.cn/BP/jyluaweb/server"
+	"jylua-api/internal/service"
+)
+
+var (
+	SERVER  = server.NewServer("jylua", true)
+	initCtx = gctx.New()
+)
+
+func init() {
+	for _, v := range service.JyLuaGoApi.GetAllApi(initCtx) {
+		_, _ = server.NewJyPerReqLua(
+			&server.Req{Id: v.Id, Code: v.Code,
+				Path:   service.JyLuaPathTree.GetPath(v.Groupid, v.Path, false),
+				Params: service.JyLuaGoParseParam.Check(initCtx, v.Parameters)},
+			SERVER)
+	}
+}

+ 1 - 0
internal/consts/consts.go

@@ -0,0 +1 @@
+package consts

+ 0 - 0
internal/dao/.gitkeep


+ 88 - 0
internal/dao/internal/jyapi_api.go

@@ -0,0 +1,88 @@
+// ==========================================================================
+// GFast自动生成dao internal操作代码,无需手动修改,重新生成会自动覆盖.
+// 生成日期:2023-12-04 08:46:15
+// 生成路径: gfast/app/gen/dao/internal/jyapi_api.go
+// 生成人:ren
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/v2/database/gdb"
+	"github.com/gogf/gf/v2/frame/g"
+	"jylua-api/internal/model"
+)
+
+// JyapiApiDao is the manager for logic model data accessing and custom defined data operations functions management.
+type JyapiApiDao struct {
+	Table   string          // Table is the underlying table name of the DAO.
+	Group   string          // Group is the database configuration group name of current DAO.
+	Columns JyapiApiColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// JyapiApiColumns defines and stores column names for table jyapi_api.
+type JyapiApiColumns struct {
+	Id          string // id
+	Groupid     string // 分组
+	Name        string // 名称
+	Path        string // 路径
+	Method      string // 方法
+	Code        string // 代码
+	Parameters  string // 参数json
+	CreatedAt   string // 创建时间
+	UpdatedAt   string // 更新时间
+	CreatedBy   string // 创建人
+	UpdatedBy   string // 更新人
+	Description string // 描述
+	Headers     string // 请求头
+	Options     string // 可选项
+	Status      string // 状态
+}
+
+var jyapiApiColumns = JyapiApiColumns{
+	Id:          "id",
+	Groupid:     "groupid",
+	Name:        "name",
+	Path:        "path",
+	Method:      "method",
+	Code:        "code",
+	Parameters:  "parameters",
+	CreatedAt:   "created_at",
+	UpdatedAt:   "updated_at",
+	CreatedBy:   "created_by",
+	UpdatedBy:   "updated_by",
+	Description: "description",
+	Headers:     "headers",
+	Options:     "options",
+	Status:      "status",
+}
+
+// NewJyapiApiDao creates and returns a new DAO object for table data access.
+func NewJyapiApiDao() *JyapiApiDao {
+	return &JyapiApiDao{
+		Group:   "default", //"default",
+		Table:   "jyapi_api",
+		Columns: jyapiApiColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *JyapiApiDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *JyapiApiDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(model.JyapiApi{}).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *JyapiApiDao) Transaction(ctx context.Context, f func(ctx context.Context, tx gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 80 - 0
internal/dao/internal/jyapi_group.go

@@ -0,0 +1,80 @@
+// ==========================================================================
+// GFast自动生成dao internal操作代码,无需手动修改,重新生成会自动覆盖.
+// 生成日期:2023-12-05 01:20:48
+// 生成路径: gfast/app/gen/dao/internal/jyapi_group.go
+// 生成人:ren
+// ==========================================================================
+
+package internal
+
+import (
+	"context"
+	"github.com/gogf/gf/v2/database/gdb"
+	"github.com/gogf/gf/v2/frame/g"
+	"jylua-api/internal/model"
+)
+
+// JyapiGroupDao is the manager for logic model data accessing and custom defined data operations functions management.
+type JyapiGroupDao struct {
+	Table   string            // Table is the underlying table name of the DAO.
+	Group   string            // Group is the database configuration group name of current DAO.
+	Columns JyapiGroupColumns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
+}
+
+// JyapiGroupColumns defines and stores column names for table jyapi_group.
+type JyapiGroupColumns struct {
+	Id        string // id
+	Name      string // 名称
+	Pid       string // 父级
+	Path      string // 分组路径
+	Group     string // 类型
+	CreatedAt string // 创建时间
+	UpdatedAt string // 更新时间
+	DeletedAt string // 删除时间
+	Status    string // 状态
+	CreatedBy string // 创建人
+	UpdatedBy string // 更新人
+}
+
+var jyapiGroupColumns = JyapiGroupColumns{
+	Id:        "id",
+	Name:      "name",
+	Pid:       "pid",
+	Path:      "path",
+	Group:     "group",
+	CreatedAt: "created_at",
+	UpdatedAt: "updated_at",
+	DeletedAt: "deleted_at",
+	Status:    "status",
+	CreatedBy: "created_by",
+	UpdatedBy: "updated_by",
+}
+
+// NewJyapiGroupDao creates and returns a new DAO object for table data access.
+func NewJyapiGroupDao() *JyapiGroupDao {
+	return &JyapiGroupDao{
+		Group:   "default", //"default",
+		Table:   "jyapi_group",
+		Columns: jyapiGroupColumns,
+	}
+}
+
+// DB retrieves and returns the underlying raw database management object of current DAO.
+func (dao *JyapiGroupDao) DB() gdb.DB {
+	return g.DB(dao.Group)
+}
+
+// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
+func (dao *JyapiGroupDao) Ctx(ctx context.Context) *gdb.Model {
+	return dao.DB().Model(model.JyapiGroup{}).Safe().Ctx(ctx)
+}
+
+// Transaction wraps the transaction logic using function f.
+// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
+// It commits the transaction and returns nil if function f returns nil.
+//
+// Note that, you should not Commit or Rollback the transaction in function f
+// as it is automatically handled by this function.
+func (dao *JyapiGroupDao) Transaction(ctx context.Context, f func(ctx context.Context, tx gdb.TX) error) (err error) {
+	return dao.Ctx(ctx).Transaction(ctx, f)
+}

+ 25 - 0
internal/dao/jyapi_api.go

@@ -0,0 +1,25 @@
+// ==========================================================================
+// GFast自动生成dao操作代码,无需手动修改,重新生成不会自动覆盖.
+// 生成日期:2023-12-04 08:46:15
+// 生成路径: gfast/app/gen/dao/jyapi_api.go
+// 生成人:ren
+// ==========================================================================
+
+package dao
+
+import (
+	"jylua-api/internal/dao/internal"
+)
+
+// jyapiApiDao is the manager for logic model data accessing and custom defined data operations functions management.
+// You can define custom methods on it to extend its functionality as you wish.
+type jyapiApiDao struct {
+	*internal.JyapiApiDao
+}
+
+var (
+	// JyapiApi is globally public accessible object for table tools_gen_table operations.
+	JyapiApi = jyapiApiDao{
+		internal.NewJyapiApiDao(),
+	}
+)

+ 25 - 0
internal/dao/jyapi_group.go

@@ -0,0 +1,25 @@
+// ==========================================================================
+// GFast自动生成dao操作代码,无需手动修改,重新生成不会自动覆盖.
+// 生成日期:2023-12-05 01:20:48
+// 生成路径: gfast/app/gen/dao/jyapi_group.go
+// 生成人:ren
+// ==========================================================================
+
+package dao
+
+import (
+	"jylua-api/internal/dao/internal"
+)
+
+// jyapiGroupDao is the manager for logic model data accessing and custom defined data operations functions management.
+// You can define custom methods on it to extend its functionality as you wish.
+type jyapiGroupDao struct {
+	*internal.JyapiGroupDao
+}
+
+var (
+	// JyapiGroup is globally public accessible object for table tools_gen_table operations.
+	JyapiGroup = jyapiGroupDao{
+		internal.NewJyapiGroupDao(),
+	}
+)

+ 40 - 0
internal/model/jyapi_api.go

@@ -0,0 +1,40 @@
+// ==========================================================================
+// GFast自动生成model代码,无需手动修改,重新生成会自动覆盖.
+// 生成日期:2023-12-04 08:46:15
+// 生成路径: gfast/app/gen/model/jyapi_api.go
+// 生成人:ren
+// ==========================================================================
+
+package model
+
+import (
+	"github.com/gogf/gf/v2/os/gtime"
+	"github.com/gogf/gf/v2/util/gmeta"
+)
+
+// JyapiApi is the golang structure for table jyapi_api.
+type JyapiApi struct {
+	gmeta.Meta               `orm:"table:jyapi_api"`
+	Id                       int                       `orm:"id,primary" json:"id"`           // id
+	Groupid                  int                       `orm:"groupid" json:"groupid"`         // 分组
+	Name                     string                    `orm:"name" json:"name"`               // 名称
+	Path                     string                    `orm:"path" json:"path"`               // 路径
+	Method                   string                    `orm:"method" json:"method"`           // 方法
+	Code                     string                    `orm:"code" json:"code"`               // 代码
+	Parameters               string                    `orm:"parameters" json:"parameters"`   // 参数json
+	CreatedAt                *gtime.Time               `orm:"created_at" json:"createdAt"`    // 创建时间
+	UpdatedAt                *gtime.Time               `orm:"updated_at" json:"updatedAt"`    // 更新时间
+	CreatedBy                int64                     `orm:"created_by" json:"createdBy"`    // 创建人
+	UpdatedBy                int64                     `orm:"updated_by" json:"updatedBy"`    // 更新人
+	Description              string                    `orm:"description" json:"description"` // 描述
+	Headers                  string                    `orm:"headers" json:"headers"`         // 请求头
+	Options                  string                    `orm:"options" json:"options"`         // 可选项
+	Status                   int                       `orm:"status" json:"status"`           // 状态
+	LinkedJyapiApiJyapiGroup *LinkedJyapiApiJyapiGroup `orm:"with:id=groupid" json:"linkedJyapiApiJyapiGroup"`
+}
+type LinkedJyapiApiJyapiGroup struct {
+	gmeta.Meta `orm:"table:jyapi_group"`
+	Id         int    `orm:"id" json:"id"`     // id
+	Name       string `orm:"name" json:"name"` // 名称
+	//增加嵌套关联!
+}

+ 29 - 0
internal/model/jyapi_group.go

@@ -0,0 +1,29 @@
+// ==========================================================================
+// GFast自动生成model代码,无需手动修改,重新生成会自动覆盖.
+// 生成日期:2023-12-05 01:20:48
+// 生成路径: gfast/app/gen/model/jyapi_group.go
+// 生成人:ren
+// ==========================================================================
+
+package model
+
+import (
+	"github.com/gogf/gf/v2/os/gtime"
+	"github.com/gogf/gf/v2/util/gmeta"
+)
+
+// JyapiGroup is the golang structure for table jyapi_group.
+type JyapiGroup struct {
+	gmeta.Meta `orm:"table:jyapi_group"`
+	Id         int         `orm:"id,primary" json:"id"`        // id
+	Name       string      `orm:"name" json:"name"`            // 名称
+	Pid        int         `orm:"pid" json:"pid"`              // 父级
+	Path       string      `orm:"path" json:"path"`            // 分组路径
+	Group      int         `orm:"group" json:"group"`          // 类型
+	CreatedAt  *gtime.Time `orm:"created_at" json:"createdAt"` // 创建时间
+	UpdatedAt  *gtime.Time `orm:"updated_at" json:"updatedAt"` // 更新时间
+	DeletedAt  *gtime.Time `orm:"deleted_at" json:"deletedAt"` // 删除时间
+	Status     int         `orm:"status" json:"status"`        // 状态
+	CreatedBy  int64       `orm:"created_by" json:"createdBy"` // 创建人
+	UpdatedBy  int64       `orm:"updated_by" json:"updatedBy"` // 更新人
+}

+ 0 - 0
internal/service/.gitkeep


+ 23 - 0
internal/service/api.go

@@ -0,0 +1,23 @@
+package service
+
+import (
+	"context"
+	"jylua-api/internal/dao"
+	"jylua-api/internal/model"
+)
+
+type luaApi struct {
+}
+
+var (
+	JyLuaGoApi *luaApi
+)
+
+// GetAllApi 获取所有api接口
+func (a *luaApi) GetAllApi(ctx context.Context) []*model.JyapiApi {
+	var res []*model.JyapiApi
+	if err := dao.JyapiApi.Ctx(ctx).Where("status=1").Scan(&res); err != nil {
+		return nil
+	}
+	return res
+}

+ 27 - 0
internal/service/parseParams.go

@@ -0,0 +1,27 @@
+package service
+
+import (
+	"context"
+	"github.com/gogf/gf/v2/container/gvar"
+	"github.com/gogf/gf/v2/frame/g"
+	"github.com/gogf/gf/v2/util/gconv"
+	"jygit.jydev.jianyu360.cn/BP/jyluaweb/server"
+)
+
+type parseParam struct {
+}
+
+var (
+	JyLuaGoParseParam *parseParam
+)
+
+// Check 参数校验
+func (*parseParam) Check(ctx context.Context, params string) []*server.Params {
+	var reqs []*server.Params
+	if len(params) > 4 {
+		if err := gconv.Structs(gvar.New(params).Maps(), &reqs); err != nil {
+			g.Log().Error(ctx, err)
+		}
+	}
+	return reqs
+}

+ 67 - 0
internal/service/tree.go

@@ -0,0 +1,67 @@
+package service
+
+import (
+	"context"
+	"github.com/gogf/gf/v2/frame/g"
+	"jylua-api/internal/dao"
+	"jylua-api/internal/model"
+	"sync"
+)
+
+type (
+	luaPathTree struct {
+		mTree map[int]*pathObj
+		mLock *sync.Mutex
+	}
+	pathObj struct {
+		Path  string
+		Pid   int
+		BScan bool
+	}
+)
+
+var (
+	JyLuaPathTree = &luaPathTree{
+		mTree: map[int]*pathObj{},
+		mLock: &sync.Mutex{},
+	}
+)
+
+func (tree *luaPathTree) GetPath(gid int, path string, force bool) string {
+	tree.mLock.Lock()
+	defer tree.mLock.Unlock()
+	ctx := context.Background()
+	if len(tree.mTree) == 0 || force {
+		//初始化
+		var group []*model.JyapiGroup
+		err := dao.JyapiGroup.Ctx(ctx).Where("status=1").Order("pid ASC").Scan(&group)
+		if err == nil {
+			for _, v1 := range group {
+				tree.mTree[v1.Id] = &pathObj{v1.Path, v1.Pid, false}
+			}
+			for _, v1 := range group {
+				pid := v1.Pid
+				for {
+					if p, ok := tree.mTree[pid]; ok {
+						tree.mTree[v1.Id].Path = p.Path + tree.mTree[v1.Id].Path
+						pid = p.Pid
+						if p.BScan {
+							tree.mTree[v1.Id].BScan = true
+							break
+						}
+					} else {
+						tree.mTree[v1.Id].BScan = true
+						break
+					}
+				}
+			}
+		} else {
+			g.Log().Error(ctx, err)
+		}
+	}
+	var fPatch string
+	if pObj, ok := tree.mTree[gid]; ok {
+		fPatch = pObj.Path
+	}
+	return fPatch + path
+}

+ 10 - 0
main.go

@@ -0,0 +1,10 @@
+package main
+
+import (
+	"jylua-api/internal/cmd"
+)
+
+func main() {
+	//cmd.Main.Run(gctx.GetInitCtx())
+	cmd.SERVER.Run()
+}

+ 68 - 0
manifest/config/config.toml

@@ -0,0 +1,68 @@
+[jylua]
+    # 基本配置
+    name = "jylua"
+    address = ":9091"
+    # 请求Header大小限制(Byte)。默认为10KB
+    maxHeaderBytes = "10240"
+    keepAlive = true
+    # 服务端Agent信息。默认为"GoFrame HTTP Server"
+    serverAgent = "jyweb"
+
+    # 接口文档
+    # OpenAPI接口文档地址
+    openapiPath = "/api.json"
+    # 内置SwaggerUI展示地址
+    swaggerPath = "/swagger"
+
+
+	# Sessions配置
+    sessionMaxAge = "24h"
+    # SessionId的键名名称。默认为gfsessionid
+    sessionIdName = "SESSIONID"
+
+    # 日志基本配置
+	logPath = "./logs"                 # 日志文件存储目录路径,建议使用绝对路径。默认为空,表示关闭
+    logStdout = true               # 日志是否输出到终端。默认为true
+    errorStack = true               # 当Server捕获到异常时是否记录堆栈信息到日志中。默认为true
+    errorLogEnabled = true               # 是否记录异常日志信息到日志中。默认为true
+    errorLogPattern = "error-{Ymd}.log"  # 异常错误日志文件格式。默认为"error-{Ymd}.log"
+    accessLogEnabled = true              # 是否记录访问日志。默认为false
+    accessLogPattern = "access-{Ymd}.log" # 访问日志文件格式。默认为"access-{Ymd}.log"
+
+    # PProf配置
+    pprofEnabled = true               # 是否开启PProf性能调试特性。默认为false
+    pprofPattern = "/jydebug/debug"   # 开启PProf时有效,表示PProf特性的页面访问路径,对当前Server绑定的所有域名有效。
+
+    # 其他配置
+    clientMaxBodySize = 810241024          # 客户端最大Body上传限制大小,影响文件上传大小(Byte)。默认为8*1024*1024=8MB
+    routeOverWrite = true              # 当遇到重复路由注册时是否强制覆盖。默认为false,重复路由存在时将会在启动时报错退出
+    dumpRouterMap = true               # 是否在Server启动时打印所有的路由列表。默认为true
+    graceful = true              # 是否开启平滑重启特性,开启时将会在本地增加10000的本地TCP端口用于进程间通信。默认false
+    gracefulTimeout = 30                  # 父进程在平滑重启后多少秒退出,默认2秒。若请求耗时大于该值,可能会导致请求中断
+    # 日志扩展配置(参数日志组件配置)
+    [jylua.logger]
+      path = "/var/log/"   # 日志文件路径。默认为空,表示关闭,仅输出到终端
+      file = "{Y-m-d}.log" # 日志文件格式。默认为"{Y-m-d}.log"
+      prefix = ""            # 日志内容输出前缀。默认为空
+      level =  "all"         # 日志输出级别
+      stdout =  true          # 日志是否同时输出到终端。默认true
+      rotateSize = 0             # 按照日志文件大小对文件进行滚动切分。默认为0,表示关闭滚动切分特性
+      rotateExpire =  0             # 按照日志文件时间间隔对文件滚动切分。默认为0,表示关闭滚动切分特性
+      rotateBackupLimit = 0             # 按照切分的文件数量清理切分文件,当滚动切分特性开启时有效。默认为0,表示不备份,切分则删除
+      rotateBackupExpire = 0             # 按照切分的文件有效期清理切分文件,当滚动切分特性开启时有效。默认为0,表示不备份,切分则删除
+      rotateBackupCompress = 3             # 滚动切分文件的压缩比(0-9)。默认为0,表示不压缩
+      rotateCheckInterval = "1h"          # 滚动切分的时间检测间隔,一般不需要设置。默认为1小时
+[database]
+    [database.default]
+        link  = "mysql:root:Topnet123@tcp(192.168.3.71:3366)/gfast-v2"
+        charset   = "utf8mb4" #数据库编码
+        debug = true
+        dryRun = false #空跑
+        maxIdle      = "5" #连接池最大闲置的连接数
+        maxOpen     = "10" #连接池最大打开的连接数
+        maxLifetime  = "30" #(单位秒)连接对象可重复使用的时间长度
+        # Database logger.
+        [database.logger]
+            Path   = "./logs/gf-app/sql"
+            Level  = "all"
+            Stdout = true