///// <summary> ///// 获取js 接口 Ticket ///// 内部已经处理缓存 ///// </summary> ///// <param name="type"></param> ///// <returns></returns> //public async Task<WXGetJsTicketResp> GetJsTicketFromCacheAsync(WXJsTicketType type) //{ // var key = string.Format(WXCacheKeysHelper.OffcialJsTicketKey, appConfig.AppId, type); // var ticket =await CacheHelper.GetAsync<WXGetJsTicketResp>(key, WXPlatConfigProvider.CacheSourceName); // if (ticket != null && ticket.expires_time > DateTime.Now) // return ticket; // var ticketRes =await GetJsTicketFromWXAsync(type); // if (!ticketRes.IsSuccess()) // return ticketRes; // ticketRes.expires_time = DateTime.Now.AddSeconds(ticketRes.expires_in); // await CacheHelper.SetAbsoluteAsync(key, ticketRes, TimeSpan.FromSeconds(ticketRes.expires_in - 10), WXPlatConfigProvider.CacheSourceName); // return ticketRes; //} /// <summary> /// 获取js 接口 Ticket,请注意访问速率控制 /// </summary> /// <param name="type"></param> /// <returns></returns> public async Task <WXGetJsTicketResp> GetJsTicketFromWXAsync(WXJsTicketType type) { var req = new OssHttpRequest { HttpMethod = HttpMethod.Get, AddressUrl = string.Concat(m_ApiUrl, "/cgi-bin/ticket/getticket?type=", type.ToString()) }; return(await RestCommonPlatAsync <WXGetJsTicketResp>(req)); }
/// <summary> /// 获取js 接口 Ticket /// 内部已经处理缓存 /// </summary> /// <param name="type"></param> /// <returns></returns> public async Task <WXGetJsTicketResp> GetJsTicketFromCacheAsync(WXJsTicketType type) { var key = string.Format(WXCacheKeysHelper.OffcialJsTicketKey, ApiConfig.AppId, type); var ticket = CacheHelper.Get <WXGetJsTicketResp>(key, WXPlatConfigProvider.ModuleName); if (ticket != null && ticket.expires_time > DateTime.Now) { return(ticket); } var ticketRes = await GetJsTicketFromWXAsync(type); if (!ticketRes.IsSuccess()) { return(ticketRes); } ticketRes.expires_time = DateTime.Now.AddSeconds(ticketRes.expires_in); CacheHelper.Set(key, ticketRes, TimeSpan.FromSeconds(ticketRes.expires_in - 10), WXPlatConfigProvider.ModuleName); return(ticketRes); }