Blame view

Yi.Abp.Net8/framework/Yi.Framework.WeChat.MiniProgram/Token/CacheMiniProgramToken.cs 901 Bytes
515fceeb   “wangming”   框架初始化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
  using Microsoft.Extensions.Caching.Distributed;
  using Microsoft.Extensions.Options;
  using Volo.Abp.Caching;
  
  namespace Yi.Framework.WeChat.MiniProgram.Token;
  
  internal class CacheMiniProgramToken : DefaultMinProgramToken, IMiniProgramToken
  {
      private IDistributedCache<string> _cache;
      private const string CacheKey = "MiniProgramToken";
  
      public CacheMiniProgramToken(IOptions<WeChatMiniProgramOptions> options, IDistributedCache<string> cache) :
          base(options)
      {
          _cache = cache;
      }
  
      public async Task<string> GetTokenAsync()
      {
          return await _cache.GetOrAddAsync("MiniProgramToken", async () => { return await base.GetTokenAsync(); }, () =>
          {
              return new DistributedCacheEntryOptions()
              {
                  AbsoluteExpirationRelativeToNow = TimeSpan.FromHours(2) - TimeSpan.FromMinutes(1)
              };
          });
      }
  }