mirror of
https://github.com/silenceper/wechat.git
synced 2026-02-12 00:32:26 +08:00
update travis
This commit is contained in:
66
README.md
66
README.md
@@ -1,5 +1,5 @@
|
|||||||
# WeChat SDK for Go
|
# WeChat SDK for Go
|
||||||
[](https://travis-ci.org/silenceper/wechat)
|
[](https://travis-ci.org/silenceper/wechat)
|
||||||
|
|
||||||
使用Golang开发的微信SDK,简单、易用。
|
使用Golang开发的微信SDK,简单、易用。
|
||||||
|
|
||||||
@@ -17,7 +17,7 @@ config := &wechat.Config{
|
|||||||
}
|
}
|
||||||
wc := wechat.NewWechat(config)
|
wc := wechat.NewWechat(config)
|
||||||
|
|
||||||
// 传入request和responseWriter
|
// 传入request和responseWriter
|
||||||
server := wc.GetServer(request, responseWriter)
|
server := wc.GetServer(request, responseWriter)
|
||||||
server.SetMessageHandler(func(msg message.MixMessage) *message.Reply {
|
server.SetMessageHandler(func(msg message.MixMessage) *message.Reply {
|
||||||
|
|
||||||
@@ -74,9 +74,9 @@ type MixMessage struct {
|
|||||||
Latitude string `xml:"Latitude"`
|
Latitude string `xml:"Latitude"`
|
||||||
Longitude string `xml:"Longitude"`
|
Longitude string `xml:"Longitude"`
|
||||||
Precision string `xml:"Precision"`
|
Precision string `xml:"Precision"`
|
||||||
|
|
||||||
MenuID string `xml:"MenuId"`
|
MenuID string `xml:"MenuId"`
|
||||||
|
|
||||||
//扫码事件
|
//扫码事件
|
||||||
ScanCodeInfo struct {
|
ScanCodeInfo struct {
|
||||||
ScanType string `xml:"ScanType"`
|
ScanType string `xml:"ScanType"`
|
||||||
@@ -88,7 +88,7 @@ type MixMessage struct {
|
|||||||
Count int32 `xml:"Count"`
|
Count int32 `xml:"Count"`
|
||||||
PicList []EventPic `xml:"PicList>item"`
|
PicList []EventPic `xml:"PicList>item"`
|
||||||
} `xml:"SendPicsInfo"`
|
} `xml:"SendPicsInfo"`
|
||||||
|
|
||||||
//发送地理位置事件
|
//发送地理位置事件
|
||||||
SendLocationInfo struct {
|
SendLocationInfo struct {
|
||||||
LocationX float64 `xml:"Location_X"`
|
LocationX float64 `xml:"Location_X"`
|
||||||
@@ -144,7 +144,7 @@ server.SetMessageHandler(func(v message.MixMessage) *message.Reply {
|
|||||||
|
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
### 接收事件推送
|
### 接收事件推送
|
||||||
```go
|
```go
|
||||||
@@ -154,51 +154,51 @@ case message.MsgTypeEvent:
|
|||||||
//EventSubscribe 订阅
|
//EventSubscribe 订阅
|
||||||
case message.EventSubscribe:
|
case message.EventSubscribe:
|
||||||
//do something
|
//do something
|
||||||
|
|
||||||
//取消订阅
|
//取消订阅
|
||||||
case message.EventUnsubscribe:
|
case message.EventUnsubscribe:
|
||||||
//do something
|
//do something
|
||||||
|
|
||||||
//用户已经关注公众号,则微信会将带场景值扫描事件推送给开发者
|
//用户已经关注公众号,则微信会将带场景值扫描事件推送给开发者
|
||||||
case message.EventScan:
|
case message.EventScan:
|
||||||
//do something
|
//do something
|
||||||
|
|
||||||
// 上报地理位置事件
|
// 上报地理位置事件
|
||||||
case message.EventLocation:
|
case message.EventLocation:
|
||||||
//do something
|
//do something
|
||||||
|
|
||||||
// 点击菜单拉取消息时的事件推送
|
// 点击菜单拉取消息时的事件推送
|
||||||
case message.EventClick:
|
case message.EventClick:
|
||||||
//do something
|
//do something
|
||||||
|
|
||||||
// 点击菜单跳转链接时的事件推送
|
// 点击菜单跳转链接时的事件推送
|
||||||
case message.EventView:
|
case message.EventView:
|
||||||
//do something
|
//do something
|
||||||
|
|
||||||
// 扫码推事件的事件推送
|
// 扫码推事件的事件推送
|
||||||
case message.EventScancodePush:
|
case message.EventScancodePush:
|
||||||
//do something
|
//do something
|
||||||
|
|
||||||
// 扫码推事件且弹出“消息接收中”提示框的事件推送
|
// 扫码推事件且弹出“消息接收中”提示框的事件推送
|
||||||
case message.EventScancodeWaitmsg:
|
case message.EventScancodeWaitmsg:
|
||||||
//do something
|
//do something
|
||||||
|
|
||||||
// 弹出系统拍照发图的事件推送
|
// 弹出系统拍照发图的事件推送
|
||||||
case message.EventPicSysphoto:
|
case message.EventPicSysphoto:
|
||||||
//do something
|
//do something
|
||||||
|
|
||||||
// 弹出拍照或者相册发图的事件推送
|
// 弹出拍照或者相册发图的事件推送
|
||||||
case message.EventPicPhotoOrAlbum:
|
case message.EventPicPhotoOrAlbum:
|
||||||
//do something
|
//do something
|
||||||
|
|
||||||
// 弹出微信相册发图器的事件推送
|
// 弹出微信相册发图器的事件推送
|
||||||
case message.EventPicWeixin:
|
case message.EventPicWeixin:
|
||||||
//do something
|
//do something
|
||||||
|
|
||||||
// 弹出地理位置选择器的事件推送
|
// 弹出地理位置选择器的事件推送
|
||||||
case message.EventLocationSelect:
|
case message.EventLocationSelect:
|
||||||
//do something
|
//do something
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -287,10 +287,10 @@ Url :点击图文消息跳转链接
|
|||||||
|
|
||||||
```go
|
```go
|
||||||
mu := wc.GetMenu(c.Request, c.Writer)
|
mu := wc.GetMenu(c.Request, c.Writer)
|
||||||
|
|
||||||
buttons := make([]*menu.Button, 1)
|
buttons := make([]*menu.Button, 1)
|
||||||
btn := new(menu.Button)
|
btn := new(menu.Button)
|
||||||
|
|
||||||
//创建click类型菜单
|
//创建click类型菜单
|
||||||
btn.SetClickButton("name", "key123")
|
btn.SetClickButton("name", "key123")
|
||||||
buttons[0] = btn
|
buttons[0] = btn
|
||||||
@@ -301,7 +301,7 @@ btn2.SetSubButton("subButton", buttons)
|
|||||||
|
|
||||||
buttons2 := make([]*menu.Button, 1)
|
buttons2 := make([]*menu.Button, 1)
|
||||||
buttons2[0] = btn2
|
buttons2[0] = btn2
|
||||||
|
|
||||||
//发送请求
|
//发送请求
|
||||||
err := mu.SetMenu(buttons2)
|
err := mu.SetMenu(buttons2)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -318,10 +318,10 @@ if err != nil {
|
|||||||
func (btn *Button) SetViewButton(name, url string)
|
func (btn *Button) SetViewButton(name, url string)
|
||||||
|
|
||||||
// SetScanCodePushButton 扫码推事件
|
// SetScanCodePushButton 扫码推事件
|
||||||
func (btn *Button) SetScanCodePushButton(name, key string)
|
func (btn *Button) SetScanCodePushButton(name, key string)
|
||||||
|
|
||||||
//SetScanCodeWaitMsgButton 设置 扫码推事件且弹出"消息接收中"提示框
|
//SetScanCodeWaitMsgButton 设置 扫码推事件且弹出"消息接收中"提示框
|
||||||
func (btn *Button) SetScanCodeWaitMsgButton(name, key string)
|
func (btn *Button) SetScanCodeWaitMsgButton(name, key string)
|
||||||
|
|
||||||
//SetPicSysPhotoButton 设置弹出系统拍照发图按钮
|
//SetPicSysPhotoButton 设置弹出系统拍照发图按钮
|
||||||
func (btn *Button) SetPicSysPhotoButton(name, key string)
|
func (btn *Button) SetPicSysPhotoButton(name, key string)
|
||||||
@@ -330,13 +330,13 @@ func (btn *Button) SetPicSysPhotoButton(name, key string)
|
|||||||
func (btn *Button) SetPicPhotoOrAlbumButton(name, key string) {
|
func (btn *Button) SetPicPhotoOrAlbumButton(name, key string) {
|
||||||
|
|
||||||
// SetPicWeixinButton 设置弹出微信相册发图器类型按钮
|
// SetPicWeixinButton 设置弹出微信相册发图器类型按钮
|
||||||
func (btn *Button) SetPicWeixinButton(name, key string)
|
func (btn *Button) SetPicWeixinButton(name, key string)
|
||||||
|
|
||||||
// SetLocationSelectButton 设置 弹出地理位置选择器 类型按钮
|
// SetLocationSelectButton 设置 弹出地理位置选择器 类型按钮
|
||||||
func (btn *Button) SetLocationSelectButton(name, key string)
|
func (btn *Button) SetLocationSelectButton(name, key string)
|
||||||
|
|
||||||
//SetMediaIDButton 设置 下发消息(除文本消息) 类型按钮
|
//SetMediaIDButton 设置 下发消息(除文本消息) 类型按钮
|
||||||
func (btn *Button) SetMediaIDButton(name, mediaID string)
|
func (btn *Button) SetMediaIDButton(name, mediaID string)
|
||||||
|
|
||||||
//SetViewLimitedButton 设置 跳转图文消息URL 类型按钮
|
//SetViewLimitedButton 设置 跳转图文消息URL 类型按钮
|
||||||
func (btn *Button) SetViewLimitedButton(name, mediaID string) {
|
func (btn *Button) SetViewLimitedButton(name, mediaID string) {
|
||||||
@@ -360,21 +360,21 @@ err:=mu.DeleteMenu()
|
|||||||
|
|
||||||
### 自定义菜单事件推送
|
### 自定义菜单事件推送
|
||||||
|
|
||||||
请参考 消息管理 - 事件推送
|
请参考 消息管理 - 事件推送
|
||||||
|
|
||||||
### 个性化菜单接口
|
### 个性化菜单接口
|
||||||
**添加个性化菜单**
|
**添加个性化菜单**
|
||||||
|
|
||||||
```go
|
```go
|
||||||
|
|
||||||
func (menu *Menu) AddConditional(buttons []*Button, matchRule *MatchRule) error
|
func (menu *Menu) AddConditional(buttons []*Button, matchRule *MatchRule) error
|
||||||
```
|
```
|
||||||
|
|
||||||
**删除个性化菜单**
|
**删除个性化菜单**
|
||||||
|
|
||||||
```go
|
```go
|
||||||
//删除个性化菜单
|
//删除个性化菜单
|
||||||
func (menu *Menu) DeleteConditional(menuID int64) error
|
func (menu *Menu) DeleteConditional(menuID int64) error
|
||||||
|
|
||||||
```
|
```
|
||||||
**测试个性化菜单匹配结果**
|
**测试个性化菜单匹配结果**
|
||||||
@@ -389,7 +389,7 @@ func (menu *Menu) MenuTryMatch(userID string) (buttons []Button, err error) {
|
|||||||
|
|
||||||
```go
|
```go
|
||||||
//获取自定义菜单配置接口
|
//获取自定义菜单配置接口
|
||||||
func (menu *Menu) GetCurrentSelfMenuInfo() (resSelfMenuInfo ResSelfMenuInfo, err error)
|
func (menu *Menu) GetCurrentSelfMenuInfo() (resSelfMenuInfo ResSelfMenuInfo, err error)
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -437,7 +437,7 @@ fmt.Println(userInfo)
|
|||||||
**刷新access_token**
|
**刷新access_token**
|
||||||
|
|
||||||
```go
|
```go
|
||||||
func (oauth *Oauth) RefreshAccessToken(refreshToken string) (result ResAccessToken, err error)
|
func (oauth *Oauth) RefreshAccessToken(refreshToken string) (result ResAccessToken, err error)
|
||||||
|
|
||||||
```
|
```
|
||||||
**检验access_token是否有效**
|
**检验access_token是否有效**
|
||||||
@@ -475,7 +475,7 @@ type Config struct {
|
|||||||
|
|
||||||
|
|
||||||
更多API使用请参考 godoc :
|
更多API使用请参考 godoc :
|
||||||
[https://godoc.org/github.com/silenceper/wechat](https://godoc.org/github.com/silenceper/wechat)
|
[https://godoc.org/github.com/silenceper/wechat](https://godoc.org/github.com/silenceper/wechat)
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user