Routemanage类方法详解

  1 using System;
  2 using System.Collections.Generic;
  3 using System.IO;
  4 using System.Linq;
  5 using System.Reflection;
  6 using System.Text;
  7 using System.Threading.Tasks;
  8 using System.Web;
  9 
 10 namespace JCBJ.Route
 11 {
 12     /// <summary>获取相应域名下静态资源文件管理</summary>
 13     public class RouteManage
 14     {
 15         private static DebugFlag debugOnline;
 16 
 17         /// <summary>
 18         /// 开关,是否开启本地调试online资源
 19         /// </summary>
 20         public static bool DebugSwitch { get; set; }
 21 
 22 
 23         private static DebugFlag checkDebugFlag()
 24         {
 25             if (!DebugSwitch)
 26                 DebugSwitch = HttpContext.Current.Request.Url.Host != "localhost";
 27 
 28             switch (DebugSwitch)
 29             {
 30                 case true:
 31                     debugOnline = DebugFlag.online;
 32                     break;
 33                 case false:
 34                     debugOnline = DebugFlag.local;
 35                     break;
 36             }
 37 
 38             return debugOnline;
 39 
 40         }
 41 
 42         /// <summary> 获取相应域名下的样式文件 </summary>
 43         /// <param name="domainName">当前域名(DomainFlag枚举)</param>
 44         /// <param name="CSSName">样式文件名称,支持多个文件用逗号分隔,不用扩展名</param>
 45         /// <returns></returns>
 46         public static Dictionary<string, string> CSS(DomainFlag domainName, string CSSName)
 47         {
 48             string[] _CSSName = CSSName.Split(',');
 49             Dictionary<string, string> cssUrl = new Dictionary<string, string>();
 50             for (int i = 0; i < _CSSName.Length; i++)
 51             {
 52                 cssUrl.Add(_CSSName[i], DomainAddress.Static + "/" + checkDebugFlag() + "/" + domainName.ToString() + "/css/" + _CSSName[i] + ".css");
 53             }
 54             return cssUrl;
 55         }
 56 
 57         /// <summary>获取相应域名下的JS文件</summary>
 58         /// <param name="domainName">当前域名(DomainFlag枚举)</param>
 59         /// <param name="JSName">JS文件名称,支持多个文件用逗号分隔,不用扩展名</param>
 60         /// <returns></returns>
 61         public static Dictionary<string, string> Script(DomainFlag domainName, string JSName)
 62         {
 63             string[] _JSName = JSName.Split(',');
 64             Dictionary<string, string> JSUrl = new Dictionary<string, string>();
 65             for (int i = 0; i < _JSName.Length; i++)
 66             {
 67                 JSUrl.Add(_JSName[i], DomainAddress.Static + "/" + checkDebugFlag() + "/" + domainName.ToString() + "/scripts/" + _JSName[i] + ".js");
 68             }
 69             return JSUrl;
 70         }
 71 
 72         /// <summary>获取公共JS文件</summary>
 73         /// <param name="JSName">JS文件名称,支持多个文件用逗号分隔,不用扩展名</param>
 74         /// <returns></returns>
 75         public static Dictionary<string, string> PubScript(string JSName)
 76         {
 77             string[] _JSName = JSName.Split(',');
 78             Dictionary<string, string> JSUrl = new Dictionary<string, string>();
 79             for (int i = 0; i < _JSName.Length; i++)
 80             {
 81                 JSUrl.Add(_JSName[i], DomainAddress.Static + "/scripts/" + _JSName[i] + ".js");
 82             }
 83             return JSUrl;
 84         }
 85 
 86         /// <summary>获取公共资源文件</summary>
 87         /// <param name="filePath">文件路径</param>
 88         /// <param name="fileName">要引用的文件,带后缀</param>
 89         /// <returns></returns>
 90         public static Dictionary<string, string> PubScript(string filePath, string fileName)
 91         {
 92             //  filePath: /Scripts/Arale/artDialog/css/
 93             //  fileName: ui-dialog.css
 94             string[] _FileName = fileName.Split(',');
 95             Dictionary<string, string> fileUrl = new Dictionary<string, string>();
 96             for (int i = 0; i < _FileName.Length; i++)
 97             {
 98                 fileUrl.Add(_FileName[i], DomainAddress.Static + filePath + _FileName[i]);
 99             }
100             return fileUrl;
101         }
102 
103         /// <summary> 获取相应域名下的图片文件</summary>
104         /// <param name="domainName">当前域名(DomainFlag枚举)</param>
105         /// <param name="imgName">图片文件名且带扩展名,支持多个文件用逗号分隔</param>
106         /// <returns></returns>
107         public static Dictionary<string, string> Image(DomainFlag domainName, string imgName)
108         {
109             string[] _imgName = imgName.Split(',');
110 
111             Dictionary<string, string> imgUrl = new Dictionary<string, string>();
112             for (int i = 0; i < _imgName.Length; i++)
113             {
114                 imgUrl.Add(_imgName[i], DomainAddress.Static + "/" + checkDebugFlag() + "/" + domainName.ToString() + "/Images/" + _imgName[i]);
115             }
116             return imgUrl;
117         }
118 
119         /// <summary> 获取相应域名下的静态页面 </summary>
120         /// <param name="domainName">当前域名(DomainFlag枚举)</param>
121         /// <param name="htmlName">页面文件名且带扩展名</param>
122         /// <returns></returns>
123         public static Dictionary<string, string> Html(DomainFlag domainName, string htmlName)
124         {
125             string[] _htmlName = htmlName.Split(',');
126             Dictionary<string, string> htmlUrl = new Dictionary<string, string>();
127             for (int i = 0; i < _htmlName.Length; i++)
128             {
129                 htmlUrl.Add(_htmlName[i], DomainAddress.Static + "/" + checkDebugFlag() + "/" + domainName.ToString() + "/html/" + _htmlName[i]);
130             }
131             return htmlUrl;
132         }
133 
134         /// <summary>根据文件类型获取upload资源文件</summary>
135         /// <param name="imgUrl">文件路径</param>
136         /// <param name="imgType">文件类型</param>
137         /// <returns></returns>
138         public static string UploadFile(string imgUrl, ImgTypeFlag imgType)
139         {
140             string[] imgName = imgUrl.Split('/');
141             string _imgUrl = DomainAddress.Static + "/UploadFile";
142             string imgname = "default.jpg";
143             if (imgName[imgName.Length - 1] != null && !imgName[imgName.Length - 1].Equals(""))
144             {
145                 imgname = imgName[imgName.Length - 1];
146             }
147             switch (imgType)
148             {
149                 case ImgTypeFlag.license:
150                     _imgUrl += "/license";
151                     break;
152                 case ImgTypeFlag.logo:
153                     _imgUrl += "/logo";
154                     break;
155                 case ImgTypeFlag.pic:
156                     _imgUrl += "/pic";
157                     break;
158             }
159             _imgUrl += "/" + imgname;
160 
161             return _imgUrl;
162 
163         }
164     }
165}
原文地址:https://www.cnblogs.com/Gethin/p/4846649.html