MaskNewtonsoftJsonConverter.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. // 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证。
  2. //
  3. // 必须在法律法规允许的范围内正确使用,严禁将其用于非法、欺诈、恶意或侵犯他人合法权益的目的。
  4. using Newtonsoft.Json;
  5. namespace Admin.NET.Core;
  6. /// <summary>
  7. /// 字符串掩码
  8. /// </summary>
  9. [SuppressSniffer]
  10. public class MaskNewtonsoftJsonConverter : JsonConverter<string>
  11. {
  12. public override string ReadJson(JsonReader reader, Type objectType, string existingValue, bool hasExistingValue, JsonSerializer serializer)
  13. {
  14. return reader.Value.ToString();
  15. }
  16. public override void WriteJson(JsonWriter writer, string value, JsonSerializer serializer)
  17. {
  18. writer.WriteValue(value?.ToString().Mask());
  19. }
  20. }
  21. /// <summary>
  22. /// 身份证掩码
  23. /// </summary>
  24. [SuppressSniffer]
  25. public class MaskIdCardNewtonsoftJsonConverter : JsonConverter<string>
  26. {
  27. public override string ReadJson(JsonReader reader, Type objectType, string existingValue, bool hasExistingValue, JsonSerializer serializer)
  28. {
  29. return reader.Value.ToString();
  30. }
  31. public override void WriteJson(JsonWriter writer, string value, JsonSerializer serializer)
  32. {
  33. writer.WriteValue(value?.ToString().MaskIdCard());
  34. }
  35. }
  36. /// <summary>
  37. /// 邮箱掩码
  38. /// </summary>
  39. [SuppressSniffer]
  40. public class MaskEmailNewtonsoftJsonConverter : JsonConverter<string>
  41. {
  42. public override string ReadJson(JsonReader reader, Type objectType, string existingValue, bool hasExistingValue, JsonSerializer serializer)
  43. {
  44. return reader.Value.ToString();
  45. }
  46. public override void WriteJson(JsonWriter writer, string value, JsonSerializer serializer)
  47. {
  48. writer.WriteValue(value?.ToString().MaskEmail());
  49. }
  50. }