MaskNewtonsoftJsonConverter.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. // 大名科技(天津)有限公司 版权所有
  2. //
  3. // 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
  4. //
  5. // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动
  6. //
  7. // 任何基于本项目二次开发而产生的一切法律纠纷和责任,均与作者无关
  8. using Newtonsoft.Json;
  9. namespace Admin.NET.Core;
  10. /// <summary>
  11. /// 字符串掩码
  12. /// </summary>
  13. [SuppressSniffer]
  14. public class MaskNewtonsoftJsonConverter : JsonConverter<string>
  15. {
  16. public override string ReadJson(JsonReader reader, Type objectType, string existingValue, bool hasExistingValue, JsonSerializer serializer)
  17. {
  18. return reader.Value.ToString();
  19. }
  20. public override void WriteJson(JsonWriter writer, string value, JsonSerializer serializer)
  21. {
  22. writer.WriteValue(value?.ToString().Mask());
  23. }
  24. }
  25. /// <summary>
  26. /// 身份证掩码
  27. /// </summary>
  28. [SuppressSniffer]
  29. public class MaskIdCardNewtonsoftJsonConverter : JsonConverter<string>
  30. {
  31. public override string ReadJson(JsonReader reader, Type objectType, string existingValue, bool hasExistingValue, JsonSerializer serializer)
  32. {
  33. return reader.Value.ToString();
  34. }
  35. public override void WriteJson(JsonWriter writer, string value, JsonSerializer serializer)
  36. {
  37. writer.WriteValue(value?.ToString().MaskIdCard());
  38. }
  39. }
  40. /// <summary>
  41. /// 邮箱掩码
  42. /// </summary>
  43. [SuppressSniffer]
  44. public class MaskEmailNewtonsoftJsonConverter : JsonConverter<string>
  45. {
  46. public override string ReadJson(JsonReader reader, Type objectType, string existingValue, bool hasExistingValue, JsonSerializer serializer)
  47. {
  48. return reader.Value.ToString();
  49. }
  50. public override void WriteJson(JsonWriter writer, string value, JsonSerializer serializer)
  51. {
  52. writer.WriteValue(value?.ToString().MaskEmail());
  53. }
  54. }