mirror of
https://github.com/silenceper/wechat.git
synced 2026-02-04 21:02:25 +08:00
beb2f9506d5adb0f0e8c41e1cd8dff3b415ed172
* 添加微信客服SDK * polish:优化签名函数 * polish:优化注释内容 * polish:复用已有的Token以及CommonError,移除无用的输出 * polish:复用已有的消息加解密 * fix:修复错误信息被覆盖的问题 * polish:go fmt 文件 * polish:客服链接支持自定义参数并更新注释文档内容 * feat:支持微信客服回调请求的校验和消息的解析,复用原有的Signature和DecryptMsg方法 * feat:对外暴露SDKApiForbidden等错误 可以通过调用升级服务相关接口然后根据该错误判断微信客服配置来源 * feat:添加无效的open_kfid错误信息 * fix: 添加SDKApiNotOpen 错误信息 目前主要用于判断客户是否关闭了API授权,如果客户关闭了API功能导致服务异常,则可以引导用户执行相应的操作重新开启改功能 Co-authored-by: Afeyer <afeyer@h5base.cn>
WeChat SDK for Go
使用Golang开发的微信SDK,简单、易用。
当前版本为v2版本
文档 && 例子
快速开始
import "github.com/silenceper/wechat/v2"
以下是一个微信公众号处理消息接收以及回复的例子:
//使用memcache保存access_token,也可选择redis或自定义cache
wc := wechat.NewWechat()
memory := cache.NewMemory()
cfg := &offConfig.Config{
AppID: "xxx",
AppSecret: "xxx",
Token: "xxx",
//EncodingAESKey: "xxxx",
Cache: memory,
}
officialAccount := wc.GetOfficialAccount(cfg)
// 传入request和responseWriter
server := officialAccount.GetServer(req, rw)
//设置接收消息的处理方法
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()
目录说明
- officialaccount: 微信公众号API
- miniprogram: 小程序API
- minigame:小游戏API
- pay:微信支付API
- openplatform:开放平台API
- work:企业微信
- aispeech:智能对话
贡献
- 提交issue,描述需要贡献的内容
- 完成更改后,提交PR
公众号
License
Apache License, Version 2.0
Description
Languages
Go
98.7%
C++
0.8%
C
0.5%
