53 lines
1.1 KiB
Go
53 lines
1.1 KiB
Go
![]() |
package gravity
|
||
|
|
||
|
import (
|
||
|
"github.com/oylshe1314/framework/errors"
|
||
|
"github.com/oylshe1314/framework/util"
|
||
|
"net/http"
|
||
|
"net/url"
|
||
|
)
|
||
|
|
||
|
func eventCollect(accessToken string, clientId string, clientIp string, event *Event) error {
|
||
|
var reqUrl, err = url.Parse(apiUri)
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
|
||
|
reqUrl = reqUrl.JoinPath(apiEventCollect)
|
||
|
|
||
|
var query = url.Values{}
|
||
|
query.Add("access_token", accessToken)
|
||
|
|
||
|
reqUrl.RawQuery = query.Encode()
|
||
|
|
||
|
var req = MsgEventCollectReq{
|
||
|
ClientId: clientId,
|
||
|
ClientIp: clientIp,
|
||
|
ClientUa: "",
|
||
|
EventList: Events{event},
|
||
|
}
|
||
|
|
||
|
var header = http.Header{}
|
||
|
header.Add("Turbo-Debug-Mode", "1")
|
||
|
|
||
|
var ack = new(MsgEventCollectAck)
|
||
|
err = util.HttpJsonPost(reqUrl.String(), req, ack, header)
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
|
||
|
if ack.Code != 0 {
|
||
|
return errors.Error(ack.Msg)
|
||
|
}
|
||
|
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
func WechatEventCollect(clientId string, clientIp string, event *Event) error {
|
||
|
return eventCollect(wechatAccessToken, clientId, clientIp, event)
|
||
|
}
|
||
|
|
||
|
func TapTapEventCollect(clientId string, clientIp string, event *Event) error {
|
||
|
return eventCollect(tapTapAccessToken, clientId, clientIp, event)
|
||
|
}
|