diff --git a/README.md b/README.md index 311446d..ecff105 100644 --- a/README.md +++ b/README.md @@ -44,11 +44,14 @@ func WxHandler(w http.ResponseWriter, r *http.Request) { * 创建其他实例,密文模式 ```go + // 创建公众号实例(服务号/订阅号/小程序) 不带aesKey则为明文模式 + app := wechat.New("token", "appId", "secret") + // 创建公众号实例(服务号/订阅号/小程序) app := wechat.New("token", "appId", "secret", "aesKey") // 创建企业号实例 - app := wechat.New("token", "appId", "secret", "aesKey", "agentId") + app := wechat.NewEnt("token", "appId", "secret", "aesKey", "agentId") // 实例化后其他业务操作 ctx := app.VerifyURL(w, r) diff --git a/accesstoken.go b/accesstoken.go index de641bd..8f2c2a3 100644 --- a/accesstoken.go +++ b/accesstoken.go @@ -65,6 +65,7 @@ func (s *Server) getAccessToken() (err error) { } else { Printf("使用本地机制获取token") url := fmt.Sprintf(s.TokenUrl, s.AppId, s.Secret) + Printf(url) at := new(AccessToken) if err = util.GetJson(url, at); err != nil { return diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..798c2da --- /dev/null +++ b/go.mod @@ -0,0 +1,12 @@ +module github.com/esap/wechat + +go 1.12 + +require ( + github.com/labstack/echo v3.3.10+incompatible + github.com/labstack/gommon v0.2.8 // indirect + github.com/mattn/go-colorable v0.1.2 // indirect + github.com/stretchr/testify v1.3.0 // indirect + github.com/valyala/fasttemplate v1.0.1 // indirect + golang.org/x/crypto v0.0.0-20190513172903-22d7a77e9e5f // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..77d4fa8 --- /dev/null +++ b/go.sum @@ -0,0 +1,30 @@ +github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/labstack/echo v3.3.10+incompatible h1:pGRcYk231ExFAyoAjAfD85kQzRJCRI8bbnE7CX5OEgg= +github.com/labstack/echo v3.3.10+incompatible/go.mod h1:0INS7j/VjnFxD4E2wkz67b8cVwCLbBmJyDaka6Cmk1s= +github.com/labstack/gommon v0.2.8 h1:JvRqmeZcfrHC5u6uVleB4NxxNbzx6gpbJiQknDbKQu0= +github.com/labstack/gommon v0.2.8/go.mod h1:/tj9csK2iPSBvn+3NLM9e52usepMtrd5ilFYA+wQNJ4= +github.com/mattn/go-colorable v0.1.2 h1:/bC9yWikZXAL9uJdulbSfyVNIR3n3trXl+v8+1sx8mU= +github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-isatty v0.0.8 h1:HLtExJ+uU2HOZ+wI0Tt5DtUDrx8yhUqDcp7fYERX4CE= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +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/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= +github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +github.com/valyala/fasttemplate v1.0.1 h1:tY9CJiPnMXf1ERmG2EyK7gNUd+c6RKGD0IfU8WdUSz8= +github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190513172903-22d7a77e9e5f h1:R423Cnkcp5JABoeemiGEPlt9tHXFfw5kvc0yqlxRPWo= +golang.org/x/crypto v0.0.0-20190513172903-22d7a77e9e5f/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3 h1:0GoQqolDA55aaLxZyTzK/Y2ePZzZTUrRacwib7cNsYQ= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d h1:+R4KGOnez64A81RvjARKc4UT5/tI9ujCIVX+P5KiHuI= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= diff --git a/server.go b/server.go index d918f31..022bae5 100644 --- a/server.go +++ b/server.go @@ -64,7 +64,7 @@ type Server struct { } // New 微信服务容器,根据agentId判断是企业号或服务号 -func New(token, appid, secret, key string, agentId ...int) (s *Server) { +func NewEnt(token, appid, secret, key string, agentId ...int) (s *Server) { s = NewServer(nil) if len(agentId) > 0 { s.SetEnt(token, appid, secret, key, agentId[0]) @@ -77,6 +77,12 @@ func New(token, appid, secret, key string, agentId ...int) (s *Server) { return s } +// New 微信服务容器 +func New(token, appid, secret string, key ...string) (s *Server) { + s = NewServer(nil) + s.Set(token, appid, secret, key...) + return s +} // NewServer 空容器 func NewServer(f func(appId string) *AccessToken) *Server { s := &Server{