| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- package checkin
- import (
- "fmt"
- "github.com/silenceper/wechat/v2/util"
- )
- const (
- // getCheckinDataURL 获取打卡记录数据
- getCheckinDataURL = "https://qyapi.weixin.qq.com/cgi-bin/checkin/getcheckindata?access_token=%s"
- )
- type (
- // GetCheckinDataRequest 获取打卡记录数据请求
- GetCheckinDataRequest struct {
- OpenCheckinDataType int64 `json:"opencheckindatatype"`
- StartTime int64 `json:"starttime"`
- EndTime int64 `json:"endtime"`
- UserIDList []string `json:"useridlist"`
- }
- // GetCheckinDataResponse 获取打卡记录数据响应
- GetCheckinDataResponse struct {
- util.CommonError
- CheckinData []*GetCheckinDataItem `json:"checkindata"`
- }
- // GetCheckinDataItem 打卡记录数据
- GetCheckinDataItem struct {
- UserID string `json:"userid"`
- GroupName string `json:"groupname"`
- CheckinType string `json:"checkin_type"`
- ExceptionType string `json:"exception_type"`
- CheckinTime int64 `json:"checkin_time"`
- LocationTitle string `json:"location_title"`
- LocationDetail string `json:"location_detail"`
- WifiName string `json:"wifiname"`
- Notes string `json:"notes"`
- WifiMac string `json:"wifimac"`
- MediaIDs []string `json:"mediaids"`
- SchCheckinTime int64 `json:"sch_checkin_time"`
- GroupID int64 `json:"groupid"`
- ScheduleID int64 `json:"schedule_id"`
- TimelineID int64 `json:"timeline_id"`
- Lat int64 `json:"lat,omitempty"`
- Lng int64 `json:"lng,omitempty"`
- DeviceID string `json:"deviceid,omitempty"`
- }
- )
- // GetCheckinData 获取打卡记录数据
- // @see https://developer.work.weixin.qq.com/document/path/90262
- func (r *Client) GetCheckinData(req *GetCheckinDataRequest) (*GetCheckinDataResponse, error) {
- var (
- accessToken string
- err error
- )
- if accessToken, err = r.GetAccessToken(); err != nil {
- return nil, err
- }
- var response []byte
- if response, err = util.PostJSON(fmt.Sprintf(getCheckinDataURL, accessToken), req); err != nil {
- return nil, err
- }
- result := &GetCheckinDataResponse{}
- if err = util.DecodeWithError(response, result, "GetCheckinData"); err != nil {
- return nil, err
- }
- return result, nil
- }
|