34 lines
741 B
Go
34 lines
741 B
Go
package wx
|
|
|
|
import (
|
|
"context"
|
|
"github.com/gogf/gf/v2/os/glog"
|
|
|
|
"server/api/auth/v1"
|
|
)
|
|
|
|
func (c *ControllerV1) WeChatEvent(ctx context.Context, req *v1.WeChatEventReq) (res *v1.WeChatEventRes, err error) {
|
|
// 收到微信订阅事件
|
|
glog.Infof(ctx,
|
|
"微信消息推送:时间=%d, 消息类型=%s, 事件=%s, 事件Key=%s",
|
|
req.CreateTime,
|
|
req.MsgType,
|
|
req.Event,
|
|
req.EventKey,
|
|
)
|
|
// 根据事件类型进行不同的处理:
|
|
switch req.MsgType {
|
|
case "event":
|
|
switch req.Event {
|
|
case "subscribe":
|
|
// 未关注,扫描关注后, 注册账号,关联微信的 open_id
|
|
case "SCAN":
|
|
// 已关注,扫描后,根据 open_id 查找用户生成 token
|
|
default:
|
|
// 处理其他事件
|
|
}
|
|
}
|
|
return nil, nil
|
|
|
|
}
|