|
@@ -54,6 +54,33 @@ func (wc *Client) getToken() (token string, err error) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+func (wc *Client) getTicket(now int64) (ticket string, err error) {
|
|
|
+ var jq *myth.JSONQuery
|
|
|
+ if wc.LastTicketTime > 0 {
|
|
|
+ if now-wc.LastTicketTime < TicketExpires {
|
|
|
+ ticket = wc.Ticket
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ args := url.Values{}
|
|
|
+ args.Add("access_token", wc.AccessToken)
|
|
|
+ args.Add("type", "jsapi")
|
|
|
+
|
|
|
+ uri := BaseURL + "/cgi-bin/ticket/getticket?"
|
|
|
+ uri += args.Encode()
|
|
|
+ if jq, err = getJSON(uri); err == nil {
|
|
|
+ ticket, err = jq.String(`ticket`)
|
|
|
+ wc.LastTicketTime = now
|
|
|
+ wc.Ticket = ticket
|
|
|
+
|
|
|
+ key := key(wc.AppID)
|
|
|
+ cache.Store(key, wc)
|
|
|
+ }
|
|
|
+
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
@@ -165,33 +192,6 @@ func (wc Client) GetMaterial(mtype string, offset, count int) (material Material
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-func (wc *Client) getTicket(now int64) (ticket string, err error) {
|
|
|
- var jq *myth.JSONQuery
|
|
|
- if wc.LastTicketTime > 0 {
|
|
|
- if now-wc.LastTokenTime < TokenExpires {
|
|
|
- ticket = wc.Ticket
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- args := url.Values{}
|
|
|
- args.Add("access_token", wc.AccessToken)
|
|
|
- args.Add("type", "jsapi")
|
|
|
-
|
|
|
- uri := BaseURL + "/cgi-bin/ticket/getticket?"
|
|
|
- uri += args.Encode()
|
|
|
- if jq, err = getJSON(uri); err == nil {
|
|
|
- ticket, err = jq.String(`ticket`)
|
|
|
- wc.LastTicketTime = now
|
|
|
- wc.Ticket = ticket
|
|
|
-
|
|
|
- key := key(wc.AppID)
|
|
|
- cache.Store(key, wc)
|
|
|
- }
|
|
|
-
|
|
|
- return
|
|
|
-}
|
|
|
-
|
|
|
|
|
|
|
|
|
|