LocalStorage.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using Microsoft.AspNetCore.Components;
  2. using Microsoft.JSInterop;
  3. namespace AI.Platform.Core.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. try
  35. {
  36. return await _jsRuntime.InvokeAsync<string>("LocalStorageGet", key);
  37. }
  38. catch (Exception ex)
  39. {
  40. }
  41. return null;
  42. }
  43. /// <summary>
  44. /// 删除LocalStorage
  45. /// </summary>
  46. /// <param name="key"></param>
  47. /// <returns></returns>
  48. public async Task RemoveLocalStorage(string key)
  49. {
  50. try
  51. {
  52. await _jsRuntime.InvokeVoidAsync("LocalStorageRemove", key);
  53. }
  54. catch (Exception ex) {
  55. }
  56. }
  57. }