SysConfig.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Security.Policy;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. public static class SysConfig
  9. {
  10. public static DateTime ToUtc(this DateTime time)
  11. {
  12. return time.AddHours(-AppConfigHelper.Get("TimeZone", 8));
  13. }
  14. public static DateTime ToLocal(this DateTime utcTime)
  15. {
  16. return utcTime.AddHours(AppConfigHelper.Get("TimeZone", 8));
  17. }
  18. public static DateTimeOffset ToLocal(this DateTimeOffset utcTime)
  19. {
  20. return utcTime.ToOffset(TimeSpan.FromHours(AppConfigHelper.Get("TimeZone", 8)));
  21. }
  22. public static string GetBaseUrl()
  23. {
  24. return $"http://{IpHelper.GetLocalIp()}:{AppConfigHelper.Get("HttpPort", 8090)}/api/";
  25. }
  26. public static string GetUrl(string url, string baseUrl = null)
  27. {
  28. if (url.ToLower().StartsWith("http"))
  29. {
  30. return url;
  31. }
  32. else
  33. {
  34. if (url.StartsWith("/"))
  35. {
  36. url = url.Substring(1);
  37. }
  38. if (string.IsNullOrWhiteSpace(baseUrl))
  39. return $"{GetBaseUrl()}{url}";
  40. else
  41. {
  42. if (!baseUrl.EndsWith("/"))
  43. baseUrl = $"{baseUrl}/";
  44. return $"{baseUrl}{url}";
  45. }
  46. }
  47. }
  48. }