From 6b219870335b269f150954243527d091cc37d106 Mon Sep 17 00:00:00 2001 From: TianJun Date: Wed, 28 Apr 2021 15:00:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=85=8D=E7=BD=AE=E8=AF=B4?= =?UTF-8?q?=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/images/build_config.jpg | Bin 0 -> 74705 bytes go.mod | 20 +++++ go.sum | 171 ++++++++++++++++++++++++++++++++++++ src/application-dev.yml | 33 +++++++ src/application.yml | 2 + 5 files changed, 226 insertions(+) create mode 100644 doc/images/build_config.jpg create mode 100644 go.mod create mode 100644 go.sum create mode 100644 src/application-dev.yml create mode 100644 src/application.yml diff --git a/doc/images/build_config.jpg b/doc/images/build_config.jpg new file mode 100644 index 0000000000000000000000000000000000000000..417e53211243f6ea3af2f78dd8df04cf3a9c5db9 GIT binary patch literal 74705 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 literal 0 HcmV?d00001 diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..d7e1e1c --- /dev/null +++ b/go.mod @@ -0,0 +1,20 @@ +module lingye-gin + +go 1.16 + +require ( + github.com/dgrijalva/jwt-go v3.2.0+incompatible + github.com/gin-gonic/gin v1.7.1 + github.com/go-redis/redis v6.15.9+incompatible + github.com/jinzhu/gorm v1.9.16 + github.com/jonboulle/clockwork v0.2.2 // indirect + github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible + github.com/lestrrat-go/strftime v1.0.4 // indirect + github.com/mattn/go-sqlite3 v1.14.7 // indirect + github.com/onsi/ginkgo v1.16.1 // indirect + github.com/onsi/gomega v1.11.0 // indirect + github.com/pkg/errors v0.9.1 // indirect + github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5 + github.com/sirupsen/logrus v1.8.1 + gopkg.in/yaml.v2 v2.4.0 +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..300b920 --- /dev/null +++ b/go.sum @@ -0,0 +1,171 @@ +github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc= +github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/denisenkom/go-mssqldb v0.0.0-20191124224453-732737034ffd h1:83Wprp6ROGeiHFAP8WJdI2RoxALQYgdllERc3N5N2DM= +github.com/denisenkom/go-mssqldb v0.0.0-20191124224453-732737034ffd/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= +github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5 h1:Yzb9+7DPaBjB8zlTR87/ElzFsnQfuHnVUVqpZZIcV5Y= +github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a2zkGnVExMxdzMo3M0Hi/3sEU+cWnZpSni0O6/Yb/P0= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= +github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-gonic/gin v1.7.1 h1:qC89GU3p8TvKWMAVhEpmpB2CIb1hnqt2UdKZaP93mS8= +github.com/gin-gonic/gin v1.7.1/go.mod h1:jD2toBW3GZUr5UMcdrwQA10I7RuaFOl/SGeDjXkfUtY= +github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= +github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= +github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= +github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no= +github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= +github.com/go-playground/validator/v10 v10.4.1 h1:pH2c5ADXtd66mxoE0Zm9SUhxE20r7aM3F26W0hOn+GE= +github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= +github.com/go-redis/redis v6.15.9+incompatible h1:K0pv1D7EQUjfyoMql+r/jZqCLizCGKFlFgcHWWmHQjg= +github.com/go-redis/redis v6.15.9+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= +github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs= +github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= +github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= +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/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.4.3 h1:JjCZWpVbqXDqFVmTfYWEVTMIYrL/NPdPSCHPJ0T/raM= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/jinzhu/gorm v1.9.16 h1:+IyIjPEABKRpsu/F8OvDPy9fyQlgsg2luMV2ZIH5i5o= +github.com/jinzhu/gorm v1.9.16/go.mod h1:G3LB3wezTOWM2ITLzPxEXgSkOXAntiLHS7UdBefADcs= +github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= +github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= +github.com/jinzhu/now v1.0.1 h1:HjfetcXq097iXP0uoPCdnM4Efp5/9MsM0/M+XOTeR3M= +github.com/jinzhu/now v1.0.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +github.com/jonboulle/clockwork v0.2.2 h1:UOGuzwb1PwsrDAObMuhUnj0p5ULPj8V/xJ7Kx9qUBdQ= +github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= +github.com/json-iterator/go v1.1.9 h1:9yzud/Ht36ygwatGx56VwCZtlI/2AD15T1X2sjSuGns= +github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= +github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= +github.com/lestrrat-go/envload v0.0.0-20180220234015-a3eb8ddeffcc h1:RKf14vYWi2ttpEmkA4aQ3j4u9dStX2t4M8UM6qqNsG8= +github.com/lestrrat-go/envload v0.0.0-20180220234015-a3eb8ddeffcc/go.mod h1:kopuH9ugFRkIXf3YoqHKyrJ9YfUFsckUU9S7B+XP+is= +github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible h1:Y6sqxHMyB1D2YSzWkLibYKgg+SwmyFU9dF2hn6MdTj4= +github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible/go.mod h1:ZQnN8lSECaebrkQytbHj4xNgtg8CR7RYXnPok8e0EHA= +github.com/lestrrat-go/strftime v1.0.4 h1:T1Rb9EPkAhgxKqbcMIPguPq8glqXTA1koF8n9BHElA8= +github.com/lestrrat-go/strftime v1.0.4/go.mod h1:E1nN3pCbtMSu1yjSVeyuRFVm/U0xoR76fd03sz+Qz4g= +github.com/lib/pq v1.1.1 h1:sJZmqHoEaY7f+NPP8pgLB/WxulyR3fewgCM2qaSlBb4= +github.com/lib/pq v1.1.1/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-sqlite3 v1.14.0/go.mod h1:JIl7NbARA7phWnGvh0LKTyg7S9BA+6gx71ShQilpsus= +github.com/mattn/go-sqlite3 v1.14.7 h1:fxWBnXkxfM6sRiuH3bqJ4CfzZojMOLVc0UTsTglEghA= +github.com/mattn/go-sqlite3 v1.14.7/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742 h1:Esafd1046DLDQ0W1YjYsBW+p8U2u7vzgW2SQVmlNazg= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= +github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.16.1 h1:foqVmeWDD6yYpK+Yz3fHyNIxFYNxswxqNFjSKe+vI54= +github.com/onsi/ginkgo v1.16.1/go.mod h1:CObGmKUOKaSC0RjmoAK7tKyn4Azo5P2IWuoMnvwxz1E= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.11.0 h1:+CqWgvj0OZycCaqclBD1pxKHAU+tOkHmQIWvDHq2aug= +github.com/onsi/gomega v1.11.0/go.mod h1:azGKhqFUon9Vuj0YmTfLSmx0FUwqXYSTl5re8lQLTUg= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5 h1:mZHayPoR0lNmnHyvtYjDeq0zlVHn9K/ZXoy17ylucdo= +github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5/go.mod h1:GEXHk5HgEKCvEIIrSpFI3ozzG5xOKA2DVlEX/gGnewM= +github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE= +github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= +github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= +github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs= +github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191205180655-e7c4368fe9dd/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb h1:eBmm0M9fYhWpKZLjQUUKka/LtIxf46G4fxeEz5KJr9U= +golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/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-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210112080510-489259a85091 h1:DMyOG0U+gKfu8JZzg2UQe9MeaC1X+xQWlAKcRnjxjCw= +golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.23.0 h1:4MY060fB1DLGMB/7MBTLnwQUY6+F09GEiz6SsrNqyzM= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= diff --git a/src/application-dev.yml b/src/application-dev.yml new file mode 100644 index 0000000..9c32900 --- /dev/null +++ b/src/application-dev.yml @@ -0,0 +1,33 @@ +app: + mode: debug + name: LingYeGinGorm + +server: + port: 8088 + +log: + file: + path: ../logs + name: lingyeGinGorm.log + level: debug + +redis: + addr: localhost:6379 + passwd: + database: 10 + +database: + dialect: mysql + datasources: + mysql: + addr: localhost:3306 + username: root + password: 123456 + database: test + sqlite3: + dbfile: ./sqlite3.db + +jwt: + # MD5 SHA256 + secret: 878bb8ef8807b5ddbcbddbf909e5526262cf74a54fb523cee17e5b80a1b7510d + expiry: 3600 \ No newline at end of file diff --git a/src/application.yml b/src/application.yml new file mode 100644 index 0000000..a80a164 --- /dev/null +++ b/src/application.yml @@ -0,0 +1,2 @@ +app: + env: dev \ No newline at end of file