wechat
wechat copied to clipboard
[咨询]给用户回复消息收不到
func main(){ http.HandleFunc("/", test) fmt.Println("wechat server listener at", ":8600") err := http.ListenAndServe(":8600", nil) if err != nil { fmt.Printf("start server error , err=%v", err) } }
func test(rw http.ResponseWriter, req *http.Request) { //b, err := io.ReadAll(req.Body) fmt.Println(req.URL.String(), req.Method) wc := wechat.NewWechat() memory := cache.NewMemory() cfg := &offConfig.Config{ AppID: , AppSecret: , Token: "", EncodingAESKey: "", Cache: memory, } officialAccount := wc.GetOfficialAccount(cfg)
// 传入request和responseWriter
server := officialAccount.GetServer(req, rw)
//设置接收消息的处理方法
server.SetMessageHandler(func(msg *message.MixMessage) *message.Reply {
fmt.Println("msg:", msg.Content)
//回复消息:演示回复用户发送的消息
text := message.NewText("66666666")
return &message.Reply{MsgType: message.MsgTypeText, MsgData: text}
})
//处理消息接收以及回复
err := server.Serve()
if err != nil {
fmt.Println(err)
return
}
//发送回复的消息
err = server.Send()
if err != nil {
fmt.Println(err)
return
}
}
用户发的消息能接受到, 但是给用户返回消息,用户接受不到,也没有报错
后台打印如下:
msg: 你好
DEBU[0042] request msg =
func main(){ http.HandleFunc("/", test) fmt.Println("wechat server listener at", ":8600") err := http.ListenAndServe(":8600", nil) if err != nil { fmt.Printf("start server error , err=%v", err) } }
func test(rw http.ResponseWriter, req *http.Request) { //b, err := io.ReadAll(req.Body) fmt.Println(req.URL.String(), req.Method) wc := wechat.NewWechat() memory := cache.NewMemory() cfg := &offConfig.Config{ AppID: , AppSecret: , Token: "", EncodingAESKey: "", Cache: memory, } officialAccount := wc.GetOfficialAccount(cfg)
// 传入request和responseWriter server := officialAccount.GetServer(req, rw) //设置接收消息的处理方法 server.SetMessageHandler(func(msg *message.MixMessage) *message.Reply { fmt.Println("msg:", msg.Content) //回复消息:演示回复用户发送的消息 text := message.NewText("66666666") return &message.Reply{MsgType: message.MsgTypeText, MsgData: text} }) //处理消息接收以及回复 err := server.Serve() if err != nil { fmt.Println(err) return } //发送回复的消息 err = server.Send() if err != nil { fmt.Println(err) return }}
用户发的消息能接受到, 但是给用户返回消息,用户接受不到,也没有报错
后台打印如下: msg: 你好 DEBU[0042] request msg = 1651907954 23649635723088453 DEBU[0042] response msg =&{CommonToken:{XMLName:{Space: Local:} ToUserName:otUUv4_c7beX-2QNpxxE5Bpn FromUserName:gh_35a09267 CreateTime:1651907955 MsgType:text} Content:66666666}
使用的对象正确吗?
func main(){ http.HandleFunc("/", test) fmt.Println("wechat server listener at", ":8600") err := http.ListenAndServe(":8600", nil) if err != nil { fmt.Printf("start server error , err=%v", err) } } func test(rw http.ResponseWriter, req *http.Request) { //b, err := io.ReadAll(req.Body) fmt.Println(req.URL.String(), req.Method) wc := wechat.NewWechat() memory := cache.NewMemory() cfg := &offConfig.Config{ AppID: , AppSecret: , Token: "", EncodingAESKey: "", Cache: memory, } officialAccount := wc.GetOfficialAccount(cfg)
// 传入request和responseWriter server := officialAccount.GetServer(req, rw) //设置接收消息的处理方法 server.SetMessageHandler(func(msg *message.MixMessage) *message.Reply { fmt.Println("msg:", msg.Content) //回复消息:演示回复用户发送的消息 text := message.NewText("66666666") return &message.Reply{MsgType: message.MsgTypeText, MsgData: text} }) //处理消息接收以及回复 err := server.Serve() if err != nil { fmt.Println(err) return } //发送回复的消息 err = server.Send() if err != nil { fmt.Println(err) return }} 用户发的消息能接受到, 但是给用户返回消息,用户接受不到,也没有报错 后台打印如下: msg: 你好 DEBU[0042] request msg = 1651907954 23649635723088453 DEBU[0042] response msg =&{CommonToken:{XMLName:{Space: Local:} ToUserName:otUUv4_c7beX-2QNpxxE5Bpn FromUserName:gh_35a09267 CreateTime:1651907955 MsgType:text} Content:66666666}
使用的对象正确吗?
使用的对象?啥意思, 我用的是Readme.md 里面的例子
加上这行代码试试 server.SkipValidate(true)
server.SkipValidate(true) 还是一样