github.com/qiniu/go-sdk/v7@v7.27.0/linking/deviceHistoryActivity.go (about)

     1  package linking
     2  
     3  import (
     4  	"context"
     5  	"encoding/base64"
     6  	"net/url"
     7  )
     8  
     9  // -----------------------------------------------------------------------------
    10  // 历史记录
    11  type DeviceHistoryItem struct {
    12  	LoginAt      int64  `json:"loginAt"`
    13  	LogoutAt     int64  `json:"logoutAt"`
    14  	RemoteIp     string `json:"remoteIp,omitempty"`
    15  	LogoutReason string `json:"logoutReason,omitempty"`
    16  }
    17  
    18  // 查询指定时间段内设备的在线记录
    19  func (manager *Manager) ListDeviceHistoryactivity(appid, dev string, start, end int, marker string, limit int) ([]DeviceHistoryItem, string, error) {
    20  	ret := struct {
    21  		Items  []DeviceHistoryItem `json:"items"`
    22  		Marker string              `json:"marker"`
    23  	}{}
    24  	dev = base64.URLEncoding.EncodeToString([]byte(dev))
    25  	query := url.Values{}
    26  	if limit > 0 {
    27  		setQuery(query, "limit", limit)
    28  	}
    29  	if marker != "" {
    30  		setQuery(query, "marker", marker)
    31  	}
    32  	setQuery(query, "start", start)
    33  	setQuery(query, "end", end)
    34  	err := manager.client.Call(context.Background(), &ret, "GET", manager.url("/apps/%s/devices/%s/historyactivity?%v", appid, dev, query.Encode()), nil)
    35  	if err != nil {
    36  		return nil, "", err
    37  	}
    38  	return ret.Items, ret.Marker, nil
    39  }