public string GetJsApiTicket() { if (string.IsNullOrEmpty(mJsApiTicket) || mJsApiTicketExpiredTime <= DateTime.Now) { JsApiTicketGetResponse response = null; DateTime timenow = DateTime.MinValue; int retry = 0; do { timenow = DateTime.Now; IMpClient mpClient = new MpClient(); JsApiTicketGetRequest request = new JsApiTicketGetRequest() { AppIdInfo = new AppIdInfo() { AppID = mAppId, AppSecret = mAppSecret }, AccessToken = this.GetAccessToken(), }; response = mpClient.Execute(request); if (!RefreshAccessToken(response, request.AccessToken)) { break; } retry++; } while (retry < 2 && response.IsError); if (response.IsError) { string msg = string.Format("获取JsApiTicket失败。 Code:{0},Msg:{1}", response.ErrInfo.ErrCode, response.ErrInfo.ErrMsg); LogHelper.WriteError(LogModule, msg, null); throw new ApplicationException(msg); } else { mJsApiTicket = response.Ticket.Ticket; mJsApiTicketExpiredTime = timenow.AddSeconds(response.Ticket.ExpiresIn).AddMinutes(-10); } } return(mJsApiTicket); }
public ApiResult <JsApiTicketGetResponse> Execute(JsApiTicketGetRequest request) { return(Execute <JsApiTicketGetRequest, JsApiTicketGetResponse>("/cgi/jsApiTicket/get", request)); }