MaskSystemTextJsonConverter.cs 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. // 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
  2. //
  3. // 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
  4. using System.Text.Json;
  5. using System.Text.Json.Serialization;
  6. namespace Admin.NET.Core;
  7. /// <summary>
  8. /// 字符串掩码
  9. /// </summary>
  10. [SuppressSniffer]
  11. public class MaskSystemTextJsonConverter : JsonConverter<string>
  12. {
  13. public override string Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
  14. {
  15. return reader.GetString();
  16. }
  17. public override void Write(Utf8JsonWriter writer, string value, JsonSerializerOptions options)
  18. {
  19. writer.WriteStringValue(value?.ToString().Mask());
  20. }
  21. }
  22. /// <summary>
  23. /// 身份证掩码
  24. /// </summary>
  25. [SuppressSniffer]
  26. public class MaskIdCardSystemTextJsonConverter : JsonConverter<string>
  27. {
  28. public override string Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
  29. {
  30. return reader.GetString();
  31. }
  32. public override void Write(Utf8JsonWriter writer, string value, JsonSerializerOptions options)
  33. {
  34. writer.WriteStringValue(value?.ToString().MaskIdCard());
  35. }
  36. }
  37. /// <summary>
  38. /// 邮箱掩码
  39. /// </summary>
  40. [SuppressSniffer]
  41. public class MaskEmailSystemTextJsonConverter : JsonConverter<string>
  42. {
  43. public override string Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
  44. {
  45. return reader.GetString();
  46. }
  47. public override void Write(Utf8JsonWriter writer, string value, JsonSerializerOptions options)
  48. {
  49. writer.WriteStringValue(value?.ToString().MaskEmail());
  50. }
  51. }
  52. /// <summary>
  53. /// 银行卡号掩码
  54. /// </summary>
  55. [SuppressSniffer]
  56. public class MaskBankCardSystemTextJsonConverter : JsonConverter<string>
  57. {
  58. public override string Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
  59. {
  60. return reader.GetString();
  61. }
  62. public override void Write(Utf8JsonWriter writer, string value, JsonSerializerOptions options)
  63. {
  64. writer.WriteStringValue(value?.ToString().MaskBankCard());
  65. }
  66. }