using Furion.DistributedIDGenerator;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Caching.Distributed;
using Nirvana.Common;
using System;
using System.Drawing.Imaging;
using System.IO;
using System.Text;
using System.Threading.Tasks;
using YBDevice.NApi.Application.BusinessClient.AccountInfo;
namespace YBDevice.NApi.Controllers
{
///
/// 测试专用
///
public class TestController : Controller
{
private readonly IDeviceService _deviceService;
private readonly IAccountService _accountService;
private readonly IDistributedCache _cache;
private readonly IHttpContextAccessor _httpContextAccessor;
public TestController(IDeviceService deviceService,IAccountService accountService, IDistributedCache cache, IHttpContextAccessor httpContextAccessor)
{
_deviceService = deviceService;
_accountService = accountService;
_cache = cache;
_httpContextAccessor = httpContextAccessor;
}
///
/// 模拟设备测量
///
///
public async Task IndexAsync()
{
var devicelist = await _deviceService.GetListAsync();
return View(devicelist);
}
public IActionResult testid()
{
var id = IDGen.NextID();
return Content(id.ToString());
}
///
/// 生成二维码
///
///
///
public FileResult qr(string param)
{
var map = BarcodeHelper.QrCode(param, 230, 230);
MemoryStream ms = new MemoryStream();
map.Save(ms, ImageFormat.Jpeg);
return File(ms.ToArray(), "image/jpg");
}
public async Task aaAsync()
{
string a = "2342341";
byte[] aas = Encoding.UTF8.GetBytes(a);
await _cache.SetAsync("YBCupCache:Container:testkey", aas, new DistributedCacheEntryOptions().SetSlidingExpiration(TimeSpan.FromSeconds(60)));
await _cache.SetAsync("YBCupCache:Container:testkey1", aas, new DistributedCacheEntryOptions().SetSlidingExpiration(TimeSpan.FromSeconds(60)));
return Content("3");
}
///
/// YB_Result迁移到YB_nResult
///
public ActionResult Result2NewResult()
{
_deviceService.Result2NewResult();
return Content("333");
}
public IActionResult testurl(string a="123")
{
TempData["test"] = a;
return Redirect("testurl1");
}
public IActionResult testurl1()
{
var b = TempData["test"];
return Content($"返回值:{b.ToString()}");
}
public async Task TestRedisAsync()
{
var sn = "123";
var key = $"YBDeviceCache:Container:{sn}";
string param1 = "122132312313";
var param1byte = Encoding.UTF8.GetBytes(param1);
var options = new DistributedCacheEntryOptions().SetSlidingExpiration(TimeSpan.FromSeconds(5));
await _cache.SetAsync(key, param1byte, options);
return Content("3");
}
}
}