mirror of
https://github.com/bufanyun/hotgo.git
synced 2025-01-23 10:50:24 +08:00
This commit is contained in:
parent
b05f1fac36
commit
f49bb56b12
@ -11,6 +11,13 @@
|
|||||||
|
|
||||||
> 如果升级(覆盖)代码后打开会出现 sql 报错, 请检查更新的数据库格式或自行调整
|
> 如果升级(覆盖)代码后打开会出现 sql 报错, 请检查更新的数据库格式或自行调整
|
||||||
|
|
||||||
|
### v2.9.3
|
||||||
|
updated 2023.10.08
|
||||||
|
|
||||||
|
- 优化:gf版本升级到v2.5.4
|
||||||
|
- 优化:优化上传文件资源复用策略
|
||||||
|
- 修复:修复登录角色的部门状态检查
|
||||||
|
- 修复:修复配置参数`exceptLogin`命名
|
||||||
|
|
||||||
### v2.8.9
|
### v2.8.9
|
||||||
updated 2023.09.06
|
updated 2023.09.06
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// @Copyright Copyright (c) 2023 HotGo CLI
|
// @Copyright Copyright (c) 2023 HotGo CLI
|
||||||
// @Author Ms <133814250@qq.com>
|
// @Author Ms <133814250@qq.com>
|
||||||
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
|
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
|
||||||
// @AutoGenerate Version 2.7.6
|
// @AutoGenerate Version 2.8.9
|
||||||
package curddemo
|
package curddemo
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -13,10 +13,15 @@ require (
|
|||||||
github.com/casbin/casbin/v2 v2.55.0
|
github.com/casbin/casbin/v2 v2.55.0
|
||||||
github.com/forgoer/openssl v1.4.0
|
github.com/forgoer/openssl v1.4.0
|
||||||
github.com/go-pay/gopay v1.5.91
|
github.com/go-pay/gopay v1.5.91
|
||||||
github.com/gogf/gf/contrib/drivers/mysql/v2 v2.5.2
|
github.com/gogf/gf/contrib/drivers/clickhouse/v2 v2.5.4
|
||||||
github.com/gogf/gf/contrib/nosql/redis/v2 v2.5.2
|
github.com/gogf/gf/contrib/drivers/mssql/v2 v2.5.4
|
||||||
github.com/gogf/gf/contrib/trace/jaeger/v2 v2.5.2
|
github.com/gogf/gf/contrib/drivers/mysql/v2 v2.5.4
|
||||||
github.com/gogf/gf/v2 v2.5.2
|
github.com/gogf/gf/contrib/drivers/oracle/v2 v2.5.4
|
||||||
|
github.com/gogf/gf/contrib/drivers/pgsql/v2 v2.5.4
|
||||||
|
github.com/gogf/gf/contrib/drivers/sqlite/v2 v2.5.4
|
||||||
|
github.com/gogf/gf/contrib/nosql/redis/v2 v2.5.4
|
||||||
|
github.com/gogf/gf/contrib/trace/jaeger/v2 v2.5.4
|
||||||
|
github.com/gogf/gf/v2 v2.5.4
|
||||||
github.com/golang-jwt/jwt/v5 v5.0.0
|
github.com/golang-jwt/jwt/v5 v5.0.0
|
||||||
github.com/gorilla/websocket v1.5.0
|
github.com/gorilla/websocket v1.5.0
|
||||||
github.com/kayon/iploc v0.0.0-20200312105652-bda3e968a794
|
github.com/kayon/iploc v0.0.0-20200312105652-bda3e968a794
|
||||||
@ -31,7 +36,7 @@ require (
|
|||||||
github.com/tencentyun/cos-go-sdk-v5 v0.7.41
|
github.com/tencentyun/cos-go-sdk-v5 v0.7.41
|
||||||
github.com/ufilesdk-dev/ufile-gosdk v1.0.3
|
github.com/ufilesdk-dev/ufile-gosdk v1.0.3
|
||||||
github.com/xuri/excelize/v2 v2.6.0
|
github.com/xuri/excelize/v2 v2.6.0
|
||||||
go.opentelemetry.io/otel v1.17.0
|
go.opentelemetry.io/otel v1.19.0
|
||||||
golang.org/x/mod v0.9.0
|
golang.org/x/mod v0.9.0
|
||||||
golang.org/x/tools v0.7.0
|
golang.org/x/tools v0.7.0
|
||||||
gopkg.in/yaml.v3 v3.0.1
|
gopkg.in/yaml.v3 v3.0.1
|
||||||
@ -40,6 +45,7 @@ require (
|
|||||||
require (
|
require (
|
||||||
aead.dev/minisign v0.2.0 // indirect
|
aead.dev/minisign v0.2.0 // indirect
|
||||||
github.com/BurntSushi/toml v1.3.2 // indirect
|
github.com/BurntSushi/toml v1.3.2 // indirect
|
||||||
|
github.com/ClickHouse/clickhouse-go/v2 v2.0.15 // indirect
|
||||||
github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible // indirect
|
github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible // indirect
|
||||||
github.com/alibabacloud-go/alibabacloud-gateway-spi v0.0.4 // indirect
|
github.com/alibabacloud-go/alibabacloud-gateway-spi v0.0.4 // indirect
|
||||||
github.com/alibabacloud-go/debug v0.0.0-20190504072949-9472017b5c68 // indirect
|
github.com/alibabacloud-go/debug v0.0.0-20190504072949-9472017b5c68 // indirect
|
||||||
@ -53,7 +59,9 @@ require (
|
|||||||
github.com/clbanning/mxj v1.8.4 // indirect
|
github.com/clbanning/mxj v1.8.4 // indirect
|
||||||
github.com/clbanning/mxj/v2 v2.7.0 // indirect
|
github.com/clbanning/mxj/v2 v2.7.0 // indirect
|
||||||
github.com/davecgh/go-spew v1.1.1 // indirect
|
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||||
|
github.com/denisenkom/go-mssqldb v0.12.3 // indirect
|
||||||
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
|
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
|
||||||
|
github.com/dustin/go-humanize v1.0.1 // indirect
|
||||||
github.com/eapache/go-resiliency v1.2.0 // indirect
|
github.com/eapache/go-resiliency v1.2.0 // indirect
|
||||||
github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 // indirect
|
github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 // indirect
|
||||||
github.com/eapache/queue v1.1.0 // indirect
|
github.com/eapache/queue v1.1.0 // indirect
|
||||||
@ -61,11 +69,14 @@ require (
|
|||||||
github.com/fatih/color v1.15.0 // indirect
|
github.com/fatih/color v1.15.0 // indirect
|
||||||
github.com/fatih/structs v1.1.0 // indirect
|
github.com/fatih/structs v1.1.0 // indirect
|
||||||
github.com/fsnotify/fsnotify v1.6.0 // indirect
|
github.com/fsnotify/fsnotify v1.6.0 // indirect
|
||||||
|
github.com/glebarez/go-sqlite v1.21.2 // indirect
|
||||||
github.com/go-logr/logr v1.2.4 // indirect
|
github.com/go-logr/logr v1.2.4 // indirect
|
||||||
github.com/go-logr/stdr v1.2.2 // indirect
|
github.com/go-logr/stdr v1.2.2 // indirect
|
||||||
github.com/go-ole/go-ole v1.2.6 // indirect
|
github.com/go-ole/go-ole v1.2.6 // indirect
|
||||||
github.com/go-redis/redis/v8 v8.11.5 // indirect
|
github.com/go-redis/redis/v8 v8.11.5 // indirect
|
||||||
github.com/go-sql-driver/mysql v1.7.1 // indirect
|
github.com/go-sql-driver/mysql v1.7.1 // indirect
|
||||||
|
github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe // indirect
|
||||||
|
github.com/golang-sql/sqlexp v0.1.0 // indirect
|
||||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect
|
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect
|
||||||
github.com/golang/mock v1.6.0 // indirect
|
github.com/golang/mock v1.6.0 // indirect
|
||||||
github.com/golang/snappy v0.0.4 // indirect
|
github.com/golang/snappy v0.0.4 // indirect
|
||||||
@ -83,6 +94,7 @@ require (
|
|||||||
github.com/jcmturner/rpc/v2 v2.0.3 // indirect
|
github.com/jcmturner/rpc/v2 v2.0.3 // indirect
|
||||||
github.com/json-iterator/go v1.1.12 // indirect
|
github.com/json-iterator/go v1.1.12 // indirect
|
||||||
github.com/klauspost/compress v1.15.6 // indirect
|
github.com/klauspost/compress v1.15.6 // indirect
|
||||||
|
github.com/lib/pq v1.10.9 // indirect
|
||||||
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect
|
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect
|
||||||
github.com/magiconair/properties v1.8.7 // indirect
|
github.com/magiconair/properties v1.8.7 // indirect
|
||||||
github.com/mattn/go-colorable v0.1.13 // indirect
|
github.com/mattn/go-colorable v0.1.13 // indirect
|
||||||
@ -93,15 +105,19 @@ require (
|
|||||||
github.com/modern-go/reflect2 v1.0.2 // indirect
|
github.com/modern-go/reflect2 v1.0.2 // indirect
|
||||||
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect
|
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect
|
||||||
github.com/mozillazg/go-httpheader v0.2.1 // indirect
|
github.com/mozillazg/go-httpheader v0.2.1 // indirect
|
||||||
|
github.com/paulmach/orb v0.7.1 // indirect
|
||||||
github.com/pierrec/lz4/v4 v4.1.14 // indirect
|
github.com/pierrec/lz4/v4 v4.1.14 // indirect
|
||||||
github.com/pkg/errors v0.9.1 // indirect
|
github.com/pkg/errors v0.9.1 // indirect
|
||||||
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect
|
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect
|
||||||
github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect
|
github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect
|
||||||
github.com/redis/go-redis/v9 v9.1.0 // indirect
|
github.com/redis/go-redis/v9 v9.2.1 // indirect
|
||||||
|
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
|
||||||
github.com/richardlehane/mscfb v1.0.4 // indirect
|
github.com/richardlehane/mscfb v1.0.4 // indirect
|
||||||
github.com/richardlehane/msoleps v1.0.1 // indirect
|
github.com/richardlehane/msoleps v1.0.1 // indirect
|
||||||
github.com/rivo/uniseg v0.4.4 // indirect
|
github.com/rivo/uniseg v0.4.4 // indirect
|
||||||
github.com/shoenig/go-m1cpu v0.1.4 // indirect
|
github.com/shoenig/go-m1cpu v0.1.4 // indirect
|
||||||
|
github.com/shopspring/decimal v1.3.1 // indirect
|
||||||
|
github.com/sijms/go-ora/v2 v2.7.10 // indirect
|
||||||
github.com/sirupsen/logrus v1.9.0 // indirect
|
github.com/sirupsen/logrus v1.9.0 // indirect
|
||||||
github.com/spf13/cast v1.4.1 // indirect
|
github.com/spf13/cast v1.4.1 // indirect
|
||||||
github.com/tidwall/gjson v1.14.1 // indirect
|
github.com/tidwall/gjson v1.14.1 // indirect
|
||||||
@ -114,17 +130,21 @@ require (
|
|||||||
github.com/xuri/nfp v0.0.0-20220409054826-5e722a1d9e22 // indirect
|
github.com/xuri/nfp v0.0.0-20220409054826-5e722a1d9e22 // indirect
|
||||||
github.com/yusufpapurcu/wmi v1.2.2 // indirect
|
github.com/yusufpapurcu/wmi v1.2.2 // indirect
|
||||||
go.opentelemetry.io/otel/exporters/jaeger v1.17.0 // indirect
|
go.opentelemetry.io/otel/exporters/jaeger v1.17.0 // indirect
|
||||||
go.opentelemetry.io/otel/metric v1.17.0 // indirect
|
go.opentelemetry.io/otel/metric v1.19.0 // indirect
|
||||||
go.opentelemetry.io/otel/sdk v1.17.0 // indirect
|
go.opentelemetry.io/otel/sdk v1.19.0 // indirect
|
||||||
go.opentelemetry.io/otel/trace v1.17.0 // indirect
|
go.opentelemetry.io/otel/trace v1.19.0 // indirect
|
||||||
go.uber.org/atomic v1.7.0 // indirect
|
go.uber.org/atomic v1.7.0 // indirect
|
||||||
golang.org/x/crypto v0.13.0 // indirect
|
golang.org/x/crypto v0.14.0 // indirect
|
||||||
golang.org/x/image v0.1.0 // indirect
|
golang.org/x/image v0.1.0 // indirect
|
||||||
golang.org/x/net v0.15.0 // indirect
|
golang.org/x/net v0.16.0 // indirect
|
||||||
golang.org/x/sync v0.1.0 // indirect
|
golang.org/x/sync v0.1.0 // indirect
|
||||||
golang.org/x/sys v0.12.0 // indirect
|
golang.org/x/sys v0.13.0 // indirect
|
||||||
golang.org/x/text v0.13.0 // indirect
|
golang.org/x/text v0.13.0 // indirect
|
||||||
golang.org/x/time v0.0.0-20191024005414-555d28b269f0 // indirect
|
golang.org/x/time v0.0.0-20191024005414-555d28b269f0 // indirect
|
||||||
gopkg.in/ini.v1 v1.56.0 // indirect
|
gopkg.in/ini.v1 v1.56.0 // indirect
|
||||||
|
modernc.org/libc v1.22.5 // indirect
|
||||||
|
modernc.org/mathutil v1.5.0 // indirect
|
||||||
|
modernc.org/memory v1.5.0 // indirect
|
||||||
|
modernc.org/sqlite v1.23.1 // indirect
|
||||||
stathat.com/c/consistent v1.0.0 // indirect
|
stathat.com/c/consistent v1.0.0 // indirect
|
||||||
)
|
)
|
||||||
|
134
server/go.sum
134
server/go.sum
@ -33,10 +33,16 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl
|
|||||||
cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
|
cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
|
||||||
cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
|
cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
|
||||||
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
|
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
|
||||||
|
github.com/Azure/azure-sdk-for-go/sdk/azcore v0.19.0/go.mod h1:h6H6c8enJmmocHUbLiiGY6sx7f9i+X3m1CHdd5c6Rdw=
|
||||||
|
github.com/Azure/azure-sdk-for-go/sdk/azidentity v0.11.0/go.mod h1:HcM1YX14R7CJcghJGOYCgdezslRSVzqwLf/q+4Y2r/0=
|
||||||
|
github.com/Azure/azure-sdk-for-go/sdk/internal v0.7.0/go.mod h1:yqy467j36fJxcRV2TzfVZ1pCb5vxm4BtZPUdYWe/Xo8=
|
||||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||||
github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8=
|
github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8=
|
||||||
github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
|
github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
|
||||||
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
|
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
|
||||||
|
github.com/ClickHouse/clickhouse-go v1.5.4/go.mod h1:EaI/sW7Azgz9UATzd5ZdZHRUhHgv5+JMS9NSr2smCJI=
|
||||||
|
github.com/ClickHouse/clickhouse-go/v2 v2.0.15 h1:lLAZliqrZEygkxosLaW1qHyeTb4Ho7fVCZ0WKCpLocU=
|
||||||
|
github.com/ClickHouse/clickhouse-go/v2 v2.0.15/go.mod h1:Z21o82zD8FFqefOQDg93c0XITlxGbTsWQuRm588Azkk=
|
||||||
github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible h1:1G1pk05UrOh0NlF1oeaaix1x8XzrfjIDK47TY0Zehcw=
|
github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible h1:1G1pk05UrOh0NlF1oeaaix1x8XzrfjIDK47TY0Zehcw=
|
||||||
github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0=
|
github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0=
|
||||||
github.com/QcloudApi/qcloud_sign_golang v0.0.0-20141224014652-e4130a326409/go.mod h1:1pk82RBxDY/JZnPQrtqHlUFfCctgdorsd9M06fMynOM=
|
github.com/QcloudApi/qcloud_sign_golang v0.0.0-20141224014652-e4130a326409/go.mod h1:1pk82RBxDY/JZnPQrtqHlUFfCctgdorsd9M06fMynOM=
|
||||||
@ -44,6 +50,7 @@ github.com/Shopify/sarama v1.34.1 h1:pVCQO7BMAK3s1jWhgi5v1W6lwZ6Veiekfc2vsgRS06Y
|
|||||||
github.com/Shopify/sarama v1.34.1/go.mod h1:NZSNswsnStpq8TUdFaqnpXm2Do6KRzTIjdBdVlL1YRM=
|
github.com/Shopify/sarama v1.34.1/go.mod h1:NZSNswsnStpq8TUdFaqnpXm2Do6KRzTIjdBdVlL1YRM=
|
||||||
github.com/Shopify/toxiproxy/v2 v2.4.0 h1:O1e4Jfvr/hefNTNu+8VtdEG5lSeamJRo4aKhMOKNM64=
|
github.com/Shopify/toxiproxy/v2 v2.4.0 h1:O1e4Jfvr/hefNTNu+8VtdEG5lSeamJRo4aKhMOKNM64=
|
||||||
github.com/Shopify/toxiproxy/v2 v2.4.0/go.mod h1:3ilnjng821bkozDRxNoo64oI/DKqM+rOyJzb564+bvg=
|
github.com/Shopify/toxiproxy/v2 v2.4.0/go.mod h1:3ilnjng821bkozDRxNoo64oI/DKqM+rOyJzb564+bvg=
|
||||||
|
github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg=
|
||||||
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
||||||
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
||||||
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
|
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
|
||||||
@ -85,10 +92,11 @@ github.com/apache/rocketmq-client-go/v2 v2.1.0/go.mod h1:oEZKFDvS7sz/RWU0839+dQB
|
|||||||
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
|
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
|
||||||
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
|
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
|
||||||
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
|
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
|
||||||
|
github.com/bkaradzic/go-lz4 v1.0.0/go.mod h1:0YdlkowM3VswSROI7qDxhRvJ3sLhlFrRRwjwegp5jy4=
|
||||||
github.com/bradfitz/gomemcache v0.0.0-20220106215444-fb4bf637b56d h1:pVrfxiGfwelyab6n21ZBkbkmbevaf+WvMIiR7sr97hw=
|
github.com/bradfitz/gomemcache v0.0.0-20220106215444-fb4bf637b56d h1:pVrfxiGfwelyab6n21ZBkbkmbevaf+WvMIiR7sr97hw=
|
||||||
github.com/bradfitz/gomemcache v0.0.0-20220106215444-fb4bf637b56d/go.mod h1:H0wQNHz2YrLsuXOZozoeDmnHXkNCRmMW0gwFWDfEZDA=
|
github.com/bradfitz/gomemcache v0.0.0-20220106215444-fb4bf637b56d/go.mod h1:H0wQNHz2YrLsuXOZozoeDmnHXkNCRmMW0gwFWDfEZDA=
|
||||||
github.com/bsm/ginkgo/v2 v2.9.5 h1:rtVBYPs3+TC5iLUVOis1B9tjLTup7Cj5IfzosKtvTJ0=
|
github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs=
|
||||||
github.com/bsm/gomega v1.26.0 h1:LhQm+AFcgV2M0WyKroMASzAzCAJVpAxQXv4SaI9a69Y=
|
github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA=
|
||||||
github.com/casbin/casbin/v2 v2.55.0 h1:RyU+OacnVzjxof1U3bmxHM7oCRdx9+gNnkclrvof/zI=
|
github.com/casbin/casbin/v2 v2.55.0 h1:RyU+OacnVzjxof1U3bmxHM7oCRdx9+gNnkclrvof/zI=
|
||||||
github.com/casbin/casbin/v2 v2.55.0/go.mod h1:vByNa/Fchek0KZUgG5wEsl7iFsiviAYKRtgrQfcJqHg=
|
github.com/casbin/casbin/v2 v2.55.0/go.mod h1:vByNa/Fchek0KZUgG5wEsl7iFsiviAYKRtgrQfcJqHg=
|
||||||
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
|
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
|
||||||
@ -105,14 +113,20 @@ github.com/clbanning/mxj/v2 v2.5.5/go.mod h1:hNiWqW14h+kc+MdF9C6/YoRfjEJoR3ou6tn
|
|||||||
github.com/clbanning/mxj/v2 v2.7.0 h1:WA/La7UGCanFe5NpHF0Q3DNtnCsVoxbPKuyBNHWRyME=
|
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/clbanning/mxj/v2 v2.7.0/go.mod h1:hNiWqW14h+kc+MdF9C6/YoRfjEJoR3ou6tn/Qo+ve2s=
|
||||||
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
|
||||||
|
github.com/cloudflare/golz4 v0.0.0-20150217214814-ef862a3cdc58/go.mod h1:EOBUe0h4xcZ5GoxqC5SDxFQ8gwyZPKQoEzownBlhI80=
|
||||||
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
|
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
|
||||||
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
|
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
|
||||||
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
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 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
github.com/denisenkom/go-mssqldb v0.12.3 h1:pBSGx9Tq67pBOTLmxNuirNTeB8Vjmf886Kx+8Y+8shw=
|
||||||
|
github.com/denisenkom/go-mssqldb v0.12.3/go.mod h1:k0mtMFOnU+AihqFxPMiF05rtiDrorD1Vrm1KEz5hxDo=
|
||||||
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78=
|
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/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc=
|
||||||
|
github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ=
|
||||||
|
github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
|
||||||
|
github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
|
||||||
github.com/eapache/go-resiliency v1.2.0 h1:v7g92e/KSN71Rq7vSThKaWIq68fL4YHvWyiUKorFR1Q=
|
github.com/eapache/go-resiliency v1.2.0 h1:v7g92e/KSN71Rq7vSThKaWIq68fL4YHvWyiUKorFR1Q=
|
||||||
github.com/eapache/go-resiliency v1.2.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs=
|
github.com/eapache/go-resiliency v1.2.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs=
|
||||||
github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 h1:YEetp8/yCZMuEPMUDHG0CW/brkkEp8mzqk2+ODEitlw=
|
github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 h1:YEetp8/yCZMuEPMUDHG0CW/brkkEp8mzqk2+ODEitlw=
|
||||||
@ -137,6 +151,8 @@ github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMo
|
|||||||
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
|
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
|
||||||
github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
|
github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
|
||||||
github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw=
|
github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw=
|
||||||
|
github.com/glebarez/go-sqlite v1.21.2 h1:3a6LFC4sKahUunAmynQKLZceZCOzUthkRkEAl9gAXWo=
|
||||||
|
github.com/glebarez/go-sqlite v1.21.2/go.mod h1:sfxdZyhQjTM2Wry3gVYWaW072Ri1WMdWJi0k6+3382k=
|
||||||
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
|
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
|
||||||
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
|
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
|
||||||
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
|
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
|
||||||
@ -147,10 +163,12 @@ github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9
|
|||||||
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
|
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
|
||||||
github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
|
github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
|
||||||
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
|
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
|
||||||
|
github.com/go-logr/logr v1.2.3/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 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ=
|
||||||
github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
|
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 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
|
||||||
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
|
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
|
||||||
|
github.com/go-ole/go-ole v1.2.4/go.mod h1:XCwSNxSkXRo4vlyPy93sltvi/qJq0jqQhjqQNIwKuxM=
|
||||||
github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
|
github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
|
||||||
github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
|
github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
|
||||||
github.com/go-pay/gopay v1.5.91 h1:CYQ+eugaoCyQFOtMhXlcOBeTk+CpNfGFxh1UaBuj4YI=
|
github.com/go-pay/gopay v1.5.91 h1:CYQ+eugaoCyQFOtMhXlcOBeTk+CpNfGFxh1UaBuj4YI=
|
||||||
@ -163,21 +181,37 @@ github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl
|
|||||||
github.com/go-playground/validator/v10 v10.8.0/go.mod h1:9JhgTzTaE31GZDpH/HSvHiRJrJ3iKAgqqH0Bl/Ocjdk=
|
github.com/go-playground/validator/v10 v10.8.0/go.mod h1:9JhgTzTaE31GZDpH/HSvHiRJrJ3iKAgqqH0Bl/Ocjdk=
|
||||||
github.com/go-redis/redis/v8 v8.11.5 h1:AcZZR7igkdvfVmQTPnu9WE37LRrO/YrBH5zWyjDC0oI=
|
github.com/go-redis/redis/v8 v8.11.5 h1:AcZZR7igkdvfVmQTPnu9WE37LRrO/YrBH5zWyjDC0oI=
|
||||||
github.com/go-redis/redis/v8 v8.11.5/go.mod h1:gREzHqY1hg6oD9ngVRbLStwAWKhA0FEgq8Jd4h5lpwo=
|
github.com/go-redis/redis/v8 v8.11.5/go.mod h1:gREzHqY1hg6oD9ngVRbLStwAWKhA0FEgq8Jd4h5lpwo=
|
||||||
|
github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
|
||||||
github.com/go-sql-driver/mysql v1.7.1 h1:lUIinVbN1DY0xBg0eMOzmmtGoHwWBbvnWubQUrtU8EI=
|
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/go-sql-driver/mysql v1.7.1/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
|
||||||
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
|
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
|
||||||
github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE=
|
github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE=
|
||||||
github.com/gogf/gf/contrib/drivers/mysql/v2 v2.5.2 h1:tFQP3/4Ivsx9ZkXXbHPIGn+TCiEW+0pQ2elwsafACNM=
|
github.com/gogf/gf/contrib/drivers/clickhouse/v2 v2.5.4 h1:qfsZ9BGEQ0zcjZoXrDS6hXqIYmfsl75xXODKUfSi3Tc=
|
||||||
github.com/gogf/gf/contrib/drivers/mysql/v2 v2.5.2/go.mod h1:k9TrNZlYVBPNPYeqJ2uac0aqcJh75CHk7mWNYpRmrk4=
|
github.com/gogf/gf/contrib/drivers/clickhouse/v2 v2.5.4/go.mod h1:qpUmfJiCyK+IWi82P9ZtvBArS9zgP7e2koCbeYDZDd4=
|
||||||
github.com/gogf/gf/contrib/nosql/redis/v2 v2.5.2 h1:JzRIXB5J6vvnJGJmh7RfT8ntjXsn2jYXJf1+Q6oFe+A=
|
github.com/gogf/gf/contrib/drivers/mssql/v2 v2.5.4 h1:hAwujIn56v3GQ09Z8F+SVP1eNuoG6P9Nd8Ty5sbTaU0=
|
||||||
github.com/gogf/gf/contrib/nosql/redis/v2 v2.5.2/go.mod h1:vLNtPgfInF5cXlcjLhVZxijIXD30+IiVjN6hP9sjjhY=
|
github.com/gogf/gf/contrib/drivers/mssql/v2 v2.5.4/go.mod h1:gW7V/BynC1+46bMOEv/7EJv7NRnkIZDw0vvLD0MHz3o=
|
||||||
github.com/gogf/gf/contrib/trace/jaeger/v2 v2.5.2 h1:Aqgr/wlZT1iO1+eCoUQiNEqJM2VllHLXGPH3x0fuqlE=
|
github.com/gogf/gf/contrib/drivers/mysql/v2 v2.5.4 h1:xAmYQZEDBDoce/q5s7UTibYHHW0DSTApfmXVC/i0/zI=
|
||||||
github.com/gogf/gf/contrib/trace/jaeger/v2 v2.5.2/go.mod h1:+WE25pafL/4PNz5T3iwkMqvyk8l2nDWfRYVfq3aXnIk=
|
github.com/gogf/gf/contrib/drivers/mysql/v2 v2.5.4/go.mod h1:lEgzJw5PLBOEJ4gZHgs1GwsbjyBLBttN2sN63rYRNhk=
|
||||||
github.com/gogf/gf/v2 v2.5.2 h1:fACJE7DJH6iTGHGhgiNY1uuZIZtr2IqQkJ52E+wBnt8=
|
github.com/gogf/gf/contrib/drivers/oracle/v2 v2.5.4 h1:ZtMuMNETqGcFapCK34olW03xWyYicfZPwNIlXoqbRUg=
|
||||||
github.com/gogf/gf/v2 v2.5.2/go.mod h1:7yf5qp0BznfsYx7Sw49m3mQvBsHpwAjJk3Q9ZnKoUEc=
|
github.com/gogf/gf/contrib/drivers/oracle/v2 v2.5.4/go.mod h1:HIOlTEJBrvi7vxHrvkEWuRAMMn1uUl55YPirVRSG5AY=
|
||||||
|
github.com/gogf/gf/contrib/drivers/pgsql/v2 v2.5.4 h1:9NSznPu4xmkgoWmT6XUJjzu5RxQC6+2D4j7pXMzrbkw=
|
||||||
|
github.com/gogf/gf/contrib/drivers/pgsql/v2 v2.5.4/go.mod h1:wE/R5d40VQGebYlbgueVC1NicGZ0FyBP35BmflP1HMo=
|
||||||
|
github.com/gogf/gf/contrib/drivers/sqlite/v2 v2.5.4 h1:1qWazCCe2UU5zYVncv/u18gFUn2jtyqVZhW0tDON2oc=
|
||||||
|
github.com/gogf/gf/contrib/drivers/sqlite/v2 v2.5.4/go.mod h1:N+RC0Km7nkLk3bjxtgSsbazBZxhUgbQVvZwRiV+d05c=
|
||||||
|
github.com/gogf/gf/contrib/nosql/redis/v2 v2.5.4 h1:t4Ls/E022VMk5hc3a4IgWO3xGNEQRXicCTOrFymZdDg=
|
||||||
|
github.com/gogf/gf/contrib/nosql/redis/v2 v2.5.4/go.mod h1:1P7id3OWFb3lkp1zBKdGqRoVXgYAjATzky++tGh2vxc=
|
||||||
|
github.com/gogf/gf/contrib/trace/jaeger/v2 v2.5.4 h1:eGZdC5MZGaIk/jhwepjJRipc+ttXtT1XduA1ZddnntI=
|
||||||
|
github.com/gogf/gf/contrib/trace/jaeger/v2 v2.5.4/go.mod h1:0W6ogffjjvGIv0NPvslA56A0jY0sH9dPIYDDQ9TWlBU=
|
||||||
|
github.com/gogf/gf/v2 v2.5.4 h1:UBCSw8mInkHmEqL0E1LYc6QhSpaNFY/wHcFrTI/rzTk=
|
||||||
|
github.com/gogf/gf/v2 v2.5.4/go.mod h1:7yf5qp0BznfsYx7Sw49m3mQvBsHpwAjJk3Q9ZnKoUEc=
|
||||||
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
|
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
|
||||||
|
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
|
||||||
github.com/golang-jwt/jwt/v5 v5.0.0 h1:1n1XNM9hk7O9mnQoNBGolZvzebBQ7p93ULHRc28XJUE=
|
github.com/golang-jwt/jwt/v5 v5.0.0 h1:1n1XNM9hk7O9mnQoNBGolZvzebBQ7p93ULHRc28XJUE=
|
||||||
github.com/golang-jwt/jwt/v5 v5.0.0/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk=
|
github.com/golang-jwt/jwt/v5 v5.0.0/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk=
|
||||||
|
github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY=
|
||||||
|
github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0=
|
||||||
|
github.com/golang-sql/sqlexp v0.1.0 h1:ZCD6MBpcuOVfGVqsEmY5/4FtYiKz6tSyUv9LPEDei6A=
|
||||||
|
github.com/golang-sql/sqlexp v0.1.0/go.mod h1:J4ad9Vo8ZCWQ2GMrC4UCQy1JpCbwU9m3EOqtpKwwwHI=
|
||||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g=
|
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g=
|
||||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
|
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
|
||||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
||||||
@ -225,6 +259,7 @@ github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
|
|||||||
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
github.com/google/go-cmp v0.5.4/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.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||||
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||||
|
github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE=
|
||||||
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
|
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
|
||||||
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||||
github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk=
|
github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk=
|
||||||
@ -240,6 +275,7 @@ github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hf
|
|||||||
github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
|
github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
|
||||||
github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
|
github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
|
||||||
github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
|
github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
|
||||||
|
github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26 h1:Xim43kblpZXfIBQsbuBVKCudVG457BR2GZFIz3uw3hQ=
|
||||||
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
|
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
|
||||||
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||||
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
|
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
|
||||||
@ -249,9 +285,11 @@ github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5m
|
|||||||
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
|
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
|
||||||
github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00 h1:l5lAOZEym3oK3SQ2HBHWsJUfbNBiTXJDeW2QDxw9AQ0=
|
github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00 h1:l5lAOZEym3oK3SQ2HBHWsJUfbNBiTXJDeW2QDxw9AQ0=
|
||||||
github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
|
github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
|
||||||
|
github.com/gorilla/handlers v1.4.2/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ=
|
||||||
github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
|
github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
|
||||||
github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4=
|
github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4=
|
||||||
github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM=
|
github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM=
|
||||||
|
github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
|
||||||
github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=
|
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/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 h1:0fThFwLbW7P/kOiTBs03FsJSV9RM2M/Q/MOnCQxKMo0=
|
||||||
@ -281,6 +319,7 @@ github.com/jcmturner/gokrb5/v8 v8.4.2 h1:6ZIM6b/JJN0X8UM43ZOM6Z4SJzla+a/u7scXFJz
|
|||||||
github.com/jcmturner/gokrb5/v8 v8.4.2/go.mod h1:sb+Xq/fTY5yktf/VxLsE3wlfPqQjp0aWNYyvBVK62bc=
|
github.com/jcmturner/gokrb5/v8 v8.4.2/go.mod h1:sb+Xq/fTY5yktf/VxLsE3wlfPqQjp0aWNYyvBVK62bc=
|
||||||
github.com/jcmturner/rpc/v2 v2.0.3 h1:7FXXj8Ti1IaVFpSAziCZWNzbNuZmnvw/i6CqLNdWfZY=
|
github.com/jcmturner/rpc/v2 v2.0.3 h1:7FXXj8Ti1IaVFpSAziCZWNzbNuZmnvw/i6CqLNdWfZY=
|
||||||
github.com/jcmturner/rpc/v2 v2.0.3/go.mod h1:VUJYCIDm3PVOEHw8sgt091/20OJjskO/YJki3ELg/Hc=
|
github.com/jcmturner/rpc/v2 v2.0.3/go.mod h1:VUJYCIDm3PVOEHw8sgt091/20OJjskO/YJki3ELg/Hc=
|
||||||
|
github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks=
|
||||||
github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
|
github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
|
||||||
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
|
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
|
||||||
github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
||||||
@ -296,6 +335,7 @@ github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7V
|
|||||||
github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
|
github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
|
||||||
github.com/kayon/iploc v0.0.0-20200312105652-bda3e968a794 h1:dWJxw+KQOMeVcoyxqG9I5fppPld1hh1FG8ngv0fKNsQ=
|
github.com/kayon/iploc v0.0.0-20200312105652-bda3e968a794 h1:dWJxw+KQOMeVcoyxqG9I5fppPld1hh1FG8ngv0fKNsQ=
|
||||||
github.com/kayon/iploc v0.0.0-20200312105652-bda3e968a794/go.mod h1:IwrOeG3O3K9vVXmcVvc9T0XLabw67QePi5pKQt5U+Kw=
|
github.com/kayon/iploc v0.0.0-20200312105652-bda3e968a794/go.mod h1:IwrOeG3O3K9vVXmcVvc9T0XLabw67QePi5pKQt5U+Kw=
|
||||||
|
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/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
||||||
github.com/klauspost/compress v1.15.6 h1:6D9PcO8QWu0JyaQ2zUMmu16T1T+zjjEpP91guRsvDfY=
|
github.com/klauspost/compress v1.15.6 h1:6D9PcO8QWu0JyaQ2zUMmu16T1T+zjjEpP91guRsvDfY=
|
||||||
github.com/klauspost/compress v1.15.6/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU=
|
github.com/klauspost/compress v1.15.6/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU=
|
||||||
@ -311,6 +351,9 @@ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
|||||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||||
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
||||||
github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY=
|
github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY=
|
||||||
|
github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
|
||||||
|
github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=
|
||||||
|
github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
|
||||||
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4=
|
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4=
|
||||||
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I=
|
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I=
|
||||||
github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
|
github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
|
||||||
@ -323,11 +366,13 @@ github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D
|
|||||||
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
|
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 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U=
|
||||||
github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
|
github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
|
||||||
|
github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
|
||||||
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
|
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
|
||||||
github.com/minio/selfupdate v0.6.0 h1:i76PgT0K5xO9+hjzKcacQtO7+MjJ4JKA8Ak8XQ9DDwU=
|
github.com/minio/selfupdate v0.6.0 h1:i76PgT0K5xO9+hjzKcacQtO7+MjJ4JKA8Ak8XQ9DDwU=
|
||||||
github.com/minio/selfupdate v0.6.0/go.mod h1:bO02GTIPCMQFTEvE5h4DjYB58bCoZ35XLeBf0buTDdM=
|
github.com/minio/selfupdate v0.6.0/go.mod h1:bO02GTIPCMQFTEvE5h4DjYB58bCoZ35XLeBf0buTDdM=
|
||||||
github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs=
|
github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs=
|
||||||
github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
|
github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
|
||||||
|
github.com/mkevac/debugcharts v0.0.0-20191222103121-ae1c48aa8615/go.mod h1:Ad7oeElCZqA1Ufj0U9/liOF4BtVepxRcTvr2ey7zTvM=
|
||||||
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
||||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
|
||||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
||||||
@ -335,6 +380,7 @@ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lN
|
|||||||
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
|
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
|
||||||
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
|
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
|
||||||
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
|
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
|
||||||
|
github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8=
|
||||||
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw=
|
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw=
|
||||||
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8=
|
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8=
|
||||||
github.com/mojocn/base64Captcha v1.3.5 h1:Qeilr7Ta6eDtG4S+tQuZ5+hO+QHbiGAJdi4PfoagaA0=
|
github.com/mojocn/base64Captcha v1.3.5 h1:Qeilr7Ta6eDtG4S+tQuZ5+hO+QHbiGAJdi4PfoagaA0=
|
||||||
@ -361,8 +407,13 @@ github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1y
|
|||||||
github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY=
|
github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY=
|
||||||
github.com/onsi/gomega v1.18.1 h1:M1GfJqGRrBrrGGsbxzV5dqM2U2ApXefZCQpkukxYRLE=
|
github.com/onsi/gomega v1.18.1 h1:M1GfJqGRrBrrGGsbxzV5dqM2U2ApXefZCQpkukxYRLE=
|
||||||
github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs=
|
github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs=
|
||||||
|
github.com/paulmach/orb v0.7.1 h1:Zha++Z5OX/l168sqHK3k4z18LDvr+YAO/VjK0ReQ9rU=
|
||||||
|
github.com/paulmach/orb v0.7.1/go.mod h1:FWRlTgl88VI1RBx/MkrwWDRhQ96ctqMCh8boXhmqB/A=
|
||||||
|
github.com/paulmach/protoscan v0.2.1/go.mod h1:SpcSwydNLrxUGSDvXvO0P7g7AuhJ7lcKfDlhJCDw2gY=
|
||||||
|
github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
|
||||||
github.com/pierrec/lz4/v4 v4.1.14 h1:+fL8AQEZtz/ijeNnpduH0bROTu0O3NZAlPjQxGn8LwE=
|
github.com/pierrec/lz4/v4 v4.1.14 h1:+fL8AQEZtz/ijeNnpduH0bROTu0O3NZAlPjQxGn8LwE=
|
||||||
github.com/pierrec/lz4/v4 v4.1.14/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
|
github.com/pierrec/lz4/v4 v4.1.14/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
|
||||||
|
github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA=
|
||||||
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
|
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
|
||||||
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||||
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||||
@ -396,8 +447,11 @@ github.com/qiniu/go-sdk/v7 v7.14.0/go.mod h1:btsaOc8CA3hdVloULfFdDgDc+g4f3TDZEFs
|
|||||||
github.com/qiniu/x v1.10.5/go.mod h1:03Ni9tj+N2h2aKnAz+6N0Xfl8FwMEDRC2PAlxekASDs=
|
github.com/qiniu/x v1.10.5/go.mod h1:03Ni9tj+N2h2aKnAz+6N0Xfl8FwMEDRC2PAlxekASDs=
|
||||||
github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM=
|
github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM=
|
||||||
github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
|
github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
|
||||||
github.com/redis/go-redis/v9 v9.1.0 h1:137FnGdk+EQdCbye1FW+qOEcY5S+SpY9T0NiuqvtfMY=
|
github.com/redis/go-redis/v9 v9.2.1 h1:WlYJg71ODF0dVspZZCpYmoF1+U1Jjk9Rwd7pq6QmlCg=
|
||||||
github.com/redis/go-redis/v9 v9.1.0/go.mod h1:urWj3He21Dj5k4TK1y59xH8Uj6ATueP8AH1cY3lZl4c=
|
github.com/redis/go-redis/v9 v9.2.1/go.mod h1:hdY0cQFCN4fnSYT6TkisLufl/4W5UIXyv0b/CLO2V2M=
|
||||||
|
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
|
||||||
|
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE=
|
||||||
|
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
|
||||||
github.com/richardlehane/mscfb v1.0.4 h1:WULscsljNPConisD5hR0+OyZjwK46Pfyr6mPu5ZawpM=
|
github.com/richardlehane/mscfb v1.0.4 h1:WULscsljNPConisD5hR0+OyZjwK46Pfyr6mPu5ZawpM=
|
||||||
github.com/richardlehane/mscfb v1.0.4/go.mod h1:YzVpcZg9czvAuhk9T+a3avCpcFPMUWm7gK3DypaEsUk=
|
github.com/richardlehane/mscfb v1.0.4/go.mod h1:YzVpcZg9czvAuhk9T+a3avCpcFPMUWm7gK3DypaEsUk=
|
||||||
github.com/richardlehane/msoleps v1.0.1 h1:RfrALnSNXzmXLbGct/P2b4xkFz4e8Gmj/0Vj9M9xC1o=
|
github.com/richardlehane/msoleps v1.0.1 h1:RfrALnSNXzmXLbGct/P2b4xkFz4e8Gmj/0Vj9M9xC1o=
|
||||||
@ -410,13 +464,20 @@ github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTE
|
|||||||
github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8=
|
github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8=
|
||||||
github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE=
|
github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE=
|
||||||
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||||
|
github.com/shirou/gopsutil v2.19.11+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
|
||||||
|
github.com/shirou/gopsutil v3.21.11+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
|
||||||
github.com/shirou/gopsutil/v3 v3.23.3 h1:Syt5vVZXUDXPEXpIBt5ziWsJ4LdSAAxF4l/xZeQgSEE=
|
github.com/shirou/gopsutil/v3 v3.23.3 h1:Syt5vVZXUDXPEXpIBt5ziWsJ4LdSAAxF4l/xZeQgSEE=
|
||||||
github.com/shirou/gopsutil/v3 v3.23.3/go.mod h1:lSBNN6t3+D6W5e5nXTxc8KIMMVxAcS+6IJlffjRRlMU=
|
github.com/shirou/gopsutil/v3 v3.23.3/go.mod h1:lSBNN6t3+D6W5e5nXTxc8KIMMVxAcS+6IJlffjRRlMU=
|
||||||
|
github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4/go.mod h1:qsXQc7+bwAM3Q1u/4XEfrquwF8Lw7D7y5cD8CuHnfIc=
|
||||||
github.com/shoenig/go-m1cpu v0.1.4 h1:SZPIgRM2sEF9NJy50mRHu9PKGwxyyTTJIWvCtgVbozs=
|
github.com/shoenig/go-m1cpu v0.1.4 h1:SZPIgRM2sEF9NJy50mRHu9PKGwxyyTTJIWvCtgVbozs=
|
||||||
github.com/shoenig/go-m1cpu v0.1.4/go.mod h1:Wwvst4LR89UxjeFtLRMrpgRiyY4xPsejnVZym39dbAQ=
|
github.com/shoenig/go-m1cpu v0.1.4/go.mod h1:Wwvst4LR89UxjeFtLRMrpgRiyY4xPsejnVZym39dbAQ=
|
||||||
github.com/shoenig/test v0.6.3 h1:GVXWJFk9PiOjN0KoJ7VrJGH6uLPnqxR7/fe3HUPfE0c=
|
github.com/shoenig/test v0.6.3 h1:GVXWJFk9PiOjN0KoJ7VrJGH6uLPnqxR7/fe3HUPfE0c=
|
||||||
github.com/shoenig/test v0.6.3/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k=
|
github.com/shoenig/test v0.6.3/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k=
|
||||||
|
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/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
|
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
|
||||||
|
github.com/sijms/go-ora/v2 v2.7.10 h1:GSLdj0PYYgSndhsnm7b6p32OqgnwnUZSkFb3j+htfhI=
|
||||||
|
github.com/sijms/go-ora/v2 v2.7.10/go.mod h1:EHxlY6x7y9HAsdfumurRfTd+v8NrEOTR3Xl4FWlH6xk=
|
||||||
github.com/silenceper/wechat/v2 v2.1.4 h1:X+G9C/EiBET5AK0zhrflX3ESCP/yxhJUvoRoSXHm0js=
|
github.com/silenceper/wechat/v2 v2.1.4 h1:X+G9C/EiBET5AK0zhrflX3ESCP/yxhJUvoRoSXHm0js=
|
||||||
github.com/silenceper/wechat/v2 v2.1.4/go.mod h1:F0PKqImb15THnwoqRNrZO1z3vpwyWuiHr5zzfnjdECY=
|
github.com/silenceper/wechat/v2 v2.1.4/go.mod h1:F0PKqImb15THnwoqRNrZO1z3vpwyWuiHr5zzfnjdECY=
|
||||||
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
|
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
|
||||||
@ -447,6 +508,7 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5
|
|||||||
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||||
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||||
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||||
|
github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals=
|
||||||
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
|
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
|
||||||
github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
|
github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
|
||||||
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
|
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
|
||||||
@ -469,8 +531,10 @@ github.com/tidwall/pretty v1.2.0 h1:RWIZEg2iJ8/g6fDDYzMpobmaoGh5OLl4AXtGUGPcqCs=
|
|||||||
github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
|
github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU=
|
||||||
github.com/tjfoc/gmsm v1.3.2 h1:7JVkAn5bvUJ7HtU08iW6UiD+UTmJTIToHCfeFzkcCxM=
|
github.com/tjfoc/gmsm v1.3.2 h1:7JVkAn5bvUJ7HtU08iW6UiD+UTmJTIToHCfeFzkcCxM=
|
||||||
github.com/tjfoc/gmsm v1.3.2/go.mod h1:HaUcFuY0auTiaHB9MHFGCPx5IaLhTUd2atbCFBQXn9w=
|
github.com/tjfoc/gmsm v1.3.2/go.mod h1:HaUcFuY0auTiaHB9MHFGCPx5IaLhTUd2atbCFBQXn9w=
|
||||||
|
github.com/tklauser/go-sysconf v0.3.10/go.mod h1:C8XykCvCb+Gn0oNCWPIlcb0RuglQTYaQ2hGm7jmxEFk=
|
||||||
github.com/tklauser/go-sysconf v0.3.11 h1:89WgdJhk5SNwJfu+GKyYveZ4IaJ7xAkecBo+KdJV0CM=
|
github.com/tklauser/go-sysconf v0.3.11 h1:89WgdJhk5SNwJfu+GKyYveZ4IaJ7xAkecBo+KdJV0CM=
|
||||||
github.com/tklauser/go-sysconf v0.3.11/go.mod h1:GqXfhXY3kiPa0nAXPDIQIWzJbMCB7AmcWpGR8lSZfqI=
|
github.com/tklauser/go-sysconf v0.3.11/go.mod h1:GqXfhXY3kiPa0nAXPDIQIWzJbMCB7AmcWpGR8lSZfqI=
|
||||||
|
github.com/tklauser/numcpus v0.4.0/go.mod h1:1+UI3pD8NW14VMwdgJNJ1ESk2UnwhAnz5hMwiKKqXCQ=
|
||||||
github.com/tklauser/numcpus v0.6.0 h1:kebhY2Qt+3U6RNK7UqpYNA+tJ23IBEGKkB7JQBfDYms=
|
github.com/tklauser/numcpus v0.6.0 h1:kebhY2Qt+3U6RNK7UqpYNA+tJ23IBEGKkB7JQBfDYms=
|
||||||
github.com/tklauser/numcpus v0.6.0/go.mod h1:FEZLMke0lhOUG6w2JadTzp0a+Nl8PF/GFkQ5UVIcaL4=
|
github.com/tklauser/numcpus v0.6.0/go.mod h1:FEZLMke0lhOUG6w2JadTzp0a+Nl8PF/GFkQ5UVIcaL4=
|
||||||
github.com/ufilesdk-dev/ufile-gosdk v1.0.3 h1:M85lCFBmCHcFfXldFOb+Lkdw10fLZXvqVUnyZ852Nhk=
|
github.com/ufilesdk-dev/ufile-gosdk v1.0.3 h1:M85lCFBmCHcFfXldFOb+Lkdw10fLZXvqVUnyZ852Nhk=
|
||||||
@ -499,16 +563,18 @@ go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
|
|||||||
go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
||||||
go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
||||||
go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
||||||
go.opentelemetry.io/otel v1.17.0 h1:MW+phZ6WZ5/uk2nd93ANk/6yJ+dVrvNWUjGhnnFU5jM=
|
go.opentelemetry.io/otel v1.7.0/go.mod h1:5BdUoMIz5WEs0vt0CUEMtSSaTSHBBVwrhnz7+nrD5xk=
|
||||||
go.opentelemetry.io/otel v1.17.0/go.mod h1:I2vmBGtFaODIVMBSTPVDlJSzBDNf93k60E6Ft0nyjo0=
|
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/exporters/jaeger v1.17.0 h1:D7UpUy2Xc2wsi1Ras6V40q806WM07rqoCWzXu7Sqy+4=
|
go.opentelemetry.io/otel/exporters/jaeger v1.17.0 h1:D7UpUy2Xc2wsi1Ras6V40q806WM07rqoCWzXu7Sqy+4=
|
||||||
go.opentelemetry.io/otel/exporters/jaeger v1.17.0/go.mod h1:nPCqOnEH9rNLKqH/+rrUjiMzHJdV1BlpKcTwRTyKkKI=
|
go.opentelemetry.io/otel/exporters/jaeger v1.17.0/go.mod h1:nPCqOnEH9rNLKqH/+rrUjiMzHJdV1BlpKcTwRTyKkKI=
|
||||||
go.opentelemetry.io/otel/metric v1.17.0 h1:iG6LGVz5Gh+IuO0jmgvpTB6YVrCGngi8QGm+pMd8Pdc=
|
go.opentelemetry.io/otel/metric v1.19.0 h1:aTzpGtV0ar9wlV4Sna9sdJyII5jTVJEvKETPiOKwvpE=
|
||||||
go.opentelemetry.io/otel/metric v1.17.0/go.mod h1:h4skoxdZI17AxwITdmdZjjYJQH5nzijUUjm+wtPph5o=
|
go.opentelemetry.io/otel/metric v1.19.0/go.mod h1:L5rUsV9kM1IxCj1MmSdS+JQAcVm319EUrDVLrt7jqt8=
|
||||||
go.opentelemetry.io/otel/sdk v1.17.0 h1:FLN2X66Ke/k5Sg3V623Q7h7nt3cHXaW1FOvKKrW0IpE=
|
go.opentelemetry.io/otel/sdk v1.19.0 h1:6USY6zH+L8uMH8L3t1enZPR3WFEmSTADlqldyHtJi3o=
|
||||||
go.opentelemetry.io/otel/sdk v1.17.0/go.mod h1:U87sE0f5vQB7hwUoW98pW5Rz4ZDuCFBZFNUBlSgmDFQ=
|
go.opentelemetry.io/otel/sdk v1.19.0/go.mod h1:NedEbbS4w3C6zElbLdPJKOpJQOrGUJ+GfzpjUvI0v1A=
|
||||||
go.opentelemetry.io/otel/trace v1.17.0 h1:/SWhSRHmDPOImIAetP1QAeMnZYiQXrTy4fMMYOdSKWQ=
|
go.opentelemetry.io/otel/trace v1.7.0/go.mod h1:fzLSB9nqR2eXzxPXb2JW9IKE+ScyXA48yyE4TNvoHqU=
|
||||||
go.opentelemetry.io/otel/trace v1.17.0/go.mod h1:I/4vKTgFclIsXRVucpH25X0mpFSczM7aHeaz0ZBLWjY=
|
go.opentelemetry.io/otel/trace v1.19.0 h1:DFVQmlVbfVeOuBRrwdtaehRrWiL1JoVs9CPIQ1Dzxpg=
|
||||||
|
go.opentelemetry.io/otel/trace v1.19.0/go.mod h1:mfaSyvGyEJEI0nyV2I4qhNQnbBOUUmYZpYojqMnX2vo=
|
||||||
go.uber.org/atomic v1.5.1/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
|
go.uber.org/atomic v1.5.1/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
|
||||||
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
|
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
|
||||||
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
|
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
|
||||||
@ -520,6 +586,7 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U
|
|||||||
golang.org/x/crypto v0.0.0-20191219195013-becbf705a915/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
golang.org/x/crypto v0.0.0-20191219195013-becbf705a915/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||||
golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||||
|
golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||||
golang.org/x/crypto v0.0.0-20201112155050-0c6587e931a9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
golang.org/x/crypto v0.0.0-20201112155050-0c6587e931a9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||||
golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
|
golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
|
||||||
golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||||
@ -528,8 +595,8 @@ golang.org/x/crypto v0.0.0-20211209193657-4570a0811e8b/go.mod h1:IxCIyHEi3zRg3s0
|
|||||||
golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||||
golang.org/x/crypto v0.0.0-20220408190544-5352b0902921/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
golang.org/x/crypto v0.0.0-20220408190544-5352b0902921/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||||
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
|
||||||
golang.org/x/crypto v0.13.0 h1:mvySKfSWJ+UKUii46M40LOvyWfN0s2U+46/jDd0e6Ck=
|
golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc=
|
||||||
golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=
|
golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
|
||||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||||
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
|
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
|
||||||
@ -603,12 +670,13 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v
|
|||||||
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
|
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
|
||||||
golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk=
|
golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk=
|
||||||
golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||||
|
golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||||
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||||
golang.org/x/net v0.0.0-20220407224826-aac1ed45d8e3/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
|
golang.org/x/net v0.0.0-20220407224826-aac1ed45d8e3/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
|
||||||
golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
|
golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
|
||||||
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
|
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
|
||||||
golang.org/x/net v0.15.0 h1:ugBLEUaxABaB5AJqW9enI0ACdci2RUd4eP51NTBvuJ8=
|
golang.org/x/net v0.16.0 h1:7eBu7KsSvFDtSXUIDbh3aqlK4DPsZ1rByC8PFfBThos=
|
||||||
golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
|
golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
|
||||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||||
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||||
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||||
@ -649,6 +717,7 @@ golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7w
|
|||||||
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.0.0-20191220220014-0732a990476f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
@ -682,6 +751,8 @@ golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBc
|
|||||||
golang.org/x/sys v0.0.0-20211020174200-9d6173849985/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20211020174200-9d6173849985/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
golang.org/x/sys v0.0.0-20220429233432-b5fbb4746d32/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
@ -689,8 +760,8 @@ golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBc
|
|||||||
golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o=
|
golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
|
||||||
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
|
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
|
||||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||||
@ -748,10 +819,12 @@ golang.org/x/tools v0.0.0-20200509030707-2212a7e161a5/go.mod h1:EkVYQZoAsY45+roY
|
|||||||
golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
||||||
golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
||||||
golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
||||||
|
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
||||||
golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
|
golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
|
||||||
golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
|
golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
|
||||||
golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
|
golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
|
||||||
golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||||
|
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||||
golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
|
golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
|
||||||
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
|
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
|
||||||
golang.org/x/tools v0.7.0 h1:W4OVu8VVOaIO0yzWMNdepAulS7YfoS3Zabrm8DOXXU4=
|
golang.org/x/tools v0.7.0 h1:W4OVu8VVOaIO0yzWMNdepAulS7YfoS3Zabrm8DOXXU4=
|
||||||
@ -835,6 +908,7 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj
|
|||||||
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
|
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
|
||||||
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
|
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
|
||||||
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
|
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
|
||||||
|
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
|
||||||
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
|
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
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-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
@ -870,6 +944,14 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh
|
|||||||
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
|
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
|
||||||
honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
|
honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
|
||||||
honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
|
honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
|
||||||
|
modernc.org/libc v1.22.5 h1:91BNch/e5B0uPbJFgqbxXuOnxBQjlS//icfQEGmvyjE=
|
||||||
|
modernc.org/libc v1.22.5/go.mod h1:jj+Z7dTNX8fBScMVNRAYZ/jF91K8fdT2hYMThc3YjBY=
|
||||||
|
modernc.org/mathutil v1.5.0 h1:rV0Ko/6SfM+8G+yKiyI830l3Wuz1zRutdslNoQ0kfiQ=
|
||||||
|
modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
|
||||||
|
modernc.org/memory v1.5.0 h1:N+/8c5rE6EqugZwHii4IFsaJ7MUhoWX07J5tC/iI5Ds=
|
||||||
|
modernc.org/memory v1.5.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
|
||||||
|
modernc.org/sqlite v1.23.1 h1:nrSBg4aRQQwq59JpvGEQ15tNxoO5pX/kUjcRNwSAGQM=
|
||||||
|
modernc.org/sqlite v1.23.1/go.mod h1:OrDj17Mggn6MhE+iPbBNf7RGKODDE9NFT0f3EwDzJqk=
|
||||||
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
|
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
|
||||||
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
|
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
|
||||||
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
|
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
|
||||||
|
@ -7,5 +7,5 @@ package consts
|
|||||||
|
|
||||||
// VersionApp HotGo版本
|
// VersionApp HotGo版本
|
||||||
const (
|
const (
|
||||||
VersionApp = "2.8.9"
|
VersionApp = "2.9.3"
|
||||||
)
|
)
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// @Copyright Copyright (c) 2023 HotGo CLI
|
// @Copyright Copyright (c) 2023 HotGo CLI
|
||||||
// @Author Ms <133814250@qq.com>
|
// @Author Ms <133814250@qq.com>
|
||||||
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
|
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
|
||||||
// @AutoGenerate Version 2.7.6
|
// @AutoGenerate Version 2.8.9
|
||||||
package sys
|
package sys
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -17,6 +17,7 @@ import (
|
|||||||
|
|
||||||
"github.com/gogf/gf/v2/encoding/gbase64"
|
"github.com/gogf/gf/v2/encoding/gbase64"
|
||||||
"github.com/gogf/gf/v2/frame/g"
|
"github.com/gogf/gf/v2/frame/g"
|
||||||
|
"github.com/gogf/gf/v2/os/gbuild"
|
||||||
"github.com/gogf/gf/v2/os/gcmd"
|
"github.com/gogf/gf/v2/os/gcmd"
|
||||||
"github.com/gogf/gf/v2/os/genv"
|
"github.com/gogf/gf/v2/os/genv"
|
||||||
"github.com/gogf/gf/v2/os/gfile"
|
"github.com/gogf/gf/v2/os/gfile"
|
||||||
@ -46,7 +47,7 @@ const (
|
|||||||
cBuildBrief = `cross-building go project for lots of platforms`
|
cBuildBrief = `cross-building go project for lots of platforms`
|
||||||
cBuildEg = `
|
cBuildEg = `
|
||||||
gf build main.go
|
gf build main.go
|
||||||
gf build main.go --pack public,template
|
gf build main.go --ps public,template
|
||||||
gf build main.go --cgo
|
gf build main.go --cgo
|
||||||
gf build main.go -m none
|
gf build main.go -m none
|
||||||
gf build main.go -n my-app -a all -s all
|
gf build main.go -n my-app -a all -s all
|
||||||
@ -311,9 +312,9 @@ func (c cBuild) getBuildInVarStr(ctx context.Context, in cBuildInput) string {
|
|||||||
if buildInVarMap == nil {
|
if buildInVarMap == nil {
|
||||||
buildInVarMap = make(g.Map)
|
buildInVarMap = make(g.Map)
|
||||||
}
|
}
|
||||||
buildInVarMap[`builtGit`] = c.getGitCommit(ctx)
|
buildInVarMap[gbuild.BuiltGit] = c.getGitCommit(ctx)
|
||||||
buildInVarMap[`builtTime`] = gtime.Now().String()
|
buildInVarMap[gbuild.BuiltTime] = gtime.Now().String()
|
||||||
buildInVarMap[`builtVersion`] = in.Version
|
buildInVarMap[gbuild.BuiltVersion] = in.Version
|
||||||
b, err := json.Marshal(buildInVarMap)
|
b, err := json.Marshal(buildInVarMap)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
mlog.Fatal(err)
|
mlog.Fatal(err)
|
||||||
|
@ -1,7 +1,12 @@
|
|||||||
|
// Copyright GoFrame gf Author(https://goframe.org). All Rights Reserved.
|
||||||
|
//
|
||||||
|
// This Source Code Form is subject to the terms of the MIT License.
|
||||||
|
// If a copy of the MIT was not distributed with this file,
|
||||||
|
// You can obtain one at https://github.com/gogf/gf.
|
||||||
|
|
||||||
package cmd
|
package cmd
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/gogf/gf/v2/test/gtest"
|
"github.com/gogf/gf/v2/test/gtest"
|
||||||
@ -10,11 +15,10 @@ import (
|
|||||||
func Test_Fix_doFixV25Content(t *testing.T) {
|
func Test_Fix_doFixV25Content(t *testing.T) {
|
||||||
gtest.C(t, func(t *gtest.T) {
|
gtest.C(t, func(t *gtest.T) {
|
||||||
var (
|
var (
|
||||||
content = gtest.DataContent(`fix25_content.go.txt`)
|
content = gtest.DataContent(`fix`, `fix25_content.go`)
|
||||||
f = cFix{}
|
f = cFix{}
|
||||||
)
|
)
|
||||||
newContent, err := f.doFixV25Content(content)
|
_, err := f.doFixV25Content(content)
|
||||||
t.AssertNil(err)
|
t.AssertNil(err)
|
||||||
fmt.Println(newContent)
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
229
server/internal/library/hggen/internal/cmd/cmd_gen_dao_test.go
Normal file
229
server/internal/library/hggen/internal/cmd/cmd_gen_dao_test.go
Normal file
@ -0,0 +1,229 @@
|
|||||||
|
// Copyright GoFrame gf Author(https://goframe.org). All Rights Reserved.
|
||||||
|
//
|
||||||
|
// This Source Code Form is subject to the terms of the MIT License.
|
||||||
|
// If a copy of the MIT was not distributed with this file,
|
||||||
|
// You can obtain one at https://github.com/gogf/gf.
|
||||||
|
|
||||||
|
package cmd
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"fmt"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/gogf/gf/v2/database/gdb"
|
||||||
|
"github.com/gogf/gf/v2/os/gfile"
|
||||||
|
"github.com/gogf/gf/v2/test/gtest"
|
||||||
|
"github.com/gogf/gf/v2/text/gstr"
|
||||||
|
"github.com/gogf/gf/v2/util/guid"
|
||||||
|
"github.com/gogf/gf/v2/util/gutil"
|
||||||
|
"hotgo/internal/library/hggen/internal/cmd/gendao"
|
||||||
|
)
|
||||||
|
|
||||||
|
var ctx = context.Background()
|
||||||
|
|
||||||
|
func dropTableWithDb(db gdb.DB, table string) {
|
||||||
|
dropTableStmt := fmt.Sprintf("DROP TABLE IF EXISTS `%s`", table)
|
||||||
|
if _, err := db.Exec(ctx, dropTableStmt); err != nil {
|
||||||
|
gtest.Error(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func Test_Gen_Dao_Default(t *testing.T) {
|
||||||
|
link := "mysql:root:12345678@tcp(127.0.0.1:3306)/test?loc=Local&parseTime=true"
|
||||||
|
db, err := gdb.New(gdb.ConfigNode{
|
||||||
|
Link: link,
|
||||||
|
})
|
||||||
|
gtest.AssertNil(err)
|
||||||
|
|
||||||
|
gtest.C(t, func(t *gtest.T) {
|
||||||
|
var (
|
||||||
|
table = "table_user"
|
||||||
|
sqlContent = fmt.Sprintf(
|
||||||
|
gtest.DataContent(`gendao`, `user.tpl.sql`),
|
||||||
|
table,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
dropTableWithDb(db, table)
|
||||||
|
array := gstr.SplitAndTrim(sqlContent, ";")
|
||||||
|
for _, v := range array {
|
||||||
|
if _, err = db.Exec(ctx, v); err != nil {
|
||||||
|
t.AssertNil(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
defer dropTableWithDb(db, table)
|
||||||
|
|
||||||
|
var (
|
||||||
|
path = gfile.Temp(guid.S())
|
||||||
|
group = "test"
|
||||||
|
in = gendao.CGenDaoInput{
|
||||||
|
Path: path,
|
||||||
|
Link: link,
|
||||||
|
Tables: "",
|
||||||
|
TablesEx: "",
|
||||||
|
Group: group,
|
||||||
|
Prefix: "",
|
||||||
|
RemovePrefix: "",
|
||||||
|
JsonCase: "SnakeScreaming",
|
||||||
|
ImportPrefix: "",
|
||||||
|
DaoPath: "",
|
||||||
|
DoPath: "",
|
||||||
|
EntityPath: "",
|
||||||
|
TplDaoIndexPath: "",
|
||||||
|
TplDaoInternalPath: "",
|
||||||
|
TplDaoDoPath: "",
|
||||||
|
TplDaoEntityPath: "",
|
||||||
|
StdTime: false,
|
||||||
|
WithTime: false,
|
||||||
|
GJsonSupport: false,
|
||||||
|
OverwriteDao: false,
|
||||||
|
DescriptionTag: false,
|
||||||
|
NoJsonTag: false,
|
||||||
|
NoModelComment: false,
|
||||||
|
Clear: false,
|
||||||
|
TypeMapping: nil,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
err = gutil.FillStructWithDefault(&in)
|
||||||
|
t.AssertNil(err)
|
||||||
|
|
||||||
|
err = gfile.Mkdir(path)
|
||||||
|
t.AssertNil(err)
|
||||||
|
|
||||||
|
// for go mod import path auto retrieve.
|
||||||
|
err = gfile.Copy(
|
||||||
|
gtest.DataPath("gendao", "go.mod.txt"),
|
||||||
|
gfile.Join(path, "go.mod"),
|
||||||
|
)
|
||||||
|
t.AssertNil(err)
|
||||||
|
|
||||||
|
_, err = gendao.CGenDao{}.Dao(ctx, in)
|
||||||
|
t.AssertNil(err)
|
||||||
|
defer gfile.Remove(path)
|
||||||
|
|
||||||
|
// files
|
||||||
|
files, err := gfile.ScanDir(path, "*.go", true)
|
||||||
|
t.AssertNil(err)
|
||||||
|
t.Assert(files, []string{
|
||||||
|
path + "/dao/internal/table_user.go",
|
||||||
|
path + "/dao/table_user.go",
|
||||||
|
path + "/model/do/table_user.go",
|
||||||
|
path + "/model/entity/table_user.go",
|
||||||
|
})
|
||||||
|
// content
|
||||||
|
testPath := gtest.DataPath("gendao", "generated_user")
|
||||||
|
expectFiles := []string{
|
||||||
|
testPath + "/dao/internal/table_user.go",
|
||||||
|
testPath + "/dao/table_user.go",
|
||||||
|
testPath + "/model/do/table_user.go",
|
||||||
|
testPath + "/model/entity/table_user.go",
|
||||||
|
}
|
||||||
|
for i, _ := range files {
|
||||||
|
t.Assert(gfile.GetContents(files[i]), gfile.GetContents(expectFiles[i]))
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
func Test_Gen_Dao_TypeMapping(t *testing.T) {
|
||||||
|
link := "mysql:root:12345678@tcp(127.0.0.1:3306)/test?loc=Local&parseTime=true"
|
||||||
|
db, err := gdb.New(gdb.ConfigNode{
|
||||||
|
Link: link,
|
||||||
|
})
|
||||||
|
gtest.AssertNil(err)
|
||||||
|
|
||||||
|
gtest.C(t, func(t *gtest.T) {
|
||||||
|
var (
|
||||||
|
table = "table_user"
|
||||||
|
sqlContent = fmt.Sprintf(
|
||||||
|
gtest.DataContent(`gendao`, `user.tpl.sql`),
|
||||||
|
table,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
defer dropTableWithDb(db, table)
|
||||||
|
array := gstr.SplitAndTrim(sqlContent, ";")
|
||||||
|
for _, v := range array {
|
||||||
|
if _, err = db.Exec(ctx, v); err != nil {
|
||||||
|
t.AssertNil(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
defer dropTableWithDb(db, table)
|
||||||
|
|
||||||
|
var (
|
||||||
|
path = gfile.Temp(guid.S())
|
||||||
|
group = "test"
|
||||||
|
in = gendao.CGenDaoInput{
|
||||||
|
Path: path,
|
||||||
|
Link: link,
|
||||||
|
Tables: "",
|
||||||
|
TablesEx: "",
|
||||||
|
Group: group,
|
||||||
|
Prefix: "",
|
||||||
|
RemovePrefix: "",
|
||||||
|
JsonCase: "",
|
||||||
|
ImportPrefix: "",
|
||||||
|
DaoPath: "",
|
||||||
|
DoPath: "",
|
||||||
|
EntityPath: "",
|
||||||
|
TplDaoIndexPath: "",
|
||||||
|
TplDaoInternalPath: "",
|
||||||
|
TplDaoDoPath: "",
|
||||||
|
TplDaoEntityPath: "",
|
||||||
|
StdTime: false,
|
||||||
|
WithTime: false,
|
||||||
|
GJsonSupport: false,
|
||||||
|
OverwriteDao: false,
|
||||||
|
DescriptionTag: false,
|
||||||
|
NoJsonTag: false,
|
||||||
|
NoModelComment: false,
|
||||||
|
Clear: false,
|
||||||
|
TypeMapping: map[gendao.DBFieldTypeName]gendao.CustomAttributeType{
|
||||||
|
"int": {
|
||||||
|
Type: "int64",
|
||||||
|
Import: "",
|
||||||
|
},
|
||||||
|
"decimal": {
|
||||||
|
Type: "decimal.Decimal",
|
||||||
|
Import: "github.com/shopspring/decimal",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
)
|
||||||
|
err = gutil.FillStructWithDefault(&in)
|
||||||
|
t.AssertNil(err)
|
||||||
|
|
||||||
|
err = gfile.Mkdir(path)
|
||||||
|
t.AssertNil(err)
|
||||||
|
|
||||||
|
// for go mod import path auto retrieve.
|
||||||
|
err = gfile.Copy(
|
||||||
|
gtest.DataPath("gendao", "go.mod.txt"),
|
||||||
|
gfile.Join(path, "go.mod"),
|
||||||
|
)
|
||||||
|
t.AssertNil(err)
|
||||||
|
|
||||||
|
_, err = gendao.CGenDao{}.Dao(ctx, in)
|
||||||
|
t.AssertNil(err)
|
||||||
|
defer gfile.Remove(path)
|
||||||
|
|
||||||
|
// files
|
||||||
|
files, err := gfile.ScanDir(path, "*.go", true)
|
||||||
|
t.AssertNil(err)
|
||||||
|
t.Assert(files, []string{
|
||||||
|
path + "/dao/internal/table_user.go",
|
||||||
|
path + "/dao/table_user.go",
|
||||||
|
path + "/model/do/table_user.go",
|
||||||
|
path + "/model/entity/table_user.go",
|
||||||
|
})
|
||||||
|
// content
|
||||||
|
testPath := gtest.DataPath("gendao", "generated_user_type_mapping")
|
||||||
|
expectFiles := []string{
|
||||||
|
testPath + "/dao/internal/table_user.go",
|
||||||
|
testPath + "/dao/table_user.go",
|
||||||
|
testPath + "/model/do/table_user.go",
|
||||||
|
testPath + "/model/entity/table_user.go",
|
||||||
|
}
|
||||||
|
for i, _ := range files {
|
||||||
|
t.Assert(gfile.GetContents(files[i]), gfile.GetContents(expectFiles[i]))
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
@ -37,7 +37,7 @@ gf gen ctrl
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
PatternApiDefinition = `type\s+(\w+)Req\s+struct\s+{`
|
PatternApiDefinition = `type\s+(\w+)Req\s+struct\s+{([\s\S]+?)}`
|
||||||
PatternCtrlDefinition = `func\s+\(.+?\)\s+\w+\(.+?\*(\w+)\.(\w+)Req\)\s+\(.+?\*(\w+)\.(\w+)Res,\s+\w+\s+error\)\s+{`
|
PatternCtrlDefinition = `func\s+\(.+?\)\s+\w+\(.+?\*(\w+)\.(\w+)Req\)\s+\(.+?\*(\w+)\.(\w+)Res,\s+\w+\s+error\)\s+{`
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -43,11 +43,19 @@ func (c CGenCtrl) getApiItemsInSrc(apiModuleFolderPath string) (items []apiItem,
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
for _, match := range matches {
|
for _, match := range matches {
|
||||||
|
var (
|
||||||
|
methodName = match[1]
|
||||||
|
structBody = match[2]
|
||||||
|
)
|
||||||
|
// ignore struct name that match a request, but has no g.Meta in its body.
|
||||||
|
if !gstr.Contains(structBody, `g.Meta`) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
item := apiItem{
|
item := apiItem{
|
||||||
Import: gstr.Trim(importPath, `"`),
|
Import: gstr.Trim(importPath, `"`),
|
||||||
Module: gfile.Basename(apiModuleFolderPath),
|
Module: gfile.Basename(apiModuleFolderPath),
|
||||||
Version: gfile.Basename(apiVersionFolderPath),
|
Version: gfile.Basename(apiVersionFolderPath),
|
||||||
MethodName: match[1],
|
MethodName: methodName,
|
||||||
}
|
}
|
||||||
items = append(items, item)
|
items = append(items, item)
|
||||||
}
|
}
|
||||||
|
@ -32,9 +32,12 @@ func (c *controllerGenerator) Generate(dstModuleFolderPath string, apiModuleApiI
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
// retrieve all api items of the same module.
|
// retrieve all api items of the same module.
|
||||||
subItems := c.getSubItemsByModuleAndVersion(apiModuleApiItems, item.Module, item.Version)
|
var (
|
||||||
|
subItems = c.getSubItemsByModuleAndVersion(apiModuleApiItems, item.Module, item.Version)
|
||||||
|
importPath = gstr.Replace(gfile.Dir(item.Import), "\\", "/", -1)
|
||||||
|
)
|
||||||
if err = c.doGenerateCtrlNewByModuleAndVersion(
|
if err = c.doGenerateCtrlNewByModuleAndVersion(
|
||||||
dstModuleFolderPath, item.Module, item.Version, gfile.Dir(item.Import),
|
dstModuleFolderPath, item.Module, item.Version, importPath,
|
||||||
); err != nil {
|
); err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -69,8 +72,6 @@ func (c *controllerGenerator) doGenerateCtrlNewByModuleAndVersion(
|
|||||||
newFuncNameDefinition = fmt.Sprintf(`func %s()`, newFuncName)
|
newFuncNameDefinition = fmt.Sprintf(`func %s()`, newFuncName)
|
||||||
alreadyCreated bool
|
alreadyCreated bool
|
||||||
)
|
)
|
||||||
// replace "\" to "/", fix import error
|
|
||||||
importPath = gstr.Replace(importPath, "\\", "/", -1)
|
|
||||||
if !gfile.Exists(moduleFilePath) {
|
if !gfile.Exists(moduleFilePath) {
|
||||||
content := gstr.ReplaceByMap(consts.TemplateGenCtrlControllerEmpty, g.MapStrStr{
|
content := gstr.ReplaceByMap(consts.TemplateGenCtrlControllerEmpty, g.MapStrStr{
|
||||||
"{Module}": module,
|
"{Module}": module,
|
||||||
|
@ -17,6 +17,7 @@ import (
|
|||||||
"github.com/gogf/gf/v2/util/gconv"
|
"github.com/gogf/gf/v2/util/gconv"
|
||||||
"hotgo/internal/library/hggen/internal/consts"
|
"hotgo/internal/library/hggen/internal/consts"
|
||||||
"hotgo/internal/library/hggen/internal/utility/mlog"
|
"hotgo/internal/library/hggen/internal/utility/mlog"
|
||||||
|
"hotgo/internal/library/hggen/internal/utility/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
type apiInterfaceGenerator struct{}
|
type apiInterfaceGenerator struct{}
|
||||||
@ -42,6 +43,11 @@ func (c *apiInterfaceGenerator) doGenerate(apiModuleFolderPath string, module st
|
|||||||
importPathMap = gmap.NewListMap()
|
importPathMap = gmap.NewListMap()
|
||||||
importPaths []string
|
importPaths []string
|
||||||
)
|
)
|
||||||
|
// if there's already exist file that with the same but not auto generated go file,
|
||||||
|
// it uses another file name.
|
||||||
|
if !utils.IsFileDoNotEdit(moduleFilePath) {
|
||||||
|
moduleFilePath = gfile.Join(apiModuleFolderPath, fmt.Sprintf(`%s.if.go`, module))
|
||||||
|
}
|
||||||
// all import paths.
|
// all import paths.
|
||||||
importPathMap.Set("\t"+`"context"`, 1)
|
importPathMap.Set("\t"+`"context"`, 1)
|
||||||
importPathMap.Set("\t"+``, 1)
|
importPathMap.Set("\t"+``, 1)
|
||||||
|
@ -78,7 +78,7 @@ func (c *apiSdkGenerator) doGenerateSdkIClient(
|
|||||||
pkgName = gfile.Basename(sdkFolderPath)
|
pkgName = gfile.Basename(sdkFolderPath)
|
||||||
funcName = gstr.CaseCamel(module) + gstr.UcFirst(version)
|
funcName = gstr.CaseCamel(module) + gstr.UcFirst(version)
|
||||||
interfaceName = fmt.Sprintf(`I%s`, funcName)
|
interfaceName = fmt.Sprintf(`I%s`, funcName)
|
||||||
moduleImportPath = fmt.Sprintf(`"%s"`, gfile.Dir(versionImportPath))
|
moduleImportPath = gstr.Replace(fmt.Sprintf(`"%s"`, gfile.Dir(versionImportPath)), "\\", "/", -1)
|
||||||
iClientFilePath = gfile.Join(sdkFolderPath, fmt.Sprintf(`%s.iclient.go`, pkgName))
|
iClientFilePath = gfile.Join(sdkFolderPath, fmt.Sprintf(`%s.iclient.go`, pkgName))
|
||||||
interfaceFuncDefinition = fmt.Sprintf(
|
interfaceFuncDefinition = fmt.Sprintf(
|
||||||
`%s() %s.%s`,
|
`%s() %s.%s`,
|
||||||
@ -116,7 +116,7 @@ func (c *apiSdkGenerator) doGenerateSdkIClient(
|
|||||||
if !gstr.Contains(fileContent, interfaceFuncDefinition) {
|
if !gstr.Contains(fileContent, interfaceFuncDefinition) {
|
||||||
isDirty = true
|
isDirty = true
|
||||||
fileContent, err = gregex.ReplaceString(
|
fileContent, err = gregex.ReplaceString(
|
||||||
`(type iClient interface {[\s\S]*?)}`,
|
`(type IClient interface {[\s\S]*?)}`,
|
||||||
fmt.Sprintf("$1\t%s\n}", interfaceFuncDefinition),
|
fmt.Sprintf("$1\t%s\n}", interfaceFuncDefinition),
|
||||||
fileContent,
|
fileContent,
|
||||||
)
|
)
|
||||||
@ -142,7 +142,7 @@ func (c *apiSdkGenerator) doGenerateSdkImplementer(
|
|||||||
pkgName = gfile.Basename(sdkFolderPath)
|
pkgName = gfile.Basename(sdkFolderPath)
|
||||||
moduleNameCamel = gstr.CaseCamel(module)
|
moduleNameCamel = gstr.CaseCamel(module)
|
||||||
moduleNameSnake = gstr.CaseSnake(module)
|
moduleNameSnake = gstr.CaseSnake(module)
|
||||||
moduleImportPath = gfile.Dir(versionImportPath)
|
moduleImportPath = gstr.Replace(gfile.Dir(versionImportPath), "\\", "/", -1)
|
||||||
versionPrefix = ""
|
versionPrefix = ""
|
||||||
implementerName = moduleNameCamel + gstr.UcFirst(version)
|
implementerName = moduleNameCamel + gstr.UcFirst(version)
|
||||||
implementerFilePath = gfile.Join(sdkFolderPath, fmt.Sprintf(
|
implementerFilePath = gfile.Join(sdkFolderPath, fmt.Sprintf(
|
||||||
|
@ -115,7 +115,7 @@ generated json tag case for model struct, cases are as follows:
|
|||||||
|
|
||||||
var (
|
var (
|
||||||
createdAt = gtime.Now()
|
createdAt = gtime.Now()
|
||||||
defaultTypeMapping = map[string]TypeMapping{
|
defaultTypeMapping = map[DBFieldTypeName]CustomAttributeType{
|
||||||
"decimal": {
|
"decimal": {
|
||||||
Type: "float64",
|
Type: "float64",
|
||||||
},
|
},
|
||||||
@ -196,7 +196,8 @@ type (
|
|||||||
NoJsonTag bool `name:"noJsonTag" short:"k" brief:"{CGenDaoBriefNoJsonTag}" orphan:"true"`
|
NoJsonTag bool `name:"noJsonTag" short:"k" brief:"{CGenDaoBriefNoJsonTag}" orphan:"true"`
|
||||||
NoModelComment bool `name:"noModelComment" short:"m" brief:"{CGenDaoBriefNoModelComment}" orphan:"true"`
|
NoModelComment bool `name:"noModelComment" short:"m" brief:"{CGenDaoBriefNoModelComment}" orphan:"true"`
|
||||||
Clear bool `name:"clear" short:"a" brief:"{CGenDaoBriefClear}" orphan:"true"`
|
Clear bool `name:"clear" short:"a" brief:"{CGenDaoBriefClear}" orphan:"true"`
|
||||||
TypeMapping map[string]TypeMapping `name:"typeMapping" short:"y" brief:"{CGenDaoBriefTypeMapping}" orphan:"true"`
|
|
||||||
|
TypeMapping map[DBFieldTypeName]CustomAttributeType `name:"typeMapping" short:"y" brief:"{CGenDaoBriefTypeMapping}" orphan:"true"`
|
||||||
}
|
}
|
||||||
CGenDaoOutput struct{}
|
CGenDaoOutput struct{}
|
||||||
|
|
||||||
@ -207,7 +208,8 @@ type (
|
|||||||
NewTableNames []string
|
NewTableNames []string
|
||||||
}
|
}
|
||||||
|
|
||||||
TypeMapping struct {
|
DBFieldTypeName = string
|
||||||
|
CustomAttributeType struct {
|
||||||
Type string `brief:"custom attribute type name"`
|
Type string `brief:"custom attribute type name"`
|
||||||
Import string `brief:"custom import for this type"`
|
Import string `brief:"custom import for this type"`
|
||||||
}
|
}
|
||||||
|
@ -68,7 +68,8 @@ func generateStructFieldDefinition(
|
|||||||
) (attrLines []string, appendImport string) {
|
) (attrLines []string, appendImport string) {
|
||||||
var (
|
var (
|
||||||
err error
|
err error
|
||||||
typeName string
|
localTypeName gdb.LocalType
|
||||||
|
localTypeNameStr string
|
||||||
jsonTag = getJsonTagFromCase(field.Name, in.JsonCase)
|
jsonTag = getJsonTagFromCase(field.Name, in.JsonCase)
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -84,38 +85,39 @@ func generateStructFieldDefinition(
|
|||||||
}
|
}
|
||||||
if tryTypeName != "" {
|
if tryTypeName != "" {
|
||||||
if typeMapping, ok := in.TypeMapping[strings.ToLower(tryTypeName)]; ok {
|
if typeMapping, ok := in.TypeMapping[strings.ToLower(tryTypeName)]; ok {
|
||||||
typeName = typeMapping.Type
|
localTypeNameStr = typeMapping.Type
|
||||||
appendImport = typeMapping.Import
|
appendImport = typeMapping.Import
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if typeName == "" {
|
if localTypeNameStr == "" {
|
||||||
typeName, err = in.DB.CheckLocalTypeForField(ctx, field.Type, nil)
|
localTypeName, err = in.DB.CheckLocalTypeForField(ctx, field.Type, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
}
|
localTypeNameStr = string(localTypeName)
|
||||||
switch typeName {
|
switch localTypeName {
|
||||||
case gdb.LocalTypeDate, gdb.LocalTypeDatetime:
|
case gdb.LocalTypeDate, gdb.LocalTypeDatetime:
|
||||||
if in.StdTime {
|
if in.StdTime {
|
||||||
typeName = "time.Time"
|
localTypeNameStr = "time.Time"
|
||||||
} else {
|
} else {
|
||||||
typeName = "*gtime.Time"
|
localTypeNameStr = "*gtime.Time"
|
||||||
}
|
}
|
||||||
|
|
||||||
case gdb.LocalTypeInt64Bytes:
|
case gdb.LocalTypeInt64Bytes:
|
||||||
typeName = "int64"
|
localTypeNameStr = "int64"
|
||||||
|
|
||||||
case gdb.LocalTypeUint64Bytes:
|
case gdb.LocalTypeUint64Bytes:
|
||||||
typeName = "uint64"
|
localTypeNameStr = "uint64"
|
||||||
|
|
||||||
// Special type handle.
|
// Special type handle.
|
||||||
case gdb.LocalTypeJson, gdb.LocalTypeJsonb:
|
case gdb.LocalTypeJson, gdb.LocalTypeJsonb:
|
||||||
if in.GJsonSupport {
|
if in.GJsonSupport {
|
||||||
typeName = "*gjson.Json"
|
localTypeNameStr = "*gjson.Json"
|
||||||
} else {
|
} else {
|
||||||
typeName = "string"
|
localTypeNameStr = "string"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -125,7 +127,7 @@ func generateStructFieldDefinition(
|
|||||||
)
|
)
|
||||||
attrLines = []string{
|
attrLines = []string{
|
||||||
" #" + gstr.CaseCamel(field.Name),
|
" #" + gstr.CaseCamel(field.Name),
|
||||||
" #" + typeName,
|
" #" + localTypeNameStr,
|
||||||
}
|
}
|
||||||
attrLines = append(attrLines, " #"+fmt.Sprintf(tagKey+`json:"%s"`, jsonTag))
|
attrLines = append(attrLines, " #"+fmt.Sprintf(tagKey+`json:"%s"`, jsonTag))
|
||||||
attrLines = append(attrLines, " #"+fmt.Sprintf(`description:"%s"`+tagKey, descriptionTag))
|
attrLines = append(attrLines, " #"+fmt.Sprintf(`description:"%s"`+tagKey, descriptionTag))
|
||||||
|
@ -12,6 +12,8 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
"github.com/olekukonko/tablewriter"
|
||||||
|
|
||||||
"github.com/gogf/gf/v2/database/gdb"
|
"github.com/gogf/gf/v2/database/gdb"
|
||||||
"github.com/gogf/gf/v2/frame/g"
|
"github.com/gogf/gf/v2/frame/g"
|
||||||
"github.com/gogf/gf/v2/os/gctx"
|
"github.com/gogf/gf/v2/os/gctx"
|
||||||
@ -21,7 +23,6 @@ import (
|
|||||||
"github.com/gogf/gf/v2/text/gstr"
|
"github.com/gogf/gf/v2/text/gstr"
|
||||||
"github.com/gogf/gf/v2/util/gconv"
|
"github.com/gogf/gf/v2/util/gconv"
|
||||||
"github.com/gogf/gf/v2/util/gtag"
|
"github.com/gogf/gf/v2/util/gtag"
|
||||||
"github.com/olekukonko/tablewriter"
|
|
||||||
"hotgo/internal/library/hggen/internal/consts"
|
"hotgo/internal/library/hggen/internal/consts"
|
||||||
"hotgo/internal/library/hggen/internal/utility/mlog"
|
"hotgo/internal/library/hggen/internal/utility/mlog"
|
||||||
)
|
)
|
||||||
@ -294,17 +295,17 @@ func generateEntityMessageDefinition(entityName string, fieldMap map[string]*gdb
|
|||||||
// generateMessageFieldForPbEntity generates and returns the message definition for specified field.
|
// generateMessageFieldForPbEntity generates and returns the message definition for specified field.
|
||||||
func generateMessageFieldForPbEntity(index int, field *gdb.TableField, in CGenPbEntityInternalInput) []string {
|
func generateMessageFieldForPbEntity(index int, field *gdb.TableField, in CGenPbEntityInternalInput) []string {
|
||||||
var (
|
var (
|
||||||
typeName string
|
localTypeName gdb.LocalType
|
||||||
comment string
|
comment string
|
||||||
jsonTagStr string
|
jsonTagStr string
|
||||||
err error
|
err error
|
||||||
ctx = gctx.GetInitCtx()
|
ctx = gctx.GetInitCtx()
|
||||||
)
|
)
|
||||||
typeName, err = in.DB.CheckLocalTypeForField(ctx, field.Type, nil)
|
localTypeName, err = in.DB.CheckLocalTypeForField(ctx, field.Type, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
var typeMapping = map[string]string{
|
var typeMapping = map[gdb.LocalType]string{
|
||||||
gdb.LocalTypeString: "string",
|
gdb.LocalTypeString: "string",
|
||||||
gdb.LocalTypeDate: "google.protobuf.Timestamp",
|
gdb.LocalTypeDate: "google.protobuf.Timestamp",
|
||||||
gdb.LocalTypeDatetime: "google.protobuf.Timestamp",
|
gdb.LocalTypeDatetime: "google.protobuf.Timestamp",
|
||||||
@ -324,9 +325,9 @@ func generateMessageFieldForPbEntity(index int, field *gdb.TableField, in CGenPb
|
|||||||
gdb.LocalTypeJson: "string",
|
gdb.LocalTypeJson: "string",
|
||||||
gdb.LocalTypeJsonb: "string",
|
gdb.LocalTypeJsonb: "string",
|
||||||
}
|
}
|
||||||
typeName = typeMapping[typeName]
|
localTypeNameStr := typeMapping[localTypeName]
|
||||||
if typeName == "" {
|
if localTypeNameStr == "" {
|
||||||
typeName = "string"
|
localTypeNameStr = "string"
|
||||||
}
|
}
|
||||||
|
|
||||||
comment = gstr.ReplaceByArray(field.Comment, g.SliceStr{
|
comment = gstr.ReplaceByArray(field.Comment, g.SliceStr{
|
||||||
@ -350,7 +351,7 @@ func generateMessageFieldForPbEntity(index int, field *gdb.TableField, in CGenPb
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
return []string{
|
return []string{
|
||||||
" #" + typeName,
|
" #" + localTypeNameStr,
|
||||||
" #" + formatCase(field.Name, in.NameCase),
|
" #" + formatCase(field.Name, in.NameCase),
|
||||||
" #= " + gconv.String(index) + jsonTagStr + ";",
|
" #= " + gconv.String(index) + jsonTagStr + ";",
|
||||||
" #" + fmt.Sprintf(`// %s`, comment),
|
" #" + fmt.Sprintf(`// %s`, comment),
|
||||||
|
@ -194,7 +194,7 @@ func (c CGenService) Service(ctx context.Context, in CGenServiceInput) (out *CGe
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
// remove all comments.
|
// remove all comments.
|
||||||
fileContent, err = gregex.ReplaceString(`/[/|\*](.*)`, "", fileContent)
|
fileContent, err = gregex.ReplaceString(`(//.*)|((?s)/\*.*?\*/)`, "", fileContent)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -137,7 +137,7 @@ func (c CGenService) isToGenerateServiceGoFile(dstPackageName, filePath string,
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
// remove all comments.
|
// remove all comments.
|
||||||
fileContent, err = gregex.ReplaceString(`/[/|\*](.*)`, "", fileContent)
|
fileContent, err = gregex.ReplaceString(`(//.*)|((?s)/\*.*?\*/)`, "", fileContent)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
return false
|
return false
|
||||||
|
@ -0,0 +1,85 @@
|
|||||||
|
// ==========================================================================
|
||||||
|
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
|
||||||
|
// ==========================================================================
|
||||||
|
|
||||||
|
package internal
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
|
"github.com/gogf/gf/v2/database/gdb"
|
||||||
|
"github.com/gogf/gf/v2/frame/g"
|
||||||
|
)
|
||||||
|
|
||||||
|
// TableUserDao is the data access object for table table_user.
|
||||||
|
type TableUserDao 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 TableUserColumns // columns contains all the column names of Table for convenient usage.
|
||||||
|
}
|
||||||
|
|
||||||
|
// TableUserColumns defines and stores column names for table table_user.
|
||||||
|
type TableUserColumns struct {
|
||||||
|
Id string // User ID
|
||||||
|
Passport string // User Passport
|
||||||
|
Password string // User Password
|
||||||
|
Nickname string // User Nickname
|
||||||
|
Score string // Total score amount.
|
||||||
|
CreateAt string // Created Time
|
||||||
|
UpdateAt string // Updated Time
|
||||||
|
}
|
||||||
|
|
||||||
|
// tableUserColumns holds the columns for table table_user.
|
||||||
|
var tableUserColumns = TableUserColumns{
|
||||||
|
Id: "id",
|
||||||
|
Passport: "passport",
|
||||||
|
Password: "password",
|
||||||
|
Nickname: "nickname",
|
||||||
|
Score: "score",
|
||||||
|
CreateAt: "create_at",
|
||||||
|
UpdateAt: "update_at",
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewTableUserDao creates and returns a new DAO object for table data access.
|
||||||
|
func NewTableUserDao() *TableUserDao {
|
||||||
|
return &TableUserDao{
|
||||||
|
group: "test",
|
||||||
|
table: "table_user",
|
||||||
|
columns: tableUserColumns,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// DB retrieves and returns the underlying raw database management object of current DAO.
|
||||||
|
func (dao *TableUserDao) DB() gdb.DB {
|
||||||
|
return g.DB(dao.group)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Table returns the table name of current dao.
|
||||||
|
func (dao *TableUserDao) Table() string {
|
||||||
|
return dao.table
|
||||||
|
}
|
||||||
|
|
||||||
|
// Columns returns all column names of current dao.
|
||||||
|
func (dao *TableUserDao) Columns() TableUserColumns {
|
||||||
|
return dao.columns
|
||||||
|
}
|
||||||
|
|
||||||
|
// Group returns the configuration group name of database of current dao.
|
||||||
|
func (dao *TableUserDao) Group() string {
|
||||||
|
return dao.group
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
|
||||||
|
func (dao *TableUserDao) Ctx(ctx context.Context) *gdb.Model {
|
||||||
|
return dao.DB().Model(dao.table).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 *TableUserDao) Transaction(ctx context.Context, f func(ctx context.Context, tx gdb.TX) error) (err error) {
|
||||||
|
return dao.Ctx(ctx).Transaction(ctx, f)
|
||||||
|
}
|
27
server/internal/library/hggen/internal/cmd/testdata/gendao/generated_user/dao/table_user.go
vendored
Normal file
27
server/internal/library/hggen/internal/cmd/testdata/gendao/generated_user/dao/table_user.go
vendored
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
// =================================================================================
|
||||||
|
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
|
||||||
|
// =================================================================================
|
||||||
|
|
||||||
|
package dao
|
||||||
|
|
||||||
|
import (
|
||||||
|
"for-gendao-test/pkg/dao/internal"
|
||||||
|
)
|
||||||
|
|
||||||
|
// internalTableUserDao is internal type for wrapping internal DAO implements.
|
||||||
|
type internalTableUserDao = *internal.TableUserDao
|
||||||
|
|
||||||
|
// tableUserDao is the data access object for table table_user.
|
||||||
|
// You can define custom methods on it to extend its functionality as you wish.
|
||||||
|
type tableUserDao struct {
|
||||||
|
internalTableUserDao
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
// TableUser is globally public accessible object for table table_user operations.
|
||||||
|
TableUser = tableUserDao{
|
||||||
|
internal.NewTableUserDao(),
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
// Fill with you ideas below.
|
22
server/internal/library/hggen/internal/cmd/testdata/gendao/generated_user/model/do/table_user.go
vendored
Normal file
22
server/internal/library/hggen/internal/cmd/testdata/gendao/generated_user/model/do/table_user.go
vendored
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
// =================================================================================
|
||||||
|
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
|
||||||
|
// =================================================================================
|
||||||
|
|
||||||
|
package do
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/gogf/gf/v2/frame/g"
|
||||||
|
"github.com/gogf/gf/v2/os/gtime"
|
||||||
|
)
|
||||||
|
|
||||||
|
// TableUser is the golang structure of table table_user for DAO operations like Where/Data.
|
||||||
|
type TableUser struct {
|
||||||
|
g.Meta `orm:"table:table_user, do:true"`
|
||||||
|
Id interface{} // User ID
|
||||||
|
Passport interface{} // User Passport
|
||||||
|
Password interface{} // User Password
|
||||||
|
Nickname interface{} // User Nickname
|
||||||
|
Score interface{} // Total score amount.
|
||||||
|
CreateAt *gtime.Time // Created Time
|
||||||
|
UpdateAt *gtime.Time // Updated Time
|
||||||
|
}
|
@ -0,0 +1,20 @@
|
|||||||
|
// =================================================================================
|
||||||
|
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
|
||||||
|
// =================================================================================
|
||||||
|
|
||||||
|
package entity
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/gogf/gf/v2/os/gtime"
|
||||||
|
)
|
||||||
|
|
||||||
|
// TableUser is the golang structure for table table_user.
|
||||||
|
type TableUser struct {
|
||||||
|
Id uint `json:"ID" ` // User ID
|
||||||
|
Passport string `json:"PASSPORT" ` // User Passport
|
||||||
|
Password string `json:"PASSWORD" ` // User Password
|
||||||
|
Nickname string `json:"NICKNAME" ` // User Nickname
|
||||||
|
Score float64 `json:"SCORE" ` // Total score amount.
|
||||||
|
CreateAt *gtime.Time `json:"CREATE_AT" ` // Created Time
|
||||||
|
UpdateAt *gtime.Time `json:"UPDATE_AT" ` // Updated Time
|
||||||
|
}
|
@ -0,0 +1,85 @@
|
|||||||
|
// ==========================================================================
|
||||||
|
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
|
||||||
|
// ==========================================================================
|
||||||
|
|
||||||
|
package internal
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
|
"github.com/gogf/gf/v2/database/gdb"
|
||||||
|
"github.com/gogf/gf/v2/frame/g"
|
||||||
|
)
|
||||||
|
|
||||||
|
// TableUserDao is the data access object for table table_user.
|
||||||
|
type TableUserDao 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 TableUserColumns // columns contains all the column names of Table for convenient usage.
|
||||||
|
}
|
||||||
|
|
||||||
|
// TableUserColumns defines and stores column names for table table_user.
|
||||||
|
type TableUserColumns struct {
|
||||||
|
Id string // User ID
|
||||||
|
Passport string // User Passport
|
||||||
|
Password string // User Password
|
||||||
|
Nickname string // User Nickname
|
||||||
|
Score string // Total score amount.
|
||||||
|
CreateAt string // Created Time
|
||||||
|
UpdateAt string // Updated Time
|
||||||
|
}
|
||||||
|
|
||||||
|
// tableUserColumns holds the columns for table table_user.
|
||||||
|
var tableUserColumns = TableUserColumns{
|
||||||
|
Id: "id",
|
||||||
|
Passport: "passport",
|
||||||
|
Password: "password",
|
||||||
|
Nickname: "nickname",
|
||||||
|
Score: "score",
|
||||||
|
CreateAt: "create_at",
|
||||||
|
UpdateAt: "update_at",
|
||||||
|
}
|
||||||
|
|
||||||
|
// NewTableUserDao creates and returns a new DAO object for table data access.
|
||||||
|
func NewTableUserDao() *TableUserDao {
|
||||||
|
return &TableUserDao{
|
||||||
|
group: "test",
|
||||||
|
table: "table_user",
|
||||||
|
columns: tableUserColumns,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// DB retrieves and returns the underlying raw database management object of current DAO.
|
||||||
|
func (dao *TableUserDao) DB() gdb.DB {
|
||||||
|
return g.DB(dao.group)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Table returns the table name of current dao.
|
||||||
|
func (dao *TableUserDao) Table() string {
|
||||||
|
return dao.table
|
||||||
|
}
|
||||||
|
|
||||||
|
// Columns returns all column names of current dao.
|
||||||
|
func (dao *TableUserDao) Columns() TableUserColumns {
|
||||||
|
return dao.columns
|
||||||
|
}
|
||||||
|
|
||||||
|
// Group returns the configuration group name of database of current dao.
|
||||||
|
func (dao *TableUserDao) Group() string {
|
||||||
|
return dao.group
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
|
||||||
|
func (dao *TableUserDao) Ctx(ctx context.Context) *gdb.Model {
|
||||||
|
return dao.DB().Model(dao.table).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 *TableUserDao) Transaction(ctx context.Context, f func(ctx context.Context, tx gdb.TX) error) (err error) {
|
||||||
|
return dao.Ctx(ctx).Transaction(ctx, f)
|
||||||
|
}
|
@ -0,0 +1,27 @@
|
|||||||
|
// =================================================================================
|
||||||
|
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
|
||||||
|
// =================================================================================
|
||||||
|
|
||||||
|
package dao
|
||||||
|
|
||||||
|
import (
|
||||||
|
"for-gendao-test/pkg/dao/internal"
|
||||||
|
)
|
||||||
|
|
||||||
|
// internalTableUserDao is internal type for wrapping internal DAO implements.
|
||||||
|
type internalTableUserDao = *internal.TableUserDao
|
||||||
|
|
||||||
|
// tableUserDao is the data access object for table table_user.
|
||||||
|
// You can define custom methods on it to extend its functionality as you wish.
|
||||||
|
type tableUserDao struct {
|
||||||
|
internalTableUserDao
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
// TableUser is globally public accessible object for table table_user operations.
|
||||||
|
TableUser = tableUserDao{
|
||||||
|
internal.NewTableUserDao(),
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
// Fill with you ideas below.
|
@ -0,0 +1,22 @@
|
|||||||
|
// =================================================================================
|
||||||
|
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
|
||||||
|
// =================================================================================
|
||||||
|
|
||||||
|
package do
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/gogf/gf/v2/frame/g"
|
||||||
|
"github.com/gogf/gf/v2/os/gtime"
|
||||||
|
)
|
||||||
|
|
||||||
|
// TableUser is the golang structure of table table_user for DAO operations like Where/Data.
|
||||||
|
type TableUser struct {
|
||||||
|
g.Meta `orm:"table:table_user, do:true"`
|
||||||
|
Id interface{} // User ID
|
||||||
|
Passport interface{} // User Passport
|
||||||
|
Password interface{} // User Password
|
||||||
|
Nickname interface{} // User Nickname
|
||||||
|
Score interface{} // Total score amount.
|
||||||
|
CreateAt *gtime.Time // Created Time
|
||||||
|
UpdateAt *gtime.Time // Updated Time
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
// =================================================================================
|
||||||
|
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
|
||||||
|
// =================================================================================
|
||||||
|
|
||||||
|
package entity
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/gogf/gf/v2/os/gtime"
|
||||||
|
"github.com/shopspring/decimal"
|
||||||
|
)
|
||||||
|
|
||||||
|
// TableUser is the golang structure for table table_user.
|
||||||
|
type TableUser struct {
|
||||||
|
Id int64 `json:"id" ` // User ID
|
||||||
|
Passport string `json:"passport" ` // User Passport
|
||||||
|
Password string `json:"password" ` // User Password
|
||||||
|
Nickname string `json:"nickname" ` // User Nickname
|
||||||
|
Score decimal.Decimal `json:"score" ` // Total score amount.
|
||||||
|
CreateAt *gtime.Time `json:"createAt" ` // Created Time
|
||||||
|
UpdateAt *gtime.Time `json:"updateAt" ` // Updated Time
|
||||||
|
}
|
32
server/internal/library/hggen/internal/cmd/testdata/gendao/go.mod.txt
vendored
Normal file
32
server/internal/library/hggen/internal/cmd/testdata/gendao/go.mod.txt
vendored
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
module for-gendao-test/pkg
|
||||||
|
|
||||||
|
go 1.18
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/gogf/gf/v2 v2.5.3
|
||||||
|
github.com/shopspring/decimal v1.3.1
|
||||||
|
)
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/BurntSushi/toml v1.2.0 // indirect
|
||||||
|
github.com/clbanning/mxj/v2 v2.7.0 // indirect
|
||||||
|
github.com/fatih/color v1.15.0 // indirect
|
||||||
|
github.com/fsnotify/fsnotify v1.6.0 // indirect
|
||||||
|
github.com/go-logr/logr v1.2.4 // indirect
|
||||||
|
github.com/go-logr/stdr v1.2.2 // indirect
|
||||||
|
github.com/gorilla/websocket v1.5.0 // indirect
|
||||||
|
github.com/grokify/html-strip-tags-go v0.0.1 // indirect
|
||||||
|
github.com/magiconair/properties v1.8.6 // indirect
|
||||||
|
github.com/mattn/go-colorable v0.1.13 // indirect
|
||||||
|
github.com/mattn/go-isatty v0.0.19 // indirect
|
||||||
|
github.com/mattn/go-runewidth v0.0.15 // indirect
|
||||||
|
github.com/olekukonko/tablewriter v0.0.5 // indirect
|
||||||
|
github.com/rivo/uniseg v0.4.4 // indirect
|
||||||
|
go.opentelemetry.io/otel v1.14.0 // indirect
|
||||||
|
go.opentelemetry.io/otel/sdk v1.14.0 // indirect
|
||||||
|
go.opentelemetry.io/otel/trace v1.14.0 // indirect
|
||||||
|
golang.org/x/net v0.12.0 // indirect
|
||||||
|
golang.org/x/sys v0.10.0 // indirect
|
||||||
|
golang.org/x/text v0.11.0 // indirect
|
||||||
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||||
|
)
|
10
server/internal/library/hggen/internal/cmd/testdata/gendao/user.tpl.sql
vendored
Normal file
10
server/internal/library/hggen/internal/cmd/testdata/gendao/user.tpl.sql
vendored
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
CREATE TABLE `%s` (
|
||||||
|
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT 'User ID',
|
||||||
|
`passport` varchar(45) NOT NULL COMMENT 'User Passport',
|
||||||
|
`password` varchar(45) NOT NULL COMMENT 'User Password',
|
||||||
|
`nickname` varchar(45) NOT NULL COMMENT 'User Nickname',
|
||||||
|
`score` decimal(10,2) unsigned DEFAULT NULL COMMENT 'Total score amount.',
|
||||||
|
`create_at` datetime DEFAULT NULL COMMENT 'Created Time',
|
||||||
|
`update_at` datetime DEFAULT NULL COMMENT 'Updated Time',
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
@ -7,6 +7,10 @@
|
|||||||
package consts
|
package consts
|
||||||
|
|
||||||
const TemplateGenCtrlControllerEmpty = `
|
const TemplateGenCtrlControllerEmpty = `
|
||||||
|
// =================================================================================
|
||||||
|
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
|
||||||
|
// =================================================================================
|
||||||
|
|
||||||
package {Module}
|
package {Module}
|
||||||
|
|
||||||
`
|
`
|
||||||
|
@ -25,7 +25,7 @@ type implementer struct {
|
|||||||
config httpclient.Config
|
config httpclient.Config
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(config httpclient.Config) iClient {
|
func New(config httpclient.Config) IClient {
|
||||||
if !gstr.HasPrefix(config.URL, "http") {
|
if !gstr.HasPrefix(config.URL, "http") {
|
||||||
config.URL = fmt.Sprintf("http://%s", config.URL)
|
config.URL = fmt.Sprintf("http://%s", config.URL)
|
||||||
}
|
}
|
||||||
@ -49,7 +49,7 @@ package {PkgName}
|
|||||||
import (
|
import (
|
||||||
)
|
)
|
||||||
|
|
||||||
type iClient interface {
|
type IClient interface {
|
||||||
}
|
}
|
||||||
`
|
`
|
||||||
|
|
||||||
@ -84,6 +84,7 @@ func (i *implementer) {ImplementerName}() {Module}.I{ImplementerName} {
|
|||||||
client.Client = client.Prefix(prefix)
|
client.Client = client.Prefix(prefix)
|
||||||
return &implementer{ImplementerName}{client}
|
return &implementer{ImplementerName}{client}
|
||||||
}
|
}
|
||||||
|
|
||||||
`
|
`
|
||||||
|
|
||||||
const TemplateGenCtrlSdkImplementerFunc = `
|
const TemplateGenCtrlSdkImplementerFunc = `
|
||||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -62,7 +62,7 @@ func CustomAttributes(ctx context.Context, field *sysin.GenCodesColumnListModel,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// GenGotype 生成字段的go类型
|
// GenGotype 生成字段的go类型
|
||||||
func GenGotype(ctx context.Context, field *sysin.GenCodesColumnListModel, in gendao.CGenDaoInput) (goName, typeName, tsName, tsType string) {
|
func GenGotype(ctx context.Context, field *sysin.GenCodesColumnListModel, in gendao.CGenDaoInput) (goName, typeName, tsName string, tsType string) {
|
||||||
var err error
|
var err error
|
||||||
tsName = getJsonTagFromCase(field.Name, in.JsonCase)
|
tsName = getJsonTagFromCase(field.Name, in.JsonCase)
|
||||||
goName = gstr.CaseCamel(field.Name)
|
goName = gstr.CaseCamel(field.Name)
|
||||||
@ -71,7 +71,8 @@ func GenGotype(ctx context.Context, field *sysin.GenCodesColumnListModel, in gen
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
switch typeName {
|
|
||||||
|
switch gdb.LocalType(typeName) {
|
||||||
case gdb.LocalTypeDate, gdb.LocalTypeDatetime:
|
case gdb.LocalTypeDate, gdb.LocalTypeDatetime:
|
||||||
if in.StdTime {
|
if in.StdTime {
|
||||||
typeName = "time.Time"
|
typeName = "time.Time"
|
||||||
@ -120,7 +121,7 @@ func CheckLocalTypeForField(ctx context.Context, fieldType string, fieldValue in
|
|||||||
"tinyblob",
|
"tinyblob",
|
||||||
"mediumblob",
|
"mediumblob",
|
||||||
"longblob":
|
"longblob":
|
||||||
return gdb.LocalTypeBytes, nil
|
return string(gdb.LocalTypeBytes), nil
|
||||||
|
|
||||||
case
|
case
|
||||||
"int",
|
"int",
|
||||||
@ -131,22 +132,22 @@ func CheckLocalTypeForField(ctx context.Context, fieldType string, fieldValue in
|
|||||||
"mediumint",
|
"mediumint",
|
||||||
"serial":
|
"serial":
|
||||||
if gstr.ContainsI(fieldType, "unsigned") {
|
if gstr.ContainsI(fieldType, "unsigned") {
|
||||||
return gdb.LocalTypeUint, nil
|
return string(gdb.LocalTypeUint), nil
|
||||||
}
|
}
|
||||||
return gdb.LocalTypeInt, nil
|
return string(gdb.LocalTypeInt), nil
|
||||||
|
|
||||||
case
|
case
|
||||||
"big_int",
|
"big_int",
|
||||||
"bigint",
|
"bigint",
|
||||||
"bigserial":
|
"bigserial":
|
||||||
if gstr.ContainsI(fieldType, "unsigned") {
|
if gstr.ContainsI(fieldType, "unsigned") {
|
||||||
return gdb.LocalTypeUint64, nil
|
return string(gdb.LocalTypeUint64), nil
|
||||||
}
|
}
|
||||||
return gdb.LocalTypeInt64, nil
|
return string(gdb.LocalTypeInt64), nil
|
||||||
|
|
||||||
case
|
case
|
||||||
"real":
|
"real":
|
||||||
return gdb.LocalTypeFloat32, nil
|
return string(gdb.LocalTypeFloat32), nil
|
||||||
|
|
||||||
case
|
case
|
||||||
"float",
|
"float",
|
||||||
@ -155,75 +156,75 @@ func CheckLocalTypeForField(ctx context.Context, fieldType string, fieldValue in
|
|||||||
"money",
|
"money",
|
||||||
"numeric",
|
"numeric",
|
||||||
"smallmoney":
|
"smallmoney":
|
||||||
return gdb.LocalTypeFloat64, nil
|
return string(gdb.LocalTypeFloat64), nil
|
||||||
|
|
||||||
case
|
case
|
||||||
"bit":
|
"bit":
|
||||||
// It is suggested using bit(1) as boolean.
|
// It is suggested using bit(1) as boolean.
|
||||||
if typePattern == "1" {
|
if typePattern == "1" {
|
||||||
return gdb.LocalTypeBool, nil
|
return string(gdb.LocalTypeBool), nil
|
||||||
}
|
}
|
||||||
s := gconv.String(fieldValue)
|
s := gconv.String(fieldValue)
|
||||||
// mssql is true|false string.
|
// mssql is true|false string.
|
||||||
if strings.EqualFold(s, "true") || strings.EqualFold(s, "false") {
|
if strings.EqualFold(s, "true") || strings.EqualFold(s, "false") {
|
||||||
return gdb.LocalTypeBool, nil
|
return string(gdb.LocalTypeBool), nil
|
||||||
}
|
}
|
||||||
if gstr.ContainsI(fieldType, "unsigned") {
|
if gstr.ContainsI(fieldType, "unsigned") {
|
||||||
return gdb.LocalTypeUint64Bytes, nil
|
return string(gdb.LocalTypeUint64Bytes), nil
|
||||||
}
|
}
|
||||||
return gdb.LocalTypeInt64Bytes, nil
|
return string(gdb.LocalTypeInt64Bytes), nil
|
||||||
|
|
||||||
case
|
case
|
||||||
"bool":
|
"bool":
|
||||||
return gdb.LocalTypeBool, nil
|
return string(gdb.LocalTypeBool), nil
|
||||||
|
|
||||||
case
|
case
|
||||||
"date":
|
"date":
|
||||||
return gdb.LocalTypeDate, nil
|
return string(gdb.LocalTypeDate), nil
|
||||||
|
|
||||||
case
|
case
|
||||||
"datetime",
|
"datetime",
|
||||||
"timestamp",
|
"timestamp",
|
||||||
"timestamptz":
|
"timestamptz":
|
||||||
return gdb.LocalTypeDatetime, nil
|
return string(gdb.LocalTypeDatetime), nil
|
||||||
|
|
||||||
case
|
case
|
||||||
"json":
|
"json":
|
||||||
return gdb.LocalTypeJson, nil
|
return string(gdb.LocalTypeJson), nil
|
||||||
|
|
||||||
case
|
case
|
||||||
"jsonb":
|
"jsonb":
|
||||||
return gdb.LocalTypeJsonb, nil
|
return string(gdb.LocalTypeJsonb), nil
|
||||||
|
|
||||||
default:
|
default:
|
||||||
// Auto-detect field type, using key match.
|
// Auto-detect field type, using key match.
|
||||||
switch {
|
switch {
|
||||||
case strings.Contains(typeName, "text") || strings.Contains(typeName, "char") || strings.Contains(typeName, "character"):
|
case strings.Contains(typeName, "text") || strings.Contains(typeName, "char") || strings.Contains(typeName, "character"):
|
||||||
return gdb.LocalTypeString, nil
|
return string(gdb.LocalTypeString), nil
|
||||||
|
|
||||||
case strings.Contains(typeName, "float") || strings.Contains(typeName, "double") || strings.Contains(typeName, "numeric"):
|
case strings.Contains(typeName, "float") || strings.Contains(typeName, "double") || strings.Contains(typeName, "numeric"):
|
||||||
return gdb.LocalTypeFloat64, nil
|
return string(gdb.LocalTypeFloat64), nil
|
||||||
|
|
||||||
case strings.Contains(typeName, "bool"):
|
case strings.Contains(typeName, "bool"):
|
||||||
return gdb.LocalTypeBool, nil
|
return string(gdb.LocalTypeBool), nil
|
||||||
|
|
||||||
case strings.Contains(typeName, "binary") || strings.Contains(typeName, "blob"):
|
case strings.Contains(typeName, "binary") || strings.Contains(typeName, "blob"):
|
||||||
return gdb.LocalTypeBytes, nil
|
return string(gdb.LocalTypeBytes), nil
|
||||||
|
|
||||||
case strings.Contains(typeName, "int"):
|
case strings.Contains(typeName, "int"):
|
||||||
if gstr.ContainsI(fieldType, "unsigned") {
|
if gstr.ContainsI(fieldType, "unsigned") {
|
||||||
return gdb.LocalTypeUint, nil
|
return string(gdb.LocalTypeUint), nil
|
||||||
}
|
}
|
||||||
return gdb.LocalTypeInt, nil
|
return string(gdb.LocalTypeInt), nil
|
||||||
|
|
||||||
case strings.Contains(typeName, "time"):
|
case strings.Contains(typeName, "time"):
|
||||||
return gdb.LocalTypeDatetime, nil
|
return string(gdb.LocalTypeDatetime), nil
|
||||||
|
|
||||||
case strings.Contains(typeName, "date"):
|
case strings.Contains(typeName, "date"):
|
||||||
return gdb.LocalTypeDatetime, nil
|
return string(gdb.LocalTypeDatetime), nil
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return gdb.LocalTypeString, nil
|
return string(gdb.LocalTypeString), nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -44,7 +44,7 @@ func (l *gCurd) generateWebModelState(ctx context.Context, in *CurdPreviewInput)
|
|||||||
|
|
||||||
func (l *gCurd) generateWebModelDefaultState(ctx context.Context, in *CurdPreviewInput) string {
|
func (l *gCurd) generateWebModelDefaultState(ctx context.Context, in *CurdPreviewInput) string {
|
||||||
buffer := bytes.NewBuffer(nil)
|
buffer := bytes.NewBuffer(nil)
|
||||||
buffer.WriteString("export const defaultState = {\n")
|
buffer.WriteString("export const defaultState: State = {\n")
|
||||||
for _, field := range in.masterFields {
|
for _, field := range in.masterFields {
|
||||||
var value = field.DefaultValue
|
var value = field.DefaultValue
|
||||||
if value == nil {
|
if value == nil {
|
||||||
|
@ -117,7 +117,8 @@ func DoUpload(ctx context.Context, typ string, file *ghttp.UploadFile) (result *
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if result != nil {
|
// 相同存储相同身份才复用
|
||||||
|
if result != nil && result.Drive == config.Drive && result.MemberId == contexts.GetUserId(ctx) && result.AppId == contexts.GetModule(ctx) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -236,6 +236,17 @@ func (s *sAdminSite) handleLogin(ctx context.Context, mb *entity.AdminMember) (r
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var dept *entity.AdminDept
|
||||||
|
if err = g.Model("admin_dept").Ctx(ctx).Fields("id,status").Where("id", mb.DeptId).Scan(&dept); err != nil || dept == nil {
|
||||||
|
err = gerror.Wrap(err, "获取部门信息失败,请稍后重试!")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if dept.Status != consts.StatusEnabled {
|
||||||
|
err = gerror.New("部门已被禁用,如有疑问请联系管理员")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
user := &model.Identity{
|
user := &model.Identity{
|
||||||
Id: mb.Id,
|
Id: mb.Id,
|
||||||
Pid: mb.Pid,
|
Pid: mb.Pid,
|
||||||
@ -294,6 +305,17 @@ func (s *sAdminSite) BindUserContext(ctx context.Context, claims *model.Identity
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var dept *entity.AdminDept
|
||||||
|
if err = g.Model("admin_dept").Ctx(ctx).Fields("id,status").Where("id", mb.DeptId).Scan(&dept); err != nil || dept == nil {
|
||||||
|
err = gerror.Wrap(err, "获取部门信息失败,请稍后重试!")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if dept.Status != consts.StatusEnabled {
|
||||||
|
err = gerror.New("部门已被禁用,如有疑问请联系管理员")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
user := &model.Identity{
|
user := &model.Identity{
|
||||||
Id: mb.Id,
|
Id: mb.Id,
|
||||||
Pid: mb.Pid,
|
Pid: mb.Pid,
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// @Copyright Copyright (c) 2023 HotGo CLI
|
// @Copyright Copyright (c) 2023 HotGo CLI
|
||||||
// @Author Ms <133814250@qq.com>
|
// @Author Ms <133814250@qq.com>
|
||||||
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
|
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
|
||||||
// @AutoGenerate Version 2.7.6
|
// @AutoGenerate Version 2.8.9
|
||||||
package sys
|
package sys
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -181,7 +181,7 @@ func (s *sSysLog) AnalysisLog(ctx context.Context) entity.SysLog {
|
|||||||
postForm := gjson.New(gconv.String(request.PostForm)).Map()
|
postForm := gjson.New(gconv.String(request.PostForm)).Map()
|
||||||
if len(postForm) > 0 {
|
if len(postForm) > 0 {
|
||||||
for k, v := range postForm {
|
for k, v := range postForm {
|
||||||
postData.MustAppend(k, v)
|
postData.MustSet(k, v)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// @Copyright Copyright (c) 2023 HotGo CLI
|
// @Copyright Copyright (c) 2023 HotGo CLI
|
||||||
// @Author Ms <133814250@qq.com>
|
// @Author Ms <133814250@qq.com>
|
||||||
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
|
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
|
||||||
// @AutoGenerate Version 2.7.6
|
// @AutoGenerate Version 2.8.9
|
||||||
package sysin
|
package sysin
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
// @Copyright Copyright (c) 2023 HotGo CLI
|
// @Copyright Copyright (c) 2023 HotGo CLI
|
||||||
// @Author Ms <133814250@qq.com>
|
// @Author Ms <133814250@qq.com>
|
||||||
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
|
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
|
||||||
// @AutoGenerate Version 2.7.6
|
// @AutoGenerate Version 2.8.9
|
||||||
package genrouter
|
package genrouter
|
||||||
|
|
||||||
import "hotgo/internal/controller/admin/sys"
|
import "hotgo/internal/controller/admin/sys"
|
||||||
|
@ -18,21 +18,103 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type (
|
type (
|
||||||
ISysCronGroup interface {
|
ISysEmsLog interface {
|
||||||
// Delete 删除
|
// Delete 删除
|
||||||
Delete(ctx context.Context, in *sysin.CronGroupDeleteInp) (err error)
|
Delete(ctx context.Context, in *sysin.EmsLogDeleteInp) (err error)
|
||||||
// Edit 修改/新增
|
// Edit 修改/新增
|
||||||
Edit(ctx context.Context, in *sysin.CronGroupEditInp) (err error)
|
Edit(ctx context.Context, in *sysin.EmsLogEditInp) (err error)
|
||||||
// Status 更新状态
|
// Status 更新部门状态
|
||||||
Status(ctx context.Context, in *sysin.CronGroupStatusInp) (err error)
|
Status(ctx context.Context, in *sysin.EmsLogStatusInp) (err error)
|
||||||
// MaxSort 最大排序
|
// View 获取指定字典类型信息
|
||||||
MaxSort(ctx context.Context, in *sysin.CronGroupMaxSortInp) (res *sysin.CronGroupMaxSortModel, err error)
|
View(ctx context.Context, in *sysin.EmsLogViewInp) (res *sysin.EmsLogViewModel, err error)
|
||||||
// View 获取指定信息
|
|
||||||
View(ctx context.Context, in *sysin.CronGroupViewInp) (res *sysin.CronGroupViewModel, err error)
|
|
||||||
// List 获取列表
|
// List 获取列表
|
||||||
List(ctx context.Context, in *sysin.CronGroupListInp) (list []*sysin.CronGroupListModel, totalCount int, err error)
|
List(ctx context.Context, in *sysin.EmsLogListInp) (list []*sysin.EmsLogListModel, totalCount int, err error)
|
||||||
// Select 选项
|
// Send 发送邮件
|
||||||
Select(ctx context.Context, in *sysin.CronGroupSelectInp) (res *sysin.CronGroupSelectModel, err error)
|
Send(ctx context.Context, in *sysin.SendEmsInp) (err error)
|
||||||
|
// GetTemplate 获取指定邮件模板
|
||||||
|
GetTemplate(ctx context.Context, template string, config *model.EmailConfig) (val string, err error)
|
||||||
|
// AllowSend 是否允许发送
|
||||||
|
AllowSend(ctx context.Context, models *entity.SysEmsLog, config *model.EmailConfig) (err error)
|
||||||
|
// NowDayCount 当天发送次数
|
||||||
|
NowDayCount(ctx context.Context, event, email string) (count int, err error)
|
||||||
|
// VerifyCode 效验验证码
|
||||||
|
VerifyCode(ctx context.Context, in *sysin.VerifyEmsCodeInp) (err error)
|
||||||
|
}
|
||||||
|
ISysAddons interface {
|
||||||
|
// List 获取列表
|
||||||
|
List(ctx context.Context, in *sysin.AddonsListInp) (list []*sysin.AddonsListModel, totalCount int, err error)
|
||||||
|
// Selects 选项
|
||||||
|
Selects(ctx context.Context, in *sysin.AddonsSelectsInp) (res *sysin.AddonsSelectsModel, err error)
|
||||||
|
// Build 提交生成
|
||||||
|
Build(ctx context.Context, in *sysin.AddonsBuildInp) (err error)
|
||||||
|
// Install 安装模块
|
||||||
|
Install(ctx context.Context, in *sysin.AddonsInstallInp) (err error)
|
||||||
|
// Upgrade 更新模块
|
||||||
|
Upgrade(ctx context.Context, in *sysin.AddonsUpgradeInp) (err error)
|
||||||
|
// UnInstall 卸载模块
|
||||||
|
UnInstall(ctx context.Context, in *sysin.AddonsUnInstallInp) (err error)
|
||||||
|
}
|
||||||
|
ISysAttachment interface {
|
||||||
|
// Model ORM模型
|
||||||
|
Model(ctx context.Context, option ...*handler.Option) *gdb.Model
|
||||||
|
// Delete 删除附件
|
||||||
|
Delete(ctx context.Context, in *sysin.AttachmentDeleteInp) (err error)
|
||||||
|
// View 获取附件信息
|
||||||
|
View(ctx context.Context, in *sysin.AttachmentViewInp) (res *sysin.AttachmentViewModel, err error)
|
||||||
|
// List 获取附件列表
|
||||||
|
List(ctx context.Context, in *sysin.AttachmentListInp) (list []*sysin.AttachmentListModel, totalCount int, err error)
|
||||||
|
// ClearKind 清空上传类型
|
||||||
|
ClearKind(ctx context.Context, in *sysin.AttachmentClearKindInp) (err error)
|
||||||
|
}
|
||||||
|
ISysDictData interface {
|
||||||
|
// Delete 删除
|
||||||
|
Delete(ctx context.Context, in *sysin.DictDataDeleteInp) error
|
||||||
|
// Edit 修改/新增
|
||||||
|
Edit(ctx context.Context, in *sysin.DictDataEditInp) (err error)
|
||||||
|
// List 获取列表
|
||||||
|
List(ctx context.Context, in *sysin.DictDataListInp) (list []*sysin.DictDataListModel, totalCount int, err error)
|
||||||
|
// GetId 获取指定类型的ID
|
||||||
|
GetId(ctx context.Context, t string) (id int64, err error)
|
||||||
|
// GetType 获取指定ID的类型标识
|
||||||
|
GetType(ctx context.Context, id int64) (types string, err error)
|
||||||
|
// GetTypes 获取指定ID的所有类型标识,包含下级
|
||||||
|
GetTypes(ctx context.Context, id int64) (types []string, err error)
|
||||||
|
// Select 获取列表
|
||||||
|
Select(ctx context.Context, in *sysin.DataSelectInp) (list sysin.DataSelectModel, err error)
|
||||||
|
}
|
||||||
|
ISysServeLog interface {
|
||||||
|
// Model 服务日志Orm模型
|
||||||
|
Model(ctx context.Context) *gdb.Model
|
||||||
|
// List 获取服务日志列表
|
||||||
|
List(ctx context.Context, in *sysin.ServeLogListInp) (list []*sysin.ServeLogListModel, totalCount int, err error)
|
||||||
|
// Export 导出服务日志
|
||||||
|
Export(ctx context.Context, in *sysin.ServeLogListInp) (err error)
|
||||||
|
// Delete 删除服务日志
|
||||||
|
Delete(ctx context.Context, in *sysin.ServeLogDeleteInp) (err error)
|
||||||
|
// View 获取服务日志指定信息
|
||||||
|
View(ctx context.Context, in *sysin.ServeLogViewInp) (res *sysin.ServeLogViewModel, err error)
|
||||||
|
// RealWrite 真实写入
|
||||||
|
RealWrite(ctx context.Context, models entity.SysServeLog) (err error)
|
||||||
|
}
|
||||||
|
ISysCurdDemo interface {
|
||||||
|
// Model 生成演示ORM模型
|
||||||
|
Model(ctx context.Context, option ...*handler.Option) *gdb.Model
|
||||||
|
// List 获取生成演示列表
|
||||||
|
List(ctx context.Context, in *sysin.CurdDemoListInp) (list []*sysin.CurdDemoListModel, totalCount int, err error)
|
||||||
|
// Export 导出生成演示
|
||||||
|
Export(ctx context.Context, in *sysin.CurdDemoListInp) (err error)
|
||||||
|
// Edit 修改/新增生成演示
|
||||||
|
Edit(ctx context.Context, in *sysin.CurdDemoEditInp) (err error)
|
||||||
|
// Delete 删除生成演示
|
||||||
|
Delete(ctx context.Context, in *sysin.CurdDemoDeleteInp) (err error)
|
||||||
|
// MaxSort 获取生成演示最大排序
|
||||||
|
MaxSort(ctx context.Context, in *sysin.CurdDemoMaxSortInp) (res *sysin.CurdDemoMaxSortModel, err error)
|
||||||
|
// View 获取生成演示指定信息
|
||||||
|
View(ctx context.Context, in *sysin.CurdDemoViewInp) (res *sysin.CurdDemoViewModel, err error)
|
||||||
|
// Status 更新生成演示状态
|
||||||
|
Status(ctx context.Context, in *sysin.CurdDemoStatusInp) (err error)
|
||||||
|
// Switch 更新生成演示开关
|
||||||
|
Switch(ctx context.Context, in *sysin.CurdDemoSwitchInp) (err error)
|
||||||
}
|
}
|
||||||
ISysDictType interface {
|
ISysDictType interface {
|
||||||
// Tree 树
|
// Tree 树
|
||||||
@ -44,6 +126,32 @@ type (
|
|||||||
// TreeSelect 获取类型关系树选项
|
// TreeSelect 获取类型关系树选项
|
||||||
TreeSelect(ctx context.Context, in *sysin.DictTreeSelectInp) (list []*sysin.DictTypeTree, err error)
|
TreeSelect(ctx context.Context, in *sysin.DictTreeSelectInp) (list []*sysin.DictTypeTree, err error)
|
||||||
}
|
}
|
||||||
|
ISysGenCodes interface {
|
||||||
|
// Delete 删除
|
||||||
|
Delete(ctx context.Context, in *sysin.GenCodesDeleteInp) (err error)
|
||||||
|
// Edit 修改/新增
|
||||||
|
Edit(ctx context.Context, in *sysin.GenCodesEditInp) (res *sysin.GenCodesEditModel, err error)
|
||||||
|
// Status 更新部门状态
|
||||||
|
Status(ctx context.Context, in *sysin.GenCodesStatusInp) (err error)
|
||||||
|
// MaxSort 最大排序
|
||||||
|
MaxSort(ctx context.Context, in *sysin.GenCodesMaxSortInp) (res *sysin.GenCodesMaxSortModel, err error)
|
||||||
|
// View 获取指定字典类型信息
|
||||||
|
View(ctx context.Context, in *sysin.GenCodesViewInp) (res *sysin.GenCodesViewModel, err error)
|
||||||
|
// List 获取列表
|
||||||
|
List(ctx context.Context, in *sysin.GenCodesListInp) (list []*sysin.GenCodesListModel, totalCount int, err error)
|
||||||
|
// Selects 选项
|
||||||
|
Selects(ctx context.Context, in *sysin.GenCodesSelectsInp) (res *sysin.GenCodesSelectsModel, err error)
|
||||||
|
// TableSelect 表选项
|
||||||
|
TableSelect(ctx context.Context, in *sysin.GenCodesTableSelectInp) (res []*sysin.GenCodesTableSelectModel, err error)
|
||||||
|
// ColumnSelect 表字段选项
|
||||||
|
ColumnSelect(ctx context.Context, in *sysin.GenCodesColumnSelectInp) (res []*sysin.GenCodesColumnSelectModel, err error)
|
||||||
|
// ColumnList 表字段列表
|
||||||
|
ColumnList(ctx context.Context, in *sysin.GenCodesColumnListInp) (res []*sysin.GenCodesColumnListModel, err error)
|
||||||
|
// Preview 生成预览
|
||||||
|
Preview(ctx context.Context, in *sysin.GenCodesPreviewInp) (res *sysin.GenCodesPreviewModel, err error)
|
||||||
|
// Build 提交生成
|
||||||
|
Build(ctx context.Context, in *sysin.GenCodesBuildInp) (err error)
|
||||||
|
}
|
||||||
ISysLog interface {
|
ISysLog interface {
|
||||||
// Export 导出
|
// Export 导出
|
||||||
Export(ctx context.Context, in *sysin.LogListInp) (err error)
|
Export(ctx context.Context, in *sysin.LogListInp) (err error)
|
||||||
@ -60,55 +168,33 @@ type (
|
|||||||
// List 列表
|
// List 列表
|
||||||
List(ctx context.Context, in *sysin.LogListInp) (list []*sysin.LogListModel, totalCount int, err error)
|
List(ctx context.Context, in *sysin.LogListInp) (list []*sysin.LogListModel, totalCount int, err error)
|
||||||
}
|
}
|
||||||
ISysLoginLog interface {
|
ISysAddonsConfig interface {
|
||||||
// Model 登录日志Orm模型
|
// GetConfigByGroup 获取指定分组的配置
|
||||||
Model(ctx context.Context) *gdb.Model
|
GetConfigByGroup(ctx context.Context, in *sysin.GetAddonsConfigInp) (res *sysin.GetAddonsConfigModel, err error)
|
||||||
// List 获取登录日志列表
|
// ConversionType 转换类型
|
||||||
List(ctx context.Context, in *sysin.LoginLogListInp) (list []*sysin.LoginLogListModel, totalCount int, err error)
|
ConversionType(ctx context.Context, models *entity.SysAddonsConfig) (value interface{}, err error)
|
||||||
// Export 导出登录日志
|
// UpdateConfigByGroup 更新指定分组的配置
|
||||||
Export(ctx context.Context, in *sysin.LoginLogListInp) (err error)
|
UpdateConfigByGroup(ctx context.Context, in *sysin.UpdateAddonsConfigInp) (err error)
|
||||||
// Delete 删除登录日志
|
|
||||||
Delete(ctx context.Context, in *sysin.LoginLogDeleteInp) (err error)
|
|
||||||
// View 获取登录日志指定信息
|
|
||||||
View(ctx context.Context, in *sysin.LoginLogViewInp) (res *sysin.LoginLogViewModel, err error)
|
|
||||||
// Push 推送登录日志
|
|
||||||
Push(ctx context.Context, in *sysin.LoginLogPushInp)
|
|
||||||
// RealWrite 真实写入
|
|
||||||
RealWrite(ctx context.Context, models entity.SysLoginLog) (err error)
|
|
||||||
}
|
}
|
||||||
ISysProvinces interface {
|
ISysBlacklist interface {
|
||||||
// Tree 关系树选项列表
|
// Delete 删除
|
||||||
Tree(ctx context.Context) (list []*sysin.ProvincesTree, err error)
|
Delete(ctx context.Context, in *sysin.BlacklistDeleteInp) (err error)
|
||||||
// Delete 删除省市区数据
|
// Edit 修改/新增
|
||||||
Delete(ctx context.Context, in *sysin.ProvincesDeleteInp) (err error)
|
Edit(ctx context.Context, in *sysin.BlacklistEditInp) (err error)
|
||||||
// Edit 修改/新增省市区数据
|
// Status 更新部门状态
|
||||||
Edit(ctx context.Context, in *sysin.ProvincesEditInp) (err error)
|
Status(ctx context.Context, in *sysin.BlacklistStatusInp) (err error)
|
||||||
// Status 更新省市区状态
|
// View 获取指定字典类型信息
|
||||||
Status(ctx context.Context, in *sysin.ProvincesStatusInp) (err error)
|
View(ctx context.Context, in *sysin.BlacklistViewInp) (res *sysin.BlacklistViewModel, err error)
|
||||||
// MaxSort 最大排序
|
|
||||||
MaxSort(ctx context.Context, in *sysin.ProvincesMaxSortInp) (res *sysin.ProvincesMaxSortModel, err error)
|
|
||||||
// View 获取省市区信息
|
|
||||||
View(ctx context.Context, in *sysin.ProvincesViewInp) (res *sysin.ProvincesViewModel, err error)
|
|
||||||
// List 获取列表
|
// List 获取列表
|
||||||
List(ctx context.Context, in *sysin.ProvincesListInp) (list []*sysin.ProvincesListModel, totalCount int, err error)
|
List(ctx context.Context, in *sysin.BlacklistListInp) (list []*sysin.BlacklistListModel, totalCount int, err error)
|
||||||
// ChildrenList 获取省市区下级列表
|
// VariableLoad 变化加载
|
||||||
ChildrenList(ctx context.Context, in *sysin.ProvincesChildrenListInp) (list []*sysin.ProvincesChildrenListModel, totalCount int, err error)
|
VariableLoad(ctx context.Context, err error)
|
||||||
// UniqueId 获取省市区下级列表
|
// Load 加载黑名单
|
||||||
UniqueId(ctx context.Context, in *sysin.ProvincesUniqueIdInp) (res *sysin.ProvincesUniqueIdModel, err error)
|
Load(ctx context.Context)
|
||||||
// Select 省市区选项
|
// VerifyRequest 验证请求的访问IP是否在黑名单,如果存在则返回错误
|
||||||
Select(ctx context.Context, in *sysin.ProvincesSelectInp) (res *sysin.ProvincesSelectModel, err error)
|
VerifyRequest(r *ghttp.Request) (err error)
|
||||||
}
|
// ClusterSync 集群同步
|
||||||
ISysAttachment interface {
|
ClusterSync(ctx context.Context, message *gredis.Message)
|
||||||
// Model ORM模型
|
|
||||||
Model(ctx context.Context, option ...*handler.Option) *gdb.Model
|
|
||||||
// Delete 删除附件
|
|
||||||
Delete(ctx context.Context, in *sysin.AttachmentDeleteInp) (err error)
|
|
||||||
// View 获取附件信息
|
|
||||||
View(ctx context.Context, in *sysin.AttachmentViewInp) (res *sysin.AttachmentViewModel, err error)
|
|
||||||
// List 获取附件列表
|
|
||||||
List(ctx context.Context, in *sysin.AttachmentListInp) (list []*sysin.AttachmentListModel, totalCount int, err error)
|
|
||||||
// ClearKind 清空上传类型
|
|
||||||
ClearKind(ctx context.Context, in *sysin.AttachmentClearKindInp) (err error)
|
|
||||||
}
|
}
|
||||||
ISysConfig interface {
|
ISysConfig interface {
|
||||||
// InitConfig 初始化系统配置
|
// InitConfig 初始化系统配置
|
||||||
@ -171,66 +257,6 @@ type (
|
|||||||
// OnlineExec 在线执行
|
// OnlineExec 在线执行
|
||||||
OnlineExec(ctx context.Context, in *sysin.OnlineExecInp) (err error)
|
OnlineExec(ctx context.Context, in *sysin.OnlineExecInp) (err error)
|
||||||
}
|
}
|
||||||
ISysServeLicense interface {
|
|
||||||
// Model 服务许可证ORM模型
|
|
||||||
Model(ctx context.Context, option ...*handler.Option) *gdb.Model
|
|
||||||
// List 获取服务许可证列表
|
|
||||||
List(ctx context.Context, in *sysin.ServeLicenseListInp) (list []*sysin.ServeLicenseListModel, totalCount int, err error)
|
|
||||||
// Export 导出服务许可证
|
|
||||||
Export(ctx context.Context, in *sysin.ServeLicenseListInp) (err error)
|
|
||||||
// Edit 修改/新增服务许可证
|
|
||||||
Edit(ctx context.Context, in *sysin.ServeLicenseEditInp) (err error)
|
|
||||||
// Delete 删除服务许可证
|
|
||||||
Delete(ctx context.Context, in *sysin.ServeLicenseDeleteInp) (err error)
|
|
||||||
// View 获取服务许可证指定信息
|
|
||||||
View(ctx context.Context, in *sysin.ServeLicenseViewInp) (res *sysin.ServeLicenseViewModel, err error)
|
|
||||||
// Status 更新服务许可证状态
|
|
||||||
Status(ctx context.Context, in *sysin.ServeLicenseStatusInp) (err error)
|
|
||||||
// AssignRouter 分配服务许可证路由
|
|
||||||
AssignRouter(ctx context.Context, in *sysin.ServeLicenseAssignRouterInp) (err error)
|
|
||||||
}
|
|
||||||
ISysDictData interface {
|
|
||||||
// Delete 删除
|
|
||||||
Delete(ctx context.Context, in *sysin.DictDataDeleteInp) error
|
|
||||||
// Edit 修改/新增
|
|
||||||
Edit(ctx context.Context, in *sysin.DictDataEditInp) (err error)
|
|
||||||
// List 获取列表
|
|
||||||
List(ctx context.Context, in *sysin.DictDataListInp) (list []*sysin.DictDataListModel, totalCount int, err error)
|
|
||||||
// GetId 获取指定类型的ID
|
|
||||||
GetId(ctx context.Context, t string) (id int64, err error)
|
|
||||||
// GetType 获取指定ID的类型标识
|
|
||||||
GetType(ctx context.Context, id int64) (types string, err error)
|
|
||||||
// GetTypes 获取指定ID的所有类型标识,包含下级
|
|
||||||
GetTypes(ctx context.Context, id int64) (types []string, err error)
|
|
||||||
// Select 获取列表
|
|
||||||
Select(ctx context.Context, in *sysin.DataSelectInp) (list sysin.DataSelectModel, err error)
|
|
||||||
}
|
|
||||||
ISysGenCodes interface {
|
|
||||||
// Delete 删除
|
|
||||||
Delete(ctx context.Context, in *sysin.GenCodesDeleteInp) (err error)
|
|
||||||
// Edit 修改/新增
|
|
||||||
Edit(ctx context.Context, in *sysin.GenCodesEditInp) (res *sysin.GenCodesEditModel, err error)
|
|
||||||
// Status 更新部门状态
|
|
||||||
Status(ctx context.Context, in *sysin.GenCodesStatusInp) (err error)
|
|
||||||
// MaxSort 最大排序
|
|
||||||
MaxSort(ctx context.Context, in *sysin.GenCodesMaxSortInp) (res *sysin.GenCodesMaxSortModel, err error)
|
|
||||||
// View 获取指定字典类型信息
|
|
||||||
View(ctx context.Context, in *sysin.GenCodesViewInp) (res *sysin.GenCodesViewModel, err error)
|
|
||||||
// List 获取列表
|
|
||||||
List(ctx context.Context, in *sysin.GenCodesListInp) (list []*sysin.GenCodesListModel, totalCount int, err error)
|
|
||||||
// Selects 选项
|
|
||||||
Selects(ctx context.Context, in *sysin.GenCodesSelectsInp) (res *sysin.GenCodesSelectsModel, err error)
|
|
||||||
// TableSelect 表选项
|
|
||||||
TableSelect(ctx context.Context, in *sysin.GenCodesTableSelectInp) (res []*sysin.GenCodesTableSelectModel, err error)
|
|
||||||
// ColumnSelect 表字段选项
|
|
||||||
ColumnSelect(ctx context.Context, in *sysin.GenCodesColumnSelectInp) (res []*sysin.GenCodesColumnSelectModel, err error)
|
|
||||||
// ColumnList 表字段列表
|
|
||||||
ColumnList(ctx context.Context, in *sysin.GenCodesColumnListInp) (res []*sysin.GenCodesColumnListModel, err error)
|
|
||||||
// Preview 生成预览
|
|
||||||
Preview(ctx context.Context, in *sysin.GenCodesPreviewInp) (res *sysin.GenCodesPreviewModel, err error)
|
|
||||||
// Build 提交生成
|
|
||||||
Build(ctx context.Context, in *sysin.GenCodesBuildInp) (err error)
|
|
||||||
}
|
|
||||||
ISysSmsLog interface {
|
ISysSmsLog interface {
|
||||||
// Delete 删除
|
// Delete 删除
|
||||||
Delete(ctx context.Context, in *sysin.SmsLogDeleteInp) (err error)
|
Delete(ctx context.Context, in *sysin.SmsLogDeleteInp) (err error)
|
||||||
@ -253,259 +279,101 @@ type (
|
|||||||
// VerifyCode 效验验证码
|
// VerifyCode 效验验证码
|
||||||
VerifyCode(ctx context.Context, in *sysin.VerifyCodeInp) (err error)
|
VerifyCode(ctx context.Context, in *sysin.VerifyCodeInp) (err error)
|
||||||
}
|
}
|
||||||
ISysAddons interface {
|
ISysCronGroup interface {
|
||||||
|
// Delete 删除
|
||||||
|
Delete(ctx context.Context, in *sysin.CronGroupDeleteInp) (err error)
|
||||||
|
// Edit 修改/新增
|
||||||
|
Edit(ctx context.Context, in *sysin.CronGroupEditInp) (err error)
|
||||||
|
// Status 更新状态
|
||||||
|
Status(ctx context.Context, in *sysin.CronGroupStatusInp) (err error)
|
||||||
|
// MaxSort 最大排序
|
||||||
|
MaxSort(ctx context.Context, in *sysin.CronGroupMaxSortInp) (res *sysin.CronGroupMaxSortModel, err error)
|
||||||
|
// View 获取指定信息
|
||||||
|
View(ctx context.Context, in *sysin.CronGroupViewInp) (res *sysin.CronGroupViewModel, err error)
|
||||||
// List 获取列表
|
// List 获取列表
|
||||||
List(ctx context.Context, in *sysin.AddonsListInp) (list []*sysin.AddonsListModel, totalCount int, err error)
|
List(ctx context.Context, in *sysin.CronGroupListInp) (list []*sysin.CronGroupListModel, totalCount int, err error)
|
||||||
// Selects 选项
|
// Select 选项
|
||||||
Selects(ctx context.Context, in *sysin.AddonsSelectsInp) (res *sysin.AddonsSelectsModel, err error)
|
Select(ctx context.Context, in *sysin.CronGroupSelectInp) (res *sysin.CronGroupSelectModel, err error)
|
||||||
// Build 提交生成
|
|
||||||
Build(ctx context.Context, in *sysin.AddonsBuildInp) (err error)
|
|
||||||
// Install 安装模块
|
|
||||||
Install(ctx context.Context, in *sysin.AddonsInstallInp) (err error)
|
|
||||||
// Upgrade 更新模块
|
|
||||||
Upgrade(ctx context.Context, in *sysin.AddonsUpgradeInp) (err error)
|
|
||||||
// UnInstall 卸载模块
|
|
||||||
UnInstall(ctx context.Context, in *sysin.AddonsUnInstallInp) (err error)
|
|
||||||
}
|
}
|
||||||
ISysAddonsConfig interface {
|
ISysLoginLog interface {
|
||||||
// GetConfigByGroup 获取指定分组的配置
|
// Model 登录日志Orm模型
|
||||||
GetConfigByGroup(ctx context.Context, in *sysin.GetAddonsConfigInp) (res *sysin.GetAddonsConfigModel, err error)
|
|
||||||
// ConversionType 转换类型
|
|
||||||
ConversionType(ctx context.Context, models *entity.SysAddonsConfig) (value interface{}, err error)
|
|
||||||
// UpdateConfigByGroup 更新指定分组的配置
|
|
||||||
UpdateConfigByGroup(ctx context.Context, in *sysin.UpdateAddonsConfigInp) (err error)
|
|
||||||
}
|
|
||||||
ISysServeLog interface {
|
|
||||||
// Model 服务日志Orm模型
|
|
||||||
Model(ctx context.Context) *gdb.Model
|
Model(ctx context.Context) *gdb.Model
|
||||||
// List 获取服务日志列表
|
// List 获取登录日志列表
|
||||||
List(ctx context.Context, in *sysin.ServeLogListInp) (list []*sysin.ServeLogListModel, totalCount int, err error)
|
List(ctx context.Context, in *sysin.LoginLogListInp) (list []*sysin.LoginLogListModel, totalCount int, err error)
|
||||||
// Export 导出服务日志
|
// Export 导出登录日志
|
||||||
Export(ctx context.Context, in *sysin.ServeLogListInp) (err error)
|
Export(ctx context.Context, in *sysin.LoginLogListInp) (err error)
|
||||||
// Delete 删除服务日志
|
// Delete 删除登录日志
|
||||||
Delete(ctx context.Context, in *sysin.ServeLogDeleteInp) (err error)
|
Delete(ctx context.Context, in *sysin.LoginLogDeleteInp) (err error)
|
||||||
// View 获取服务日志指定信息
|
// View 获取登录日志指定信息
|
||||||
View(ctx context.Context, in *sysin.ServeLogViewInp) (res *sysin.ServeLogViewModel, err error)
|
View(ctx context.Context, in *sysin.LoginLogViewInp) (res *sysin.LoginLogViewModel, err error)
|
||||||
|
// Push 推送登录日志
|
||||||
|
Push(ctx context.Context, in *sysin.LoginLogPushInp)
|
||||||
// RealWrite 真实写入
|
// RealWrite 真实写入
|
||||||
RealWrite(ctx context.Context, models entity.SysServeLog) (err error)
|
RealWrite(ctx context.Context, models entity.SysLoginLog) (err error)
|
||||||
}
|
}
|
||||||
ISysBlacklist interface {
|
ISysProvinces interface {
|
||||||
// Delete 删除
|
// Tree 关系树选项列表
|
||||||
Delete(ctx context.Context, in *sysin.BlacklistDeleteInp) (err error)
|
Tree(ctx context.Context) (list []*sysin.ProvincesTree, err error)
|
||||||
// Edit 修改/新增
|
// Delete 删除省市区数据
|
||||||
Edit(ctx context.Context, in *sysin.BlacklistEditInp) (err error)
|
Delete(ctx context.Context, in *sysin.ProvincesDeleteInp) (err error)
|
||||||
// Status 更新部门状态
|
// Edit 修改/新增省市区数据
|
||||||
Status(ctx context.Context, in *sysin.BlacklistStatusInp) (err error)
|
Edit(ctx context.Context, in *sysin.ProvincesEditInp) (err error)
|
||||||
// View 获取指定字典类型信息
|
// Status 更新省市区状态
|
||||||
View(ctx context.Context, in *sysin.BlacklistViewInp) (res *sysin.BlacklistViewModel, err error)
|
Status(ctx context.Context, in *sysin.ProvincesStatusInp) (err error)
|
||||||
|
// MaxSort 最大排序
|
||||||
|
MaxSort(ctx context.Context, in *sysin.ProvincesMaxSortInp) (res *sysin.ProvincesMaxSortModel, err error)
|
||||||
|
// View 获取省市区信息
|
||||||
|
View(ctx context.Context, in *sysin.ProvincesViewInp) (res *sysin.ProvincesViewModel, err error)
|
||||||
// List 获取列表
|
// List 获取列表
|
||||||
List(ctx context.Context, in *sysin.BlacklistListInp) (list []*sysin.BlacklistListModel, totalCount int, err error)
|
List(ctx context.Context, in *sysin.ProvincesListInp) (list []*sysin.ProvincesListModel, totalCount int, err error)
|
||||||
// VariableLoad 变化加载
|
// ChildrenList 获取省市区下级列表
|
||||||
VariableLoad(ctx context.Context, err error)
|
ChildrenList(ctx context.Context, in *sysin.ProvincesChildrenListInp) (list []*sysin.ProvincesChildrenListModel, totalCount int, err error)
|
||||||
// Load 加载黑名单
|
// UniqueId 获取省市区下级列表
|
||||||
Load(ctx context.Context)
|
UniqueId(ctx context.Context, in *sysin.ProvincesUniqueIdInp) (res *sysin.ProvincesUniqueIdModel, err error)
|
||||||
// VerifyRequest 验证请求的访问IP是否在黑名单,如果存在则返回错误
|
// Select 省市区选项
|
||||||
VerifyRequest(r *ghttp.Request) (err error)
|
Select(ctx context.Context, in *sysin.ProvincesSelectInp) (res *sysin.ProvincesSelectModel, err error)
|
||||||
// ClusterSync 集群同步
|
|
||||||
ClusterSync(ctx context.Context, message *gredis.Message)
|
|
||||||
}
|
}
|
||||||
ISysCurdDemo interface {
|
ISysServeLicense interface {
|
||||||
// Model 生成演示ORM模型
|
// Model 服务许可证ORM模型
|
||||||
Model(ctx context.Context, option ...*handler.Option) *gdb.Model
|
Model(ctx context.Context, option ...*handler.Option) *gdb.Model
|
||||||
// List 获取生成演示列表
|
// List 获取服务许可证列表
|
||||||
List(ctx context.Context, in *sysin.CurdDemoListInp) (list []*sysin.CurdDemoListModel, totalCount int, err error)
|
List(ctx context.Context, in *sysin.ServeLicenseListInp) (list []*sysin.ServeLicenseListModel, totalCount int, err error)
|
||||||
// Export 导出生成演示
|
// Export 导出服务许可证
|
||||||
Export(ctx context.Context, in *sysin.CurdDemoListInp) (err error)
|
Export(ctx context.Context, in *sysin.ServeLicenseListInp) (err error)
|
||||||
// Edit 修改/新增生成演示
|
// Edit 修改/新增服务许可证
|
||||||
Edit(ctx context.Context, in *sysin.CurdDemoEditInp) (err error)
|
Edit(ctx context.Context, in *sysin.ServeLicenseEditInp) (err error)
|
||||||
// Delete 删除生成演示
|
// Delete 删除服务许可证
|
||||||
Delete(ctx context.Context, in *sysin.CurdDemoDeleteInp) (err error)
|
Delete(ctx context.Context, in *sysin.ServeLicenseDeleteInp) (err error)
|
||||||
// MaxSort 获取生成演示最大排序
|
// View 获取服务许可证指定信息
|
||||||
MaxSort(ctx context.Context, in *sysin.CurdDemoMaxSortInp) (res *sysin.CurdDemoMaxSortModel, err error)
|
View(ctx context.Context, in *sysin.ServeLicenseViewInp) (res *sysin.ServeLicenseViewModel, err error)
|
||||||
// View 获取生成演示指定信息
|
// Status 更新服务许可证状态
|
||||||
View(ctx context.Context, in *sysin.CurdDemoViewInp) (res *sysin.CurdDemoViewModel, err error)
|
Status(ctx context.Context, in *sysin.ServeLicenseStatusInp) (err error)
|
||||||
// Status 更新生成演示状态
|
// AssignRouter 分配服务许可证路由
|
||||||
Status(ctx context.Context, in *sysin.CurdDemoStatusInp) (err error)
|
AssignRouter(ctx context.Context, in *sysin.ServeLicenseAssignRouterInp) (err error)
|
||||||
// Switch 更新生成演示开关
|
|
||||||
Switch(ctx context.Context, in *sysin.CurdDemoSwitchInp) (err error)
|
|
||||||
}
|
|
||||||
ISysEmsLog interface {
|
|
||||||
// Delete 删除
|
|
||||||
Delete(ctx context.Context, in *sysin.EmsLogDeleteInp) (err error)
|
|
||||||
// Edit 修改/新增
|
|
||||||
Edit(ctx context.Context, in *sysin.EmsLogEditInp) (err error)
|
|
||||||
// Status 更新部门状态
|
|
||||||
Status(ctx context.Context, in *sysin.EmsLogStatusInp) (err error)
|
|
||||||
// View 获取指定字典类型信息
|
|
||||||
View(ctx context.Context, in *sysin.EmsLogViewInp) (res *sysin.EmsLogViewModel, err error)
|
|
||||||
// List 获取列表
|
|
||||||
List(ctx context.Context, in *sysin.EmsLogListInp) (list []*sysin.EmsLogListModel, totalCount int, err error)
|
|
||||||
// Send 发送邮件
|
|
||||||
Send(ctx context.Context, in *sysin.SendEmsInp) (err error)
|
|
||||||
// GetTemplate 获取指定邮件模板
|
|
||||||
GetTemplate(ctx context.Context, template string, config *model.EmailConfig) (val string, err error)
|
|
||||||
// AllowSend 是否允许发送
|
|
||||||
AllowSend(ctx context.Context, models *entity.SysEmsLog, config *model.EmailConfig) (err error)
|
|
||||||
// NowDayCount 当天发送次数
|
|
||||||
NowDayCount(ctx context.Context, event, email string) (count int, err error)
|
|
||||||
// VerifyCode 效验验证码
|
|
||||||
VerifyCode(ctx context.Context, in *sysin.VerifyEmsCodeInp) (err error)
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
localSysCron ISysCron
|
|
||||||
localSysCronGroup ISysCronGroup
|
localSysCronGroup ISysCronGroup
|
||||||
localSysDictType ISysDictType
|
|
||||||
localSysLog ISysLog
|
|
||||||
localSysLoginLog ISysLoginLog
|
localSysLoginLog ISysLoginLog
|
||||||
localSysProvinces ISysProvinces
|
localSysProvinces ISysProvinces
|
||||||
localSysAttachment ISysAttachment
|
|
||||||
localSysConfig ISysConfig
|
|
||||||
localSysServeLicense ISysServeLicense
|
localSysServeLicense ISysServeLicense
|
||||||
localSysSmsLog ISysSmsLog
|
|
||||||
localSysDictData ISysDictData
|
|
||||||
localSysGenCodes ISysGenCodes
|
|
||||||
localSysAddons ISysAddons
|
|
||||||
localSysAddonsConfig ISysAddonsConfig
|
|
||||||
localSysEmsLog ISysEmsLog
|
localSysEmsLog ISysEmsLog
|
||||||
|
localSysAddons ISysAddons
|
||||||
|
localSysAttachment ISysAttachment
|
||||||
|
localSysDictData ISysDictData
|
||||||
localSysServeLog ISysServeLog
|
localSysServeLog ISysServeLog
|
||||||
|
localSysAddonsConfig ISysAddonsConfig
|
||||||
localSysBlacklist ISysBlacklist
|
localSysBlacklist ISysBlacklist
|
||||||
|
localSysConfig ISysConfig
|
||||||
|
localSysCron ISysCron
|
||||||
localSysCurdDemo ISysCurdDemo
|
localSysCurdDemo ISysCurdDemo
|
||||||
|
localSysDictType ISysDictType
|
||||||
|
localSysGenCodes ISysGenCodes
|
||||||
|
localSysLog ISysLog
|
||||||
|
localSysSmsLog ISysSmsLog
|
||||||
)
|
)
|
||||||
|
|
||||||
func SysDictData() ISysDictData {
|
|
||||||
if localSysDictData == nil {
|
|
||||||
panic("implement not found for interface ISysDictData, forgot register?")
|
|
||||||
}
|
|
||||||
return localSysDictData
|
|
||||||
}
|
|
||||||
|
|
||||||
func RegisterSysDictData(i ISysDictData) {
|
|
||||||
localSysDictData = i
|
|
||||||
}
|
|
||||||
|
|
||||||
func SysGenCodes() ISysGenCodes {
|
|
||||||
if localSysGenCodes == nil {
|
|
||||||
panic("implement not found for interface ISysGenCodes, forgot register?")
|
|
||||||
}
|
|
||||||
return localSysGenCodes
|
|
||||||
}
|
|
||||||
|
|
||||||
func RegisterSysGenCodes(i ISysGenCodes) {
|
|
||||||
localSysGenCodes = i
|
|
||||||
}
|
|
||||||
|
|
||||||
func SysSmsLog() ISysSmsLog {
|
|
||||||
if localSysSmsLog == nil {
|
|
||||||
panic("implement not found for interface ISysSmsLog, forgot register?")
|
|
||||||
}
|
|
||||||
return localSysSmsLog
|
|
||||||
}
|
|
||||||
|
|
||||||
func RegisterSysSmsLog(i ISysSmsLog) {
|
|
||||||
localSysSmsLog = i
|
|
||||||
}
|
|
||||||
|
|
||||||
func SysAddons() ISysAddons {
|
|
||||||
if localSysAddons == nil {
|
|
||||||
panic("implement not found for interface ISysAddons, forgot register?")
|
|
||||||
}
|
|
||||||
return localSysAddons
|
|
||||||
}
|
|
||||||
|
|
||||||
func RegisterSysAddons(i ISysAddons) {
|
|
||||||
localSysAddons = i
|
|
||||||
}
|
|
||||||
|
|
||||||
func SysAddonsConfig() ISysAddonsConfig {
|
|
||||||
if localSysAddonsConfig == nil {
|
|
||||||
panic("implement not found for interface ISysAddonsConfig, forgot register?")
|
|
||||||
}
|
|
||||||
return localSysAddonsConfig
|
|
||||||
}
|
|
||||||
|
|
||||||
func RegisterSysAddonsConfig(i ISysAddonsConfig) {
|
|
||||||
localSysAddonsConfig = i
|
|
||||||
}
|
|
||||||
|
|
||||||
func SysServeLog() ISysServeLog {
|
|
||||||
if localSysServeLog == nil {
|
|
||||||
panic("implement not found for interface ISysServeLog, forgot register?")
|
|
||||||
}
|
|
||||||
return localSysServeLog
|
|
||||||
}
|
|
||||||
|
|
||||||
func RegisterSysServeLog(i ISysServeLog) {
|
|
||||||
localSysServeLog = i
|
|
||||||
}
|
|
||||||
|
|
||||||
func SysBlacklist() ISysBlacklist {
|
|
||||||
if localSysBlacklist == nil {
|
|
||||||
panic("implement not found for interface ISysBlacklist, forgot register?")
|
|
||||||
}
|
|
||||||
return localSysBlacklist
|
|
||||||
}
|
|
||||||
|
|
||||||
func RegisterSysBlacklist(i ISysBlacklist) {
|
|
||||||
localSysBlacklist = i
|
|
||||||
}
|
|
||||||
|
|
||||||
func SysCurdDemo() ISysCurdDemo {
|
|
||||||
if localSysCurdDemo == nil {
|
|
||||||
panic("implement not found for interface ISysCurdDemo, forgot register?")
|
|
||||||
}
|
|
||||||
return localSysCurdDemo
|
|
||||||
}
|
|
||||||
|
|
||||||
func RegisterSysCurdDemo(i ISysCurdDemo) {
|
|
||||||
localSysCurdDemo = i
|
|
||||||
}
|
|
||||||
|
|
||||||
func SysEmsLog() ISysEmsLog {
|
|
||||||
if localSysEmsLog == nil {
|
|
||||||
panic("implement not found for interface ISysEmsLog, forgot register?")
|
|
||||||
}
|
|
||||||
return localSysEmsLog
|
|
||||||
}
|
|
||||||
|
|
||||||
func RegisterSysEmsLog(i ISysEmsLog) {
|
|
||||||
localSysEmsLog = i
|
|
||||||
}
|
|
||||||
|
|
||||||
func SysCronGroup() ISysCronGroup {
|
|
||||||
if localSysCronGroup == nil {
|
|
||||||
panic("implement not found for interface ISysCronGroup, forgot register?")
|
|
||||||
}
|
|
||||||
return localSysCronGroup
|
|
||||||
}
|
|
||||||
|
|
||||||
func RegisterSysCronGroup(i ISysCronGroup) {
|
|
||||||
localSysCronGroup = i
|
|
||||||
}
|
|
||||||
|
|
||||||
func SysDictType() ISysDictType {
|
|
||||||
if localSysDictType == nil {
|
|
||||||
panic("implement not found for interface ISysDictType, forgot register?")
|
|
||||||
}
|
|
||||||
return localSysDictType
|
|
||||||
}
|
|
||||||
|
|
||||||
func RegisterSysDictType(i ISysDictType) {
|
|
||||||
localSysDictType = i
|
|
||||||
}
|
|
||||||
|
|
||||||
func SysLog() ISysLog {
|
|
||||||
if localSysLog == nil {
|
|
||||||
panic("implement not found for interface ISysLog, forgot register?")
|
|
||||||
}
|
|
||||||
return localSysLog
|
|
||||||
}
|
|
||||||
|
|
||||||
func RegisterSysLog(i ISysLog) {
|
|
||||||
localSysLog = i
|
|
||||||
}
|
|
||||||
|
|
||||||
func SysLoginLog() ISysLoginLog {
|
func SysLoginLog() ISysLoginLog {
|
||||||
if localSysLoginLog == nil {
|
if localSysLoginLog == nil {
|
||||||
panic("implement not found for interface ISysLoginLog, forgot register?")
|
panic("implement not found for interface ISysLoginLog, forgot register?")
|
||||||
@ -528,6 +396,39 @@ func RegisterSysProvinces(i ISysProvinces) {
|
|||||||
localSysProvinces = i
|
localSysProvinces = i
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func SysServeLicense() ISysServeLicense {
|
||||||
|
if localSysServeLicense == nil {
|
||||||
|
panic("implement not found for interface ISysServeLicense, forgot register?")
|
||||||
|
}
|
||||||
|
return localSysServeLicense
|
||||||
|
}
|
||||||
|
|
||||||
|
func RegisterSysServeLicense(i ISysServeLicense) {
|
||||||
|
localSysServeLicense = i
|
||||||
|
}
|
||||||
|
|
||||||
|
func SysCronGroup() ISysCronGroup {
|
||||||
|
if localSysCronGroup == nil {
|
||||||
|
panic("implement not found for interface ISysCronGroup, forgot register?")
|
||||||
|
}
|
||||||
|
return localSysCronGroup
|
||||||
|
}
|
||||||
|
|
||||||
|
func RegisterSysCronGroup(i ISysCronGroup) {
|
||||||
|
localSysCronGroup = i
|
||||||
|
}
|
||||||
|
|
||||||
|
func SysEmsLog() ISysEmsLog {
|
||||||
|
if localSysEmsLog == nil {
|
||||||
|
panic("implement not found for interface ISysEmsLog, forgot register?")
|
||||||
|
}
|
||||||
|
return localSysEmsLog
|
||||||
|
}
|
||||||
|
|
||||||
|
func RegisterSysEmsLog(i ISysEmsLog) {
|
||||||
|
localSysEmsLog = i
|
||||||
|
}
|
||||||
|
|
||||||
func SysAttachment() ISysAttachment {
|
func SysAttachment() ISysAttachment {
|
||||||
if localSysAttachment == nil {
|
if localSysAttachment == nil {
|
||||||
panic("implement not found for interface ISysAttachment, forgot register?")
|
panic("implement not found for interface ISysAttachment, forgot register?")
|
||||||
@ -539,6 +440,50 @@ func RegisterSysAttachment(i ISysAttachment) {
|
|||||||
localSysAttachment = i
|
localSysAttachment = i
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func SysDictData() ISysDictData {
|
||||||
|
if localSysDictData == nil {
|
||||||
|
panic("implement not found for interface ISysDictData, forgot register?")
|
||||||
|
}
|
||||||
|
return localSysDictData
|
||||||
|
}
|
||||||
|
|
||||||
|
func RegisterSysDictData(i ISysDictData) {
|
||||||
|
localSysDictData = i
|
||||||
|
}
|
||||||
|
|
||||||
|
func SysServeLog() ISysServeLog {
|
||||||
|
if localSysServeLog == nil {
|
||||||
|
panic("implement not found for interface ISysServeLog, forgot register?")
|
||||||
|
}
|
||||||
|
return localSysServeLog
|
||||||
|
}
|
||||||
|
|
||||||
|
func RegisterSysServeLog(i ISysServeLog) {
|
||||||
|
localSysServeLog = i
|
||||||
|
}
|
||||||
|
|
||||||
|
func SysAddons() ISysAddons {
|
||||||
|
if localSysAddons == nil {
|
||||||
|
panic("implement not found for interface ISysAddons, forgot register?")
|
||||||
|
}
|
||||||
|
return localSysAddons
|
||||||
|
}
|
||||||
|
|
||||||
|
func RegisterSysAddons(i ISysAddons) {
|
||||||
|
localSysAddons = i
|
||||||
|
}
|
||||||
|
|
||||||
|
func SysBlacklist() ISysBlacklist {
|
||||||
|
if localSysBlacklist == nil {
|
||||||
|
panic("implement not found for interface ISysBlacklist, forgot register?")
|
||||||
|
}
|
||||||
|
return localSysBlacklist
|
||||||
|
}
|
||||||
|
|
||||||
|
func RegisterSysBlacklist(i ISysBlacklist) {
|
||||||
|
localSysBlacklist = i
|
||||||
|
}
|
||||||
|
|
||||||
func SysConfig() ISysConfig {
|
func SysConfig() ISysConfig {
|
||||||
if localSysConfig == nil {
|
if localSysConfig == nil {
|
||||||
panic("implement not found for interface ISysConfig, forgot register?")
|
panic("implement not found for interface ISysConfig, forgot register?")
|
||||||
@ -561,13 +506,68 @@ func RegisterSysCron(i ISysCron) {
|
|||||||
localSysCron = i
|
localSysCron = i
|
||||||
}
|
}
|
||||||
|
|
||||||
func SysServeLicense() ISysServeLicense {
|
func SysCurdDemo() ISysCurdDemo {
|
||||||
if localSysServeLicense == nil {
|
if localSysCurdDemo == nil {
|
||||||
panic("implement not found for interface ISysServeLicense, forgot register?")
|
panic("implement not found for interface ISysCurdDemo, forgot register?")
|
||||||
}
|
}
|
||||||
return localSysServeLicense
|
return localSysCurdDemo
|
||||||
}
|
}
|
||||||
|
|
||||||
func RegisterSysServeLicense(i ISysServeLicense) {
|
func RegisterSysCurdDemo(i ISysCurdDemo) {
|
||||||
localSysServeLicense = i
|
localSysCurdDemo = i
|
||||||
|
}
|
||||||
|
|
||||||
|
func SysDictType() ISysDictType {
|
||||||
|
if localSysDictType == nil {
|
||||||
|
panic("implement not found for interface ISysDictType, forgot register?")
|
||||||
|
}
|
||||||
|
return localSysDictType
|
||||||
|
}
|
||||||
|
|
||||||
|
func RegisterSysDictType(i ISysDictType) {
|
||||||
|
localSysDictType = i
|
||||||
|
}
|
||||||
|
|
||||||
|
func SysGenCodes() ISysGenCodes {
|
||||||
|
if localSysGenCodes == nil {
|
||||||
|
panic("implement not found for interface ISysGenCodes, forgot register?")
|
||||||
|
}
|
||||||
|
return localSysGenCodes
|
||||||
|
}
|
||||||
|
|
||||||
|
func RegisterSysGenCodes(i ISysGenCodes) {
|
||||||
|
localSysGenCodes = i
|
||||||
|
}
|
||||||
|
|
||||||
|
func SysLog() ISysLog {
|
||||||
|
if localSysLog == nil {
|
||||||
|
panic("implement not found for interface ISysLog, forgot register?")
|
||||||
|
}
|
||||||
|
return localSysLog
|
||||||
|
}
|
||||||
|
|
||||||
|
func RegisterSysLog(i ISysLog) {
|
||||||
|
localSysLog = i
|
||||||
|
}
|
||||||
|
|
||||||
|
func SysAddonsConfig() ISysAddonsConfig {
|
||||||
|
if localSysAddonsConfig == nil {
|
||||||
|
panic("implement not found for interface ISysAddonsConfig, forgot register?")
|
||||||
|
}
|
||||||
|
return localSysAddonsConfig
|
||||||
|
}
|
||||||
|
|
||||||
|
func RegisterSysAddonsConfig(i ISysAddonsConfig) {
|
||||||
|
localSysAddonsConfig = i
|
||||||
|
}
|
||||||
|
|
||||||
|
func SysSmsLog() ISysSmsLog {
|
||||||
|
if localSysSmsLog == nil {
|
||||||
|
panic("implement not found for interface ISysSmsLog, forgot register?")
|
||||||
|
}
|
||||||
|
return localSysSmsLog
|
||||||
|
}
|
||||||
|
|
||||||
|
func RegisterSysSmsLog(i ISysSmsLog) {
|
||||||
|
localSysSmsLog = i
|
||||||
}
|
}
|
||||||
|
@ -155,7 +155,7 @@ router:
|
|||||||
# 前缀
|
# 前缀
|
||||||
prefix: "/api"
|
prefix: "/api"
|
||||||
# 不需要验证登录的路由地址
|
# 不需要验证登录的路由地址
|
||||||
exceptPath: []
|
exceptLogin: []
|
||||||
# websocket
|
# websocket
|
||||||
websocket:
|
websocket:
|
||||||
# 前缀
|
# 前缀
|
||||||
@ -167,7 +167,7 @@ router:
|
|||||||
# 前缀
|
# 前缀
|
||||||
prefix: "/home"
|
prefix: "/home"
|
||||||
# 不需要验证登录的路由地址
|
# 不需要验证登录的路由地址
|
||||||
exceptPath: []
|
exceptLogin: []
|
||||||
|
|
||||||
|
|
||||||
#缓存
|
#缓存
|
||||||
@ -263,7 +263,7 @@ hggen:
|
|||||||
webApiPath: "../web/src/api" # webApi生成路径
|
webApiPath: "../web/src/api" # webApi生成路径
|
||||||
webViewsPath : "../web/src/views" # web页面生成路径
|
webViewsPath : "../web/src/views" # web页面生成路径
|
||||||
|
|
||||||
# 默认的插件包模板
|
# 默认的插件包模板,{$name}会自动替换成实际的插件名称
|
||||||
- group: "addon" # 分组名称
|
- group: "addon" # 分组名称
|
||||||
isAddon: true # 是否为插件模板 false|true
|
isAddon: true # 是否为插件模板 false|true
|
||||||
masterPackage: "sys" # 主包名称,需和controllerPath、logicPath、inputPath保持关联
|
masterPackage: "sys" # 主包名称,需和controllerPath、logicPath、inputPath保持关联
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "hotgo",
|
"name": "hotgo",
|
||||||
"version": "2.8.9",
|
"version": "2.9.3",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "MengShuai",
|
"name": "MengShuai",
|
||||||
"email": "133814250@qq.com",
|
"email": "133814250@qq.com",
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
:rules="rules"
|
:rules="rules"
|
||||||
ref="formRef"
|
ref="formRef"
|
||||||
label-placement="left"
|
label-placement="left"
|
||||||
:label-width="80"
|
:label-width="100"
|
||||||
class="py-4"
|
class="py-4"
|
||||||
>
|
>
|
||||||
<n-form-item label="分类ID" path="categoryId">
|
<n-form-item label="分类ID" path="categoryId">
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<n-card :bordered="false" class="proCard">
|
|
||||||
<div class="n-layout-page-header">
|
<div class="n-layout-page-header">
|
||||||
<n-card :bordered="false" title="生成演示">
|
<n-card :bordered="false" title="生成演示">
|
||||||
<!-- 这是系统自动生成的CURD表格,你可以将此行注释改为表格的描述 -->
|
<!-- 这是由系统生成的CURD表格,你可以将此行注释改为表格的描述 -->
|
||||||
</n-card>
|
</n-card>
|
||||||
</div>
|
</div>
|
||||||
|
<n-card :bordered="false" class="proCard">
|
||||||
|
|
||||||
<BasicForm
|
<BasicForm
|
||||||
@register="register"
|
@register="register"
|
||||||
|
@ -34,7 +34,7 @@ export interface State {
|
|||||||
deletedAt: string;
|
deletedAt: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const defaultState = {
|
export const defaultState: State = {
|
||||||
id: 0,
|
id: 0,
|
||||||
categoryId: 0,
|
categoryId: 0,
|
||||||
title: '',
|
title: '',
|
||||||
@ -173,7 +173,7 @@ export const columns = [
|
|||||||
width: 32,
|
width: 32,
|
||||||
height: 32,
|
height: 32,
|
||||||
src: row.image,
|
src: row.image,
|
||||||
fallbackSrc: errorImg,
|
onError: errorImg,
|
||||||
style: {
|
style: {
|
||||||
width: '32px',
|
width: '32px',
|
||||||
height: '32px',
|
height: '32px',
|
||||||
|
@ -139,8 +139,10 @@
|
|||||||
watch(
|
watch(
|
||||||
() => props.formParams,
|
() => props.formParams,
|
||||||
(value) => {
|
(value) => {
|
||||||
|
if (isShowModal.value) {
|
||||||
loadForm(value);
|
loadForm(value);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
);
|
);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
@ -139,8 +139,10 @@
|
|||||||
watch(
|
watch(
|
||||||
() => props.formParams,
|
() => props.formParams,
|
||||||
(value) => {
|
(value) => {
|
||||||
|
if (isShowModal.value) {
|
||||||
loadForm(value);
|
loadForm(value);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
);
|
);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user