插件通信
This commit is contained in:
parent
feae7d4bd8
commit
1b2e54302c
30
cmd/main.go
30
cmd/main.go
|
@ -7,24 +7,33 @@ import (
|
||||||
"log"
|
"log"
|
||||||
)
|
)
|
||||||
|
|
||||||
var appKey = "8db16e8cc8363ed4eb4c14f9520bcc32"
|
|
||||||
var appId = "23329"
|
var appId = "23329"
|
||||||
|
var appKey = "8db16e8cc8363ed4eb4c14f9520bcc32"
|
||||||
var baseUri = "http://test.openapi.1688sup.cn"
|
var baseUri = "http://test.openapi.1688sup.cn"
|
||||||
var notifyUrl = "http://test.openapi.1688sup.cn"
|
var notifyUrl = "http://test.openapi.1688sup.cn"
|
||||||
|
|
||||||
// main 这只是一个演示
|
// main 这只是一个演示
|
||||||
func main() {
|
func main() {
|
||||||
load := []*instance.PkgConf{
|
conf := &instance.PkgConf{
|
||||||
{
|
Cmd: "pkg/zltx",
|
||||||
Cmd: "pkg/zltx",
|
Tag: "zltx",
|
||||||
Tag: "zltx",
|
Version: 1,
|
||||||
},
|
CookieKey: "zltx",
|
||||||
|
CookieValue: "zltx",
|
||||||
}
|
}
|
||||||
err := instance.Load(load)
|
err := instance.Load([]*instance.PkgConf{conf})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
request := &proto.OrderRequest{
|
res, err := instance.Get("zltx").Order(context.Background(), getRequest())
|
||||||
|
if err != nil {
|
||||||
|
log.Fatalln(err)
|
||||||
|
}
|
||||||
|
log.Printf("Order res:%+v", res)
|
||||||
|
}
|
||||||
|
|
||||||
|
func getRequest() *proto.OrderRequest {
|
||||||
|
return &proto.OrderRequest{
|
||||||
Config: &proto.Config{
|
Config: &proto.Config{
|
||||||
AppId: appId,
|
AppId: appId,
|
||||||
AppKey: appKey,
|
AppKey: appKey,
|
||||||
|
@ -41,9 +50,4 @@ func main() {
|
||||||
Extra: []byte(`{}`),
|
Extra: []byte(`{}`),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
res, err := instance.Get("zltx").Order(context.Background(), request)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalln(err)
|
|
||||||
}
|
|
||||||
log.Printf("Order res:%+v", res)
|
|
||||||
}
|
}
|
||||||
|
|
2
go.mod
2
go.mod
|
@ -2,7 +2,7 @@ module plugins
|
||||||
|
|
||||||
go 1.21
|
go 1.21
|
||||||
|
|
||||||
require codeup.aliyun.com/6552e56cc3b2728a4557fc18/plugin v0.0.0-20240701062026-8d942924410e
|
require codeup.aliyun.com/6552e56cc3b2728a4557fc18/plugin v0.0.0-20240701085519-f6acae1d59f9
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/envoyproxy/protoc-gen-validate v1.0.4 // indirect
|
github.com/envoyproxy/protoc-gen-validate v1.0.4 // indirect
|
||||||
|
|
2
go.sum
2
go.sum
|
@ -1,5 +1,7 @@
|
||||||
codeup.aliyun.com/6552e56cc3b2728a4557fc18/plugin v0.0.0-20240701062026-8d942924410e h1:1X0dk1OR8Zhf9gjZHRKpY7d/iYqX7UqMPqy8q+GxmXM=
|
codeup.aliyun.com/6552e56cc3b2728a4557fc18/plugin v0.0.0-20240701062026-8d942924410e h1:1X0dk1OR8Zhf9gjZHRKpY7d/iYqX7UqMPqy8q+GxmXM=
|
||||||
codeup.aliyun.com/6552e56cc3b2728a4557fc18/plugin v0.0.0-20240701062026-8d942924410e/go.mod h1:QdW8HjHYQN8LCkFAB9e4oh7HziePCYnDXnUaKtmb8iQ=
|
codeup.aliyun.com/6552e56cc3b2728a4557fc18/plugin v0.0.0-20240701062026-8d942924410e/go.mod h1:QdW8HjHYQN8LCkFAB9e4oh7HziePCYnDXnUaKtmb8iQ=
|
||||||
|
codeup.aliyun.com/6552e56cc3b2728a4557fc18/plugin v0.0.0-20240701085519-f6acae1d59f9 h1:U0ZsVK8mZBDxL3Nm6Btf3tEYZqC434qgubaZwnSL/7g=
|
||||||
|
codeup.aliyun.com/6552e56cc3b2728a4557fc18/plugin v0.0.0-20240701085519-f6acae1d59f9/go.mod h1:QdW8HjHYQN8LCkFAB9e4oh7HziePCYnDXnUaKtmb8iQ=
|
||||||
github.com/bufbuild/protocompile v0.4.0 h1:LbFKd2XowZvQ/kajzguUp2DC9UEIQhIq77fZZlaQsNA=
|
github.com/bufbuild/protocompile v0.4.0 h1:LbFKd2XowZvQ/kajzguUp2DC9UEIQhIq77fZZlaQsNA=
|
||||||
github.com/bufbuild/protocompile v0.4.0/go.mod h1:3v93+mbWn/v3xzN+31nwkJfrEpAUwp+BagBSZWx+TP8=
|
github.com/bufbuild/protocompile v0.4.0/go.mod h1:3v93+mbWn/v3xzN+31nwkJfrEpAUwp+BagBSZWx+TP8=
|
||||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||||
|
|
|
@ -3,7 +3,7 @@ module plugins/zltx
|
||||||
go 1.21
|
go 1.21
|
||||||
|
|
||||||
require (
|
require (
|
||||||
codeup.aliyun.com/6552e56cc3b2728a4557fc18/plugin v0.0.0-20240701070232-7c96c21e16ac
|
codeup.aliyun.com/6552e56cc3b2728a4557fc18/plugin v0.0.0-20240701085519-f6acae1d59f9
|
||||||
github.com/carlmjohnson/requests v0.23.5
|
github.com/carlmjohnson/requests v0.23.5
|
||||||
github.com/go-playground/validator/v10 v10.22.0
|
github.com/go-playground/validator/v10 v10.22.0
|
||||||
github.com/hashicorp/go-plugin v1.6.1
|
github.com/hashicorp/go-plugin v1.6.1
|
||||||
|
|
|
@ -4,6 +4,10 @@ codeup.aliyun.com/6552e56cc3b2728a4557fc18/plugin v0.0.0-20240701065841-5ae68878
|
||||||
codeup.aliyun.com/6552e56cc3b2728a4557fc18/plugin v0.0.0-20240701065841-5ae68878836f/go.mod h1:QdW8HjHYQN8LCkFAB9e4oh7HziePCYnDXnUaKtmb8iQ=
|
codeup.aliyun.com/6552e56cc3b2728a4557fc18/plugin v0.0.0-20240701065841-5ae68878836f/go.mod h1:QdW8HjHYQN8LCkFAB9e4oh7HziePCYnDXnUaKtmb8iQ=
|
||||||
codeup.aliyun.com/6552e56cc3b2728a4557fc18/plugin v0.0.0-20240701070232-7c96c21e16ac h1:SY71ZgI7jKQyREHxfe9F0FvH3E4AICh0MLrFao6oCFk=
|
codeup.aliyun.com/6552e56cc3b2728a4557fc18/plugin v0.0.0-20240701070232-7c96c21e16ac h1:SY71ZgI7jKQyREHxfe9F0FvH3E4AICh0MLrFao6oCFk=
|
||||||
codeup.aliyun.com/6552e56cc3b2728a4557fc18/plugin v0.0.0-20240701070232-7c96c21e16ac/go.mod h1:QdW8HjHYQN8LCkFAB9e4oh7HziePCYnDXnUaKtmb8iQ=
|
codeup.aliyun.com/6552e56cc3b2728a4557fc18/plugin v0.0.0-20240701070232-7c96c21e16ac/go.mod h1:QdW8HjHYQN8LCkFAB9e4oh7HziePCYnDXnUaKtmb8iQ=
|
||||||
|
codeup.aliyun.com/6552e56cc3b2728a4557fc18/plugin v0.0.0-20240701084422-a0dcbe4339b0 h1:qX4F5QwDka918bxtq9D1MvEYkybXhiGvBdrVoCFjh9M=
|
||||||
|
codeup.aliyun.com/6552e56cc3b2728a4557fc18/plugin v0.0.0-20240701084422-a0dcbe4339b0/go.mod h1:QdW8HjHYQN8LCkFAB9e4oh7HziePCYnDXnUaKtmb8iQ=
|
||||||
|
codeup.aliyun.com/6552e56cc3b2728a4557fc18/plugin v0.0.0-20240701085519-f6acae1d59f9 h1:U0ZsVK8mZBDxL3Nm6Btf3tEYZqC434qgubaZwnSL/7g=
|
||||||
|
codeup.aliyun.com/6552e56cc3b2728a4557fc18/plugin v0.0.0-20240701085519-f6acae1d59f9/go.mod h1:QdW8HjHYQN8LCkFAB9e4oh7HziePCYnDXnUaKtmb8iQ=
|
||||||
github.com/bufbuild/protocompile v0.4.0 h1:LbFKd2XowZvQ/kajzguUp2DC9UEIQhIq77fZZlaQsNA=
|
github.com/bufbuild/protocompile v0.4.0 h1:LbFKd2XowZvQ/kajzguUp2DC9UEIQhIq77fZZlaQsNA=
|
||||||
github.com/bufbuild/protocompile v0.4.0/go.mod h1:3v93+mbWn/v3xzN+31nwkJfrEpAUwp+BagBSZWx+TP8=
|
github.com/bufbuild/protocompile v0.4.0/go.mod h1:3v93+mbWn/v3xzN+31nwkJfrEpAUwp+BagBSZWx+TP8=
|
||||||
github.com/carlmjohnson/requests v0.23.5 h1:NPANcAofwwSuC6SIMwlgmHry2V3pLrSqRiSBKYbNHHA=
|
github.com/carlmjohnson/requests v0.23.5 h1:NPANcAofwwSuC6SIMwlgmHry2V3pLrSqRiSBKYbNHHA=
|
||||||
|
|
|
@ -10,8 +10,15 @@ import (
|
||||||
"plugins/zltx/internal/po"
|
"plugins/zltx/internal/po"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// 插件通信信息,若不对应则会报错panic
|
||||||
const (
|
const (
|
||||||
Tag = "zltx"
|
Tag = "zltx"
|
||||||
|
Version = 1
|
||||||
|
CookieKey = "zltx"
|
||||||
|
CookieValue = "zltx"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
orderMethod = "/recharge/order"
|
orderMethod = "/recharge/order"
|
||||||
queryMethod = "/recharge/query"
|
queryMethod = "/recharge/query"
|
||||||
)
|
)
|
||||||
|
@ -64,6 +71,7 @@ func (p *ZltxService) Notify(_ context.Context, request *proto.NotifyRequest) (*
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("解析异常,msg:" + err.Error())
|
return nil, fmt.Errorf("解析异常,msg:" + err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
err = poReq.Validate()
|
err = poReq.Validate()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -71,5 +79,6 @@ func (p *ZltxService) Notify(_ context.Context, request *proto.NotifyRequest) (*
|
||||||
if !verify(poReq, request.Config.AppKey) {
|
if !verify(poReq, request.Config.AppKey) {
|
||||||
return nil, errors.New("验签不通过")
|
return nil, errors.New("验签不通过")
|
||||||
}
|
}
|
||||||
|
|
||||||
return notifyResp(poReq), nil
|
return notifyResp(poReq), nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@ import (
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
plugin.Serve(&plugin.ServeConfig{
|
plugin.Serve(&plugin.ServeConfig{
|
||||||
HandshakeConfig: shared.Handshake,
|
HandshakeConfig: shared.HandshakeConfig(internal.Version, internal.CookieKey, internal.CookieValue),
|
||||||
Plugins: shared.PluginSet(shared.NewPlugin(&internal.ZltxService{}, internal.Tag)),
|
Plugins: shared.PluginSet(shared.NewPlugin(&internal.ZltxService{}, internal.Tag)),
|
||||||
GRPCServer: plugin.DefaultGRPCServer,
|
GRPCServer: plugin.DefaultGRPCServer,
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in New Issue