LocalStorage.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. using Microsoft.AspNetCore.Components;
  2. using Microsoft.JSInterop;
  3. namespace EasyTemplate.Tool.Util;
  4. /// <summary>
  5. /// 操作浏览器LocalStorage帮助类
  6. /// 注:需要在wwwroot下创建js文件夹,然后创建LocalStorage.js文件,并在App.razor中引入
  7. /// </summary>
  8. public class LocalStorage
  9. {
  10. public static string AutoLogin { get { return "_4F2iGsd_"; } }
  11. public static string UserInfo { get { return "_4F74k33_"; } }
  12. private readonly IJSRuntime _jsRuntime;
  13. public LocalStorage(IJSRuntime jsRuntime)
  14. {
  15. _jsRuntime = jsRuntime;
  16. }
  17. /// <summary>
  18. /// 设置LocalStorage
  19. /// </summary>
  20. /// <param name="key"></param>
  21. /// <param name="value"></param>
  22. /// <returns></returns>
  23. public async Task SetLocalStorage(string key, string value)
  24. {
  25. await _jsRuntime.InvokeVoidAsync("LocalStorageSet", key, value);
  26. }
  27. /// <summary>
  28. /// 获取LocalStorage
  29. /// </summary>
  30. /// <param name="key"></param>
  31. /// <returns></returns>
  32. public async Task<string> GetLocalStorage(string key)
  33. {
  34. return await _jsRuntime.InvokeAsync<string>("LocalStorageGet", key);
  35. }
  36. /// <summary>
  37. /// 删除LocalStorage
  38. /// </summary>
  39. /// <param name="key"></param>
  40. /// <returns></returns>
  41. public async Task RemoveLocalStorage(string key)
  42. {
  43. await _jsRuntime.InvokeVoidAsync("LocalStorageRemove", key);
  44. }
  45. }