From 8366bbd3c9ad4a398dcd356ee93aafadf27ccfd4 Mon Sep 17 00:00:00 2001 From: VIVIMAN Date: Sat, 3 Dec 2022 02:14:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- conf/app.conf | 12 +- go.mod | 1 - go.sum | 22 ++- main.go | 96 +++++----- routers/commentsRouter_.go | 370 +++++++++++++++++++++++++++++++++++++ 5 files changed, 437 insertions(+), 64 deletions(-) create mode 100644 routers/commentsRouter_.go diff --git a/conf/app.conf b/conf/app.conf index 5e0993e..3fc1bc6 100644 --- a/conf/app.conf +++ b/conf/app.conf @@ -31,17 +31,17 @@ jwt_token = 1BD6C43CA0BBF4B7ABA5E486D6A5AA2D [prod] #数据库配置 -mysqluser = "root" -mysqlpass = "" -mysqlhost = "localhost" -mysqlport = 3306 -mysqldb = "yshop_go" +mysqluser = "beego" +mysqlpass = "Asdfghjklm123." +mysqlhost = "nas.viviman.top" +mysqlport = 35017 +mysqldb = "beego_demo01" db_max_idle_conn = 30 db_max_open_open = 100 maxmemory = 1<<22 #redis -redis_host = 127.0.0.1:6379 +redis_host = nas.viviman.top:20017 redis_pwd = #日志等级 debug diff --git a/go.mod b/go.mod index 36f030c..b091a8b 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,6 @@ go 1.15 require github.com/beego/beego/v2 v2.0.1 require ( - github.com/casbin/casbin v1.9.1 github.com/dgrijalva/jwt-go v3.2.0+incompatible github.com/go-sql-driver/mysql v1.5.0 github.com/gomodule/redigo v2.0.0+incompatible diff --git a/go.sum b/go.sum index 9a10538..24959a1 100644 --- a/go.sum +++ b/go.sum @@ -1,15 +1,12 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/Knetic/govaluate v3.0.0+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= -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/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/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alicebob/gopher-json v0.0.0-20180125190556-5a6b3ba71ee6/go.mod h1:SGnFV6hVsYE877CKEZ6tDNTjaSXYUk6QqoIK6PrAtcc= github.com/alicebob/miniredis v2.5.0+incompatible/go.mod h1:8HZjEj4yU0dwhYHky+DxYx+6BMjkBbe5ONFIF1MXffk= -github.com/beego/beego v1.12.3 h1:yHJ9h4lzC/Vp3z9DzYoL+8SvJo82nGPe5+LMmPa3IPw= github.com/beego/beego/v2 v2.0.1 h1:07a7Z0Ok5vbqyqh+q53sDPl9LdhKh0ZDy3gbyGrhFnE= github.com/beego/beego/v2 v2.0.1/go.mod h1:8zyHi1FnWO1mZLwTn62aKRIZF/aIKvkCBB2JYs+eqQI= github.com/beego/goyaml2 v0.0.0-20130207012346-5545475820dd/go.mod h1:1b+Y/CofkYwXMUU0OhQqGvsY2Bvgr4j6jfT699wyZKQ= @@ -20,8 +17,6 @@ github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bradfitz/gomemcache v0.0.0-20180710155616-bc664df96737/go.mod h1:PmM6Mmwb0LSuEubjR8N7PtNe1KxZLtOUHtbeikc5h60= github.com/casbin/casbin v1.7.0/go.mod h1:c67qKN6Oum3UF5Q1+BByfFxkwKvhwW57ITjqwtzR1KE= -github.com/casbin/casbin v1.9.1 h1:ucjbS5zTrmSLtH4XogqOG920Poe6QatdXtz1FEbApeM= -github.com/casbin/casbin v1.9.1/go.mod h1:z8uPsfBJGUsnkagrt3G8QvjgTKFMBJ32UP8HpZllfog= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= @@ -36,12 +31,13 @@ github.com/couchbase/gomemcached v0.0.0-20200526233749-ec430f949808/go.mod h1:sr github.com/couchbase/goutils v0.0.0-20180530154633-e865a1461c8a/go.mod h1:BQwMFlJzDjFDG3DJUdU0KORxn88UlsOULuxLExMh3Hs= github.com/cupcake/rdb v0.0.0-20161107195141-43ba34106c76/go.mod h1:vYwsqCOLxGiisLwp9rITslkFNpZD5rz43tf41QFkTWY= 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/dgrijalva/jwt-go v1.0.2 h1:KPldsxuKGsS2FPWsNeg9ZO18aCrGKujPoWXn2yo+KQM= 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/edsrzf/mmap-go v0.0.0-20170320065105-0bce6a688712/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= github.com/elastic/go-elasticsearch/v6 v6.8.5/go.mod h1:UwaDJsD3rWLM5rKNFzv9hgox93HoX8utj1kxD9aFUcI= +github.com/elazarl/go-bindata-assetfs v1.0.0 h1:G/bYguwHIzWq9ZoyUQqrjTmJbbYn3j3CKKpKinvZLFk= github.com/elazarl/go-bindata-assetfs v1.0.0/go.mod h1:v+YaWX3bdea5J/mo8dSETolEo7R71Vk1u8bnjau5yw4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= @@ -76,15 +72,16 @@ github.com/golang/snappy v0.0.0-20170215233205-553a64147049/go.mod h1:/XxbfmMg8l github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/gomodule/redigo v2.0.0+incompatible h1:K/R+8tc58AaqLkqG2Ol3Qk+DR/TlNuhuh457pBFPtt0= github.com/gomodule/redigo v2.0.0+incompatible/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4= -github.com/gomodule/redigo/redis v0.0.0-do-not-use h1:J7XIp6Kau0WoyT4JtXHT3Ei0gA1KkSc6bc87j9v9WIo= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= 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/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0 h1:/QaMHBdZ26BB3SSst0Iwl10Epc+xhTquomWX0oZEB6w= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= 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/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= @@ -92,6 +89,7 @@ github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uG github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= @@ -100,9 +98,12 @@ github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxv github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/ledisdb/ledisdb v0.0.0-20200510135210-d35789ec47e6/go.mod h1:n931TsDuKuq+uX4v1fulaMbA/7ZLLhjc85h7chZGBCQ= +github.com/lib/pq v1.0.0 h1:X5PMW56eZitiTeO7tKzZxFCSpbFZJtkMMooicw2us9A= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/mattn/go-sqlite3 v2.0.3+incompatible h1:gXHsfypPkaMZrKbD5209QV9jbUTJKjyR5WD3HYQSd+U= github.com/mattn/go-sqlite3 v2.0.3+incompatible/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= @@ -115,6 +116,7 @@ github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3Rllmb github.com/mojocn/base64Captcha v1.3.1 h1:2Wbkt8Oc8qjmNJ5GyOfSo4tgVQPsbKMftqASnq8GlT0= github.com/mojocn/base64Captcha v1.3.1/go.mod h1:wAQCKEc5bDujxKRmbT6/vTnTt5CjStQ8bRfPWUuz/iY= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= @@ -129,6 +131,7 @@ github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE 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/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= @@ -154,13 +157,16 @@ github.com/siddontang/goredis v0.0.0-20150324035039-760763f78400/go.mod h1:DDcKz github.com/siddontang/rdb v0.0.0-20150307021120-fc89ed2e418d/go.mod h1:AMEsy7v5z92TR1JKMkLLoaOQk++LVnOKL3ScbJ8GNGA= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/ssdb/gossdb v0.0.0-20180723034631-88f6b59b84ec/go.mod h1:QBvMkMya+gXctz3kmljlUCu/yB3GZ6oee+dUozsezQE= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/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 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/syndtr/goleveldb v0.0.0-20160425020131-cfa635847112/go.mod h1:Z4AUp2Km+PwemOoO/VB5AOx9XSsIItzFjoJlOSiYmn0= github.com/syndtr/goleveldb v0.0.0-20181127023241-353a9fca669c/go.mod h1:Z4AUp2Km+PwemOoO/VB5AOx9XSsIItzFjoJlOSiYmn0= @@ -180,7 +186,6 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U 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/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/image v0.0.0-20190501045829-6d32002ffd75 h1:TbGuee8sSq15Iguxu4deQ7+Bqq/d2rsQejGcEtADAMQ= golang.org/x/image v0.0.0-20190501045829-6d32002ffd75/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20201208152932-35266b937fa6 h1:nfeHNc1nAqecKCy2FCy4HY+soOOe5sDLJ/gZLbx6GYI= golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= @@ -267,6 +272,7 @@ gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLks 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-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= diff --git a/main.go b/main.go index 68d6bb6..e405e05 100644 --- a/main.go +++ b/main.go @@ -20,10 +20,9 @@ import ( "yixiang.co/yshop/untils" ) - const bearerLength = len("Bearer ") -func init() { +func init() { //初始化数据库 dbUser, _ := beego.AppConfig.String("mysqluser") dbPass, _ := beego.AppConfig.String("mysqlpass") @@ -33,9 +32,9 @@ func init() { maxIdleConn, _ := beego.AppConfig.Int("db_max_idle_conn") maxOpenConn, _ := beego.AppConfig.Int("db_max_open_open") orm.RegisterDriver("mysql", orm.DRMySQL) - orm.RegisterDataBase("default","mysql", + orm.RegisterDataBase("default", "mysql", dbUser+":"+dbPass+"@tcp("+dbHost+":"+dbPort+")/"+dbName+"?charset=utf8&parseTime=true&loc=Asia%2FShanghai", - ) + ) orm.MaxIdleConnections(maxIdleConn) orm.MaxOpenConnections(maxOpenConn) orm.DefaultTimeLoc = time.UTC @@ -56,52 +55,51 @@ func init() { func main() { log.Print("==========yshop管理后台 start=============") - //if beego.BConfig.RunMode == "dev" { + if beego.BConfig.RunMode == "dev" { beego.BConfig.WebConfig.DirectoryIndex = true beego.BConfig.WebConfig.StaticDir["/swagger"] = "swagger" - //} + } // - beego.InsertFilterChain("/*", func(next beego.FilterFunc) beego.FilterFunc { return func(ctx *context.Context) { url := ctx.Input.URL() ignoreUrls, _ := beego.AppConfig.String("ignore_urls") - if strings.Contains(ignoreUrls,url) || strings.Contains(url,"/swagger") || strings.Contains(url,"/static") { - next(ctx) - }else { - method := strings.ToLower(ctx.Input.Method()) - //部署线上开启 - //prohibit := "post,put,delete" - //if url != "/admin/auth/logout" && strings.Contains(prohibit,method) { - // ctx.Output.JSON(controllers.ErrMsg("演示环境禁止操作",40006), - // true,true) - // return - //} - mytoken := ctx.Input.Header("Authorization") - if len(mytoken) < bearerLength { - ctx.Output.Status = 401 - ctx.Output.JSON(controllers.ErrMsg("header Authorization has not Bearer token",40001), - true,true) - return - } - token := strings.TrimSpace(mytoken[bearerLength:]) - usr, err := jwt.ValidateToken(token) - if err != nil { - ctx.Output.Status = 401 - ctx.Output.JSON(controllers.ErrMsg(err.Error(),40001), - true,true) - return - } - //校验权限 - index := checkPermission(url,method,token) - if index == -1 { - ctx.Output.JSON(controllers.ErrMsg("无权限",40001),true,true) - return - } + if strings.Contains(ignoreUrls, url) || strings.Contains(url, "/swagger") || strings.Contains(url, "/static") { + next(ctx) + } else { + method := strings.ToLower(ctx.Input.Method()) + //部署线上开启 + //prohibit := "post,put,delete" + //if url != "/admin/auth/logout" && strings.Contains(prohibit,method) { + // ctx.Output.JSON(controllers.ErrMsg("演示环境禁止操作",40006), + // true,true) + // return + //} + mytoken := ctx.Input.Header("Authorization") + if len(mytoken) < bearerLength { + ctx.Output.Status = 401 + ctx.Output.JSON(controllers.ErrMsg("header Authorization has not Bearer token", 40001), + true, true) + return + } + token := strings.TrimSpace(mytoken[bearerLength:]) + usr, err := jwt.ValidateToken(token) + if err != nil { + ctx.Output.Status = 401 + ctx.Output.JSON(controllers.ErrMsg(err.Error(), 40001), + true, true) + return + } + //校验权限 + index := checkPermission(url, method, token) + if index == -1 { + ctx.Output.JSON(controllers.ErrMsg("无权限", 40001), true, true) + return + } - ctx.Input.SetData(common.ContextKeyUserObj,usr) - next(ctx) + ctx.Input.SetData(common.ContextKeyUserObj, usr) + next(ctx) } } }) @@ -109,23 +107,23 @@ func main() { } -func checkPermission(url string, method string, token string) int { - logs.Info(url,method,token,method) +func checkPermission(url string, method string, token string) int { + logs.Info(url, method, token, method) //公共路由直接放行 var ignoreUrls = "/admin/menu/build,/admin/user/center,/admin/user/updatePass,/admin/auth/info,/admin/auth/logout" - if strings.Contains(ignoreUrls,url) { + if strings.Contains(ignoreUrls, url) { return 0 } reg := regexp.MustCompile(`[0-9]+`) - newUrl := reg.ReplaceAllString(url,"*") - permission := models.FindByRouterAndMethod(newUrl,method) + newUrl := reg.ReplaceAllString(url, "*") + permission := models.FindByRouterAndMethod(newUrl, method) var key = common.REDIS_PREFIX_AUTH + token - userMap, _:= redis.Get(key) + userMap, _ := redis.Get(key) jsonStr := userMap[key] user := &models.SysUser{} - json.Unmarshal([]byte(jsonStr),user) + json.Unmarshal([]byte(jsonStr), user) - index := untils.Contains(user.Permissions,permission) + index := untils.Contains(user.Permissions, permission) return index } diff --git a/routers/commentsRouter_.go b/routers/commentsRouter_.go new file mode 100644 index 0000000..de81fbb --- /dev/null +++ b/routers/commentsRouter_.go @@ -0,0 +1,370 @@ +package routers + +import ( + beego "github.com/beego/beego/v2/server/web" + "github.com/beego/beego/v2/server/web/context/param" +) + +func init() { + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:DeptController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:DeptController"], + beego.ControllerComments{ + Method: "GetAll", + Router: "/", + AllowHTTPMethods: []string{"get"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:DeptController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:DeptController"], + beego.ControllerComments{ + Method: "Post", + Router: "/", + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:DeptController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:DeptController"], + beego.ControllerComments{ + Method: "Put", + Router: "/", + AllowHTTPMethods: []string{"put"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:DeptController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:DeptController"], + beego.ControllerComments{ + Method: "Delete", + Router: "/", + AllowHTTPMethods: []string{"delete"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:DictController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:DictController"], + beego.ControllerComments{ + Method: "GetAll", + Router: "/", + AllowHTTPMethods: []string{"get"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:DictController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:DictController"], + beego.ControllerComments{ + Method: "Post", + Router: "/", + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:DictController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:DictController"], + beego.ControllerComments{ + Method: "Put", + Router: "/", + AllowHTTPMethods: []string{"put"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:DictController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:DictController"], + beego.ControllerComments{ + Method: "Delete", + Router: "/:id", + AllowHTTPMethods: []string{"delete"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:DictDetailController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:DictDetailController"], + beego.ControllerComments{ + Method: "GetAll", + Router: "/", + AllowHTTPMethods: []string{"get"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:DictDetailController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:DictDetailController"], + beego.ControllerComments{ + Method: "Post", + Router: "/", + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:DictDetailController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:DictDetailController"], + beego.ControllerComments{ + Method: "Put", + Router: "/", + AllowHTTPMethods: []string{"put"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:DictDetailController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:DictDetailController"], + beego.ControllerComments{ + Method: "Delete", + Router: "/:id", + AllowHTTPMethods: []string{"delete"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:JobController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:JobController"], + beego.ControllerComments{ + Method: "GetAll", + Router: "/", + AllowHTTPMethods: []string{"get"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:JobController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:JobController"], + beego.ControllerComments{ + Method: "Post", + Router: "/", + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:JobController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:JobController"], + beego.ControllerComments{ + Method: "Put", + Router: "/", + AllowHTTPMethods: []string{"put"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:JobController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:JobController"], + beego.ControllerComments{ + Method: "Delete", + Router: "/", + AllowHTTPMethods: []string{"delete"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:LoginController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:LoginController"], + beego.ControllerComments{ + Method: "Captcha", + Router: "/captcha", + AllowHTTPMethods: []string{"get"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:LoginController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:LoginController"], + beego.ControllerComments{ + Method: "Info", + Router: "/info", + AllowHTTPMethods: []string{"get"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:LoginController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:LoginController"], + beego.ControllerComments{ + Method: "Login", + Router: "/login", + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:LoginController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:LoginController"], + beego.ControllerComments{ + Method: "Logout", + Router: "/logout", + AllowHTTPMethods: []string{"delete"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:MenuController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:MenuController"], + beego.ControllerComments{ + Method: "GetAll", + Router: "/", + AllowHTTPMethods: []string{"get"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:MenuController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:MenuController"], + beego.ControllerComments{ + Method: "Post", + Router: "/", + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:MenuController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:MenuController"], + beego.ControllerComments{ + Method: "Put", + Router: "/", + AllowHTTPMethods: []string{"put"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:MenuController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:MenuController"], + beego.ControllerComments{ + Method: "Delete", + Router: "/", + AllowHTTPMethods: []string{"delete"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:MenuController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:MenuController"], + beego.ControllerComments{ + Method: "Build", + Router: "/build", + AllowHTTPMethods: []string{"get"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:MenuController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:MenuController"], + beego.ControllerComments{ + Method: "GetTree", + Router: "/tree", + AllowHTTPMethods: []string{"get"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:RoleController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:RoleController"], + beego.ControllerComments{ + Method: "GetAll", + Router: "/", + AllowHTTPMethods: []string{"get"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:RoleController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:RoleController"], + beego.ControllerComments{ + Method: "Post", + Router: "/", + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:RoleController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:RoleController"], + beego.ControllerComments{ + Method: "Put", + Router: "/", + AllowHTTPMethods: []string{"put"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:RoleController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:RoleController"], + beego.ControllerComments{ + Method: "Delete", + Router: "/", + AllowHTTPMethods: []string{"delete"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:RoleController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:RoleController"], + beego.ControllerComments{ + Method: "GetOne", + Router: "/:id", + AllowHTTPMethods: []string{"get"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:RoleController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:RoleController"], + beego.ControllerComments{ + Method: "Menu", + Router: "/menu", + AllowHTTPMethods: []string{"put"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:ToolsController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:ToolsController"], + beego.ControllerComments{ + Method: "Post", + Router: "/", + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:UserController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:UserController"], + beego.ControllerComments{ + Method: "GetAll", + Router: "/", + AllowHTTPMethods: []string{"get"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:UserController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:UserController"], + beego.ControllerComments{ + Method: "Post", + Router: "/", + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:UserController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:UserController"], + beego.ControllerComments{ + Method: "Put", + Router: "/", + AllowHTTPMethods: []string{"put"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:UserController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:UserController"], + beego.ControllerComments{ + Method: "Delete", + Router: "/", + AllowHTTPMethods: []string{"delete"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:UserController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:UserController"], + beego.ControllerComments{ + Method: "Center", + Router: "/center", + AllowHTTPMethods: []string{"put"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:UserController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:UserController"], + beego.ControllerComments{ + Method: "Avatar", + Router: "/updateAvatar", + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + + beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:UserController"] = append(beego.GlobalControllerRouter["yixiang.co/yshop/controllers/admin:UserController"], + beego.ControllerComments{ + Method: "Pass", + Router: "/updatePass", + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + +}