微信第三方包的使用问题

2021-03-03 09:29:41 +08:00
 awanganddong

以下是我在 github 找到 star 最高的微信包 在使用过程中不知道 responseWriter 这个传参应该是什么

框架用的是 gin

c.Request 是接受请求参数 responseWriter 就不知道了

func Notify(c *gin.Context) {
	wc := setting.InitWechat()
	cfg := &offConfig.Config{
		AppID:          setting.Cfg.Section("wechat").Key("app_id").String(),
		AppSecret:      setting.Cfg.Section("wechat").Key("app_secret").String(),
		Token:          setting.Cfg.Section("wechat").Key("token").String(),
		EncodingAESKey: setting.Cfg.Section("wechat").Key("encoding_aes_key").String(),
	}
	officialAccount := wc.GetOfficialAccount(cfg)
	// 传入 request 和 responseWriter
	server := officialAccount.GetServer(c.Request, )
	//设置接收消息的处理方法
	server.SetMessageHandler(func(msg message.MixMessage) *message.Reply {

		//回复消息:演示回复用户发送的消息
		text := message.NewText(msg.Content)
		return &message.Reply{MsgType: message.MsgTypeText, MsgData: text}
	})

	//处理消息接收以及回复
	err := server.Serve()
	if err != nil {
		fmt.Println(err)
		return
	}
	//发送回复的消息
	server.Send()
}

1935 次点击
所在节点    Go 编程语言
8 条回复
cryingsky
2021-03-03 10:04:17 +08:00
c.Writer
sadfQED2
2021-03-03 10:07:09 +08:00
我没用过你这个框架,我盲猜你这里需要传入一个 Reader 流指针吧,你点进去看一眼这个参数的类型不就知道了

如果是需要 Reader 指针的话你可以试试

bytes.NewReader([]byte("这里是文本内容"))
jay777
2021-03-03 10:33:27 +08:00
传 ctx.Writer,它实现了 gin.ResponseWriter 接口
awanganddong
2021-03-03 11:09:07 +08:00
明白了,谢谢大家
```
writermem responseWriter
Request *http.Request
Writer ResponseWriter

```
zibber
2021-03-03 16:09:51 +08:00
这个包不太全
awanganddong
2021-03-03 16:39:28 +08:00
@zibber 可以推荐下你用过比较好的,现在从 php 转 go 。
私底下先走通下。
zibber
2021-03-04 11:46:37 +08:00
@awanganddong
wx 用的 github.com /iGoogle-ink/gopay/wechat v3 是自己写的
ali 用的 github.com /smartwalle/alipay
awanganddong
2021-03-05 09:05:00 +08:00
@zibber 感谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/757851

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX