wechat icon indicating copy to clipboard operation
wechat copied to clipboard

[咨询]给用户回复消息收不到

Open moonlight6666 opened this issue 3 years ago • 4 comments

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 =<ToUserName></ToUserName> <FromUserName></FromUserName> <CreateTime>1651907954</CreateTime> <MsgType></MsgType> <Content></Content> <MsgId>23649635723088453</MsgId> DEBU[0042] response msg =&{CommonToken:{XMLName:{Space: Local:} ToUserName:otUUv4_c7beX-2QNpxxE5Bpn FromUserName:gh_35a09267 CreateTime:1651907955 MsgType:text} Content:66666666}

moonlight6666 avatar May 07 '22 07:05 moonlight6666

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}

使用的对象正确吗?

houseme avatar May 07 '22 07:05 houseme

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 里面的例子

moonlight6666 avatar May 07 '22 07:05 moonlight6666

加上这行代码试试 server.SkipValidate(true)

houseme avatar May 07 '22 07:05 houseme

server.SkipValidate(true) 还是一样

moonlight6666 avatar May 07 '22 08:05 moonlight6666