├── .gitattributes ├── .gitignore ├── GDMS.sln ├── GDMS ├── App_Data │ ├── BING.sql │ └── DB.png ├── App_Start │ ├── BundleConfig.cs │ ├── FilterConfig.cs │ ├── RouteConfig.cs │ └── WebApiConfig.cs ├── ApplicationInsights.config ├── Areas │ └── HelpPage │ │ ├── ApiDescriptionExtensions.cs │ │ ├── App_Start │ │ └── HelpPageConfig.cs │ │ ├── Controllers │ │ └── HelpController.cs │ │ ├── HelpPage.css │ │ ├── HelpPageAreaRegistration.cs │ │ ├── HelpPageConfigurationExtensions.cs │ │ ├── ModelDescriptions │ │ ├── CollectionModelDescription.cs │ │ ├── ComplexTypeModelDescription.cs │ │ ├── DictionaryModelDescription.cs │ │ ├── EnumTypeModelDescription.cs │ │ ├── EnumValueDescription.cs │ │ ├── IModelDocumentationProvider.cs │ │ ├── KeyValuePairModelDescription.cs │ │ ├── ModelDescription.cs │ │ ├── ModelDescriptionGenerator.cs │ │ ├── ModelNameAttribute.cs │ │ ├── ModelNameHelper.cs │ │ ├── ParameterAnnotation.cs │ │ ├── ParameterDescription.cs │ │ └── SimpleTypeModelDescription.cs │ │ ├── Models │ │ └── HelpPageApiModel.cs │ │ ├── SampleGeneration │ │ ├── HelpPageSampleGenerator.cs │ │ ├── HelpPageSampleKey.cs │ │ ├── ImageSample.cs │ │ ├── InvalidSample.cs │ │ ├── ObjectGenerator.cs │ │ ├── SampleDirection.cs │ │ └── TextSample.cs │ │ ├── Views │ │ ├── Help │ │ │ ├── Api.cshtml │ │ │ ├── DisplayTemplates │ │ │ │ ├── ApiGroup.cshtml │ │ │ │ ├── CollectionModelDescription.cshtml │ │ │ │ ├── ComplexTypeModelDescription.cshtml │ │ │ │ ├── DictionaryModelDescription.cshtml │ │ │ │ ├── EnumTypeModelDescription.cshtml │ │ │ │ ├── HelpPageApiModel.cshtml │ │ │ │ ├── ImageSample.cshtml │ │ │ │ ├── InvalidSample.cshtml │ │ │ │ ├── KeyValuePairModelDescription.cshtml │ │ │ │ ├── ModelDescriptionLink.cshtml │ │ │ │ ├── Parameters.cshtml │ │ │ │ ├── Samples.cshtml │ │ │ │ ├── SimpleTypeModelDescription.cshtml │ │ │ │ └── TextSample.cshtml │ │ │ ├── Index.cshtml │ │ │ └── ResourceModel.cshtml │ │ ├── Shared │ │ │ └── _Layout.cshtml │ │ ├── Web.config │ │ └── _ViewStart.cshtml │ │ └── XmlDocumentationProvider.cs ├── Controllers │ ├── BackupChartController.cs │ ├── DashboardController.cs │ ├── DeviceController.cs │ ├── LangController.cs │ ├── LangManageController.cs │ ├── LoginController.cs │ ├── LoginLangController.cs │ ├── ProjectController.cs │ ├── SiteController.cs │ ├── StnController.cs │ ├── StyleController.cs │ ├── TokenController.cs │ ├── TypeController.cs │ ├── UserManageController.cs │ ├── oldChartController.cs │ └── systemManageController.cs ├── GDMS.csproj ├── GDMS.csproj.user ├── Global.asax ├── Global.asax.cs ├── Models │ ├── RequestAuthorizeAttribute.cs │ ├── ThreadSafeDictionary.cs │ └── db.cs ├── Properties │ └── AssemblyInfo.cs ├── Views │ └── Web.config ├── Web.Debug.config ├── Web.Release.config ├── Web.config ├── bin │ ├── Antlr3.Runtime.dll │ ├── Antlr3.Runtime.pdb │ ├── ApplicationInsights.config │ ├── GDMS.dll │ ├── GDMS.dll.config │ ├── GDMS.pdb │ ├── JWT.dll │ ├── JWT.xml │ ├── Microsoft.AI.Agent.Intercept.dll │ ├── Microsoft.AI.DependencyCollector.dll │ ├── Microsoft.AI.DependencyCollector.xml │ ├── Microsoft.AI.PerfCounterCollector.dll │ ├── Microsoft.AI.ServerTelemetryChannel.dll │ ├── Microsoft.AI.Web.dll │ ├── Microsoft.AI.Web.xml │ ├── Microsoft.AI.WindowsServer.dll │ ├── Microsoft.AI.WindowsServer.xml │ ├── Microsoft.ApplicationInsights.dll │ ├── Microsoft.AspNet.TelemetryCorrelation.dll │ ├── Microsoft.AspNet.TelemetryCorrelation.xml │ ├── Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll │ ├── Microsoft.CodeDom.Providers.DotNetCompilerPlatform.xml │ ├── Microsoft.Web.Infrastructure.dll │ ├── Newtonsoft.Json.dll │ ├── Newtonsoft.Json.xml │ ├── Oracle.DataAccess.dll │ ├── System.Diagnostics.DiagnosticSource.dll │ ├── System.Diagnostics.DiagnosticSource.xml │ ├── System.Net.Http.Formatting.dll │ ├── System.Net.Http.Formatting.xml │ ├── System.Web.Helpers.dll │ ├── System.Web.Helpers.xml │ ├── System.Web.Http.WebHost.dll │ ├── System.Web.Http.WebHost.xml │ ├── System.Web.Http.dll │ ├── System.Web.Http.xml │ ├── System.Web.Mvc.dll │ ├── System.Web.Mvc.xml │ ├── System.Web.Optimization.dll │ ├── System.Web.Optimization.xml │ ├── System.Web.Razor.dll │ ├── System.Web.Razor.xml │ ├── System.Web.WebPages.Deployment.dll │ ├── System.Web.WebPages.Deployment.xml │ ├── System.Web.WebPages.Razor.dll │ ├── System.Web.WebPages.Razor.xml │ ├── System.Web.WebPages.dll │ ├── System.Web.WebPages.xml │ ├── WebGrease.dll │ ├── roslyn │ │ ├── Microsoft.Build.Tasks.CodeAnalysis.dll │ │ ├── Microsoft.CSharp.Core.targets │ │ ├── Microsoft.CodeAnalysis.CSharp.Scripting.dll │ │ ├── Microsoft.CodeAnalysis.CSharp.dll │ │ ├── Microsoft.CodeAnalysis.Scripting.dll │ │ ├── Microsoft.CodeAnalysis.VisualBasic.dll │ │ ├── Microsoft.CodeAnalysis.dll │ │ ├── Microsoft.DiaSymReader.Native.amd64.dll │ │ ├── Microsoft.DiaSymReader.Native.x86.dll │ │ ├── Microsoft.VisualBasic.Core.targets │ │ ├── Microsoft.Win32.Primitives.dll │ │ ├── System.AppContext.dll │ │ ├── System.Collections.Immutable.dll │ │ ├── System.Console.dll │ │ ├── System.Diagnostics.FileVersionInfo.dll │ │ ├── System.Diagnostics.Process.dll │ │ ├── System.Diagnostics.StackTrace.dll │ │ ├── System.IO.Compression.dll │ │ ├── System.IO.FileSystem.DriveInfo.dll │ │ ├── System.IO.FileSystem.Primitives.dll │ │ ├── System.IO.FileSystem.dll │ │ ├── System.IO.Pipes.dll │ │ ├── System.Reflection.Metadata.dll │ │ ├── System.Security.AccessControl.dll │ │ ├── System.Security.Claims.dll │ │ ├── System.Security.Cryptography.Algorithms.dll │ │ ├── System.Security.Cryptography.Encoding.dll │ │ ├── System.Security.Cryptography.Primitives.dll │ │ ├── System.Security.Cryptography.X509Certificates.dll │ │ ├── System.Security.Principal.Windows.dll │ │ ├── System.Text.Encoding.CodePages.dll │ │ ├── System.Threading.Thread.dll │ │ ├── System.ValueTuple.dll │ │ ├── System.Xml.ReaderWriter.dll │ │ ├── System.Xml.XPath.XDocument.dll │ │ ├── System.Xml.XPath.dll │ │ ├── System.Xml.XmlDocument.dll │ │ ├── VBCSCompiler.exe │ │ ├── VBCSCompiler.exe.config │ │ ├── csc.exe │ │ ├── csc.exe.config │ │ ├── csc.rsp │ │ ├── csi.exe │ │ ├── csi.exe.config │ │ ├── csi.rsp │ │ ├── vbc.exe │ │ ├── vbc.exe.config │ │ └── vbc.rsp │ └── zh-Hans │ │ ├── System.Net.Http.Formatting.resources.dll │ │ ├── System.Web.Helpers.resources.dll │ │ ├── System.Web.Http.WebHost.resources.dll │ │ ├── System.Web.Http.resources.dll │ │ ├── System.Web.Mvc.resources.dll │ │ ├── System.Web.Optimization.resources.dll │ │ ├── System.Web.Razor.resources.dll │ │ ├── System.Web.WebPages.Deployment.resources.dll │ │ ├── System.Web.WebPages.Razor.resources.dll │ │ └── System.Web.WebPages.resources.dll ├── favicon.ico ├── index.html ├── obj │ ├── Debug │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── GDMS.csproj.CopyComplete │ │ ├── GDMS.csproj.CoreCompileInputs.cache │ │ ├── GDMS.csproj.FileListAbsolute.txt │ │ ├── GDMS.csprojAssemblyReference.cache │ │ ├── GDMS.dll │ │ ├── GDMS.pdb │ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs │ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs │ │ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs │ └── Release │ │ └── GDMS.csproj.CoreCompileInputs.cache ├── packages.config └── src │ ├── account.html │ ├── controllers │ └── Logout.js │ ├── css │ ├── account.css │ ├── bingAdmin.css │ ├── index.css │ └── view │ │ ├── commonAdd.css │ │ ├── commonEdit.css │ │ ├── dashboard.css │ │ ├── deviceList.css │ │ ├── siteList.css │ │ └── systemManage.css │ ├── images │ ├── demo1.png │ ├── demo2.png │ ├── demo3.png │ └── text_fill.png │ ├── js │ ├── clipboard.min.js │ ├── common.js │ ├── custom.js │ ├── echarts.min.js │ ├── jquery-1.12.0.min.js │ ├── jquery-3.3.1.min.js │ ├── jquery-ui │ │ ├── images │ │ │ ├── ui-icons_444444_256x240.png │ │ │ ├── ui-icons_555555_256x240.png │ │ │ ├── ui-icons_777620_256x240.png │ │ │ ├── ui-icons_777777_256x240.png │ │ │ ├── ui-icons_cc0000_256x240.png │ │ │ └── ui-icons_ffffff_256x240.png │ │ ├── jquery-ui.min.css │ │ └── jquery-ui.min.js │ ├── jquery.nicescroll.min.js │ ├── layui │ │ ├── css │ │ │ ├── layui.css │ │ │ ├── layui.mobile.css │ │ │ └── modules │ │ │ │ ├── code.css │ │ │ │ ├── laydate │ │ │ │ └── default │ │ │ │ │ └── laydate.css │ │ │ │ └── layer │ │ │ │ └── default │ │ │ │ ├── icon-ext.png │ │ │ │ ├── icon.png │ │ │ │ ├── layer.css │ │ │ │ ├── loading-0.gif │ │ │ │ ├── loading-1.gif │ │ │ │ └── loading-2.gif │ │ ├── font │ │ │ ├── iconfont.eot │ │ │ ├── iconfont.svg │ │ │ ├── iconfont.ttf │ │ │ └── iconfont.woff │ │ ├── images │ │ │ └── face │ │ │ │ ├── 0.gif │ │ │ │ ├── 1.gif │ │ │ │ ├── 10.gif │ │ │ │ ├── 11.gif │ │ │ │ ├── 12.gif │ │ │ │ ├── 13.gif │ │ │ │ ├── 14.gif │ │ │ │ ├── 15.gif │ │ │ │ ├── 16.gif │ │ │ │ ├── 17.gif │ │ │ │ ├── 18.gif │ │ │ │ ├── 19.gif │ │ │ │ ├── 2.gif │ │ │ │ ├── 20.gif │ │ │ │ ├── 21.gif │ │ │ │ ├── 22.gif │ │ │ │ ├── 23.gif │ │ │ │ ├── 24.gif │ │ │ │ ├── 25.gif │ │ │ │ ├── 26.gif │ │ │ │ ├── 27.gif │ │ │ │ ├── 28.gif │ │ │ │ ├── 29.gif │ │ │ │ ├── 3.gif │ │ │ │ ├── 30.gif │ │ │ │ ├── 31.gif │ │ │ │ ├── 32.gif │ │ │ │ ├── 33.gif │ │ │ │ ├── 34.gif │ │ │ │ ├── 35.gif │ │ │ │ ├── 36.gif │ │ │ │ ├── 37.gif │ │ │ │ ├── 38.gif │ │ │ │ ├── 39.gif │ │ │ │ ├── 4.gif │ │ │ │ ├── 40.gif │ │ │ │ ├── 41.gif │ │ │ │ ├── 42.gif │ │ │ │ ├── 43.gif │ │ │ │ ├── 44.gif │ │ │ │ ├── 45.gif │ │ │ │ ├── 46.gif │ │ │ │ ├── 47.gif │ │ │ │ ├── 48.gif │ │ │ │ ├── 49.gif │ │ │ │ ├── 5.gif │ │ │ │ ├── 50.gif │ │ │ │ ├── 51.gif │ │ │ │ ├── 52.gif │ │ │ │ ├── 53.gif │ │ │ │ ├── 54.gif │ │ │ │ ├── 55.gif │ │ │ │ ├── 56.gif │ │ │ │ ├── 57.gif │ │ │ │ ├── 58.gif │ │ │ │ ├── 59.gif │ │ │ │ ├── 6.gif │ │ │ │ ├── 60.gif │ │ │ │ ├── 61.gif │ │ │ │ ├── 62.gif │ │ │ │ ├── 63.gif │ │ │ │ ├── 64.gif │ │ │ │ ├── 65.gif │ │ │ │ ├── 66.gif │ │ │ │ ├── 67.gif │ │ │ │ ├── 68.gif │ │ │ │ ├── 69.gif │ │ │ │ ├── 7.gif │ │ │ │ ├── 70.gif │ │ │ │ ├── 71.gif │ │ │ │ ├── 8.gif │ │ │ │ └── 9.gif │ │ ├── lay │ │ │ └── modules │ │ │ │ ├── carousel.js │ │ │ │ ├── code.js │ │ │ │ ├── colorpicker.js │ │ │ │ ├── element.js │ │ │ │ ├── flow.js │ │ │ │ ├── form.js │ │ │ │ ├── jquery.js │ │ │ │ ├── laydate.js │ │ │ │ ├── layedit.js │ │ │ │ ├── layer.js │ │ │ │ ├── laypage.js │ │ │ │ ├── laytpl.js │ │ │ │ ├── mobile.js │ │ │ │ ├── rate.js │ │ │ │ ├── slider.js │ │ │ │ ├── table.js │ │ │ │ ├── tree.js │ │ │ │ ├── upload.js │ │ │ │ └── util.js │ │ ├── layui.all.js │ │ └── layui.js │ ├── pinyin.js │ └── xlsx.full.min.js │ ├── sql │ └── GDMS-非最新仅供参考.sql │ └── view │ ├── chartBackup.html │ ├── chartOld.html │ ├── dashboard.html │ ├── deviceList.html │ ├── langManage.html │ ├── projectList.html │ ├── second │ ├── demo.html │ ├── deviceAdd.html │ ├── deviceEdit.html │ ├── deviceFilter.html │ ├── projectAdd.html │ ├── projectEdit.html │ ├── siteAdd.html │ ├── siteEdit.html │ ├── stnAdd.html │ ├── stnEdit.html │ ├── stnFilter.html │ ├── styleAdd.html │ ├── styleEdit.html │ ├── typeAdd.html │ └── typeEdit.html │ ├── siteList.html │ ├── stnList.html │ ├── styleList.html │ ├── systemManage.html │ ├── typeList.html │ └── userManage.html ├── LICENSE └── README.md /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .vs 2 | packages 3 | GDMS/upload/files 4 | GDMS/upload/images -------------------------------------------------------------------------------- /GDMS.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.27703.2026 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GDMS", "GDMS\GDMS.csproj", "{F1EBC1F4-9E82-4482-AF43-A66C0607988C}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {F1EBC1F4-9E82-4482-AF43-A66C0607988C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {F1EBC1F4-9E82-4482-AF43-A66C0607988C}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {F1EBC1F4-9E82-4482-AF43-A66C0607988C}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {F1EBC1F4-9E82-4482-AF43-A66C0607988C}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {79A50E1B-A61E-4A08-9E6B-C7515B6A9FFC} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /GDMS/App_Data/DB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/App_Data/DB.png -------------------------------------------------------------------------------- /GDMS/App_Start/BundleConfig.cs: -------------------------------------------------------------------------------- 1 | using System.Web; 2 | using System.Web.Optimization; 3 | 4 | namespace GDMS 5 | { 6 | public class BundleConfig 7 | { 8 | // 有关捆绑的详细信息,请访问 https://go.microsoft.com/fwlink/?LinkId=301862 9 | public static void RegisterBundles(BundleCollection bundles) 10 | {} 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /GDMS/App_Start/FilterConfig.cs: -------------------------------------------------------------------------------- 1 | using System.Web; 2 | using System.Web.Mvc; 3 | 4 | namespace GDMS 5 | { 6 | public class FilterConfig 7 | { 8 | public static void RegisterGlobalFilters(GlobalFilterCollection filters) 9 | { 10 | filters.Add(new HandleErrorAttribute()); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /GDMS/App_Start/RouteConfig.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Web; 5 | using System.Web.Mvc; 6 | using System.Web.Routing; 7 | 8 | namespace GDMS 9 | { 10 | public class RouteConfig 11 | { 12 | public static void RegisterRoutes(RouteCollection routes) 13 | { 14 | routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 15 | 16 | routes.MapRoute( 17 | name: "Default", 18 | url: "{controller}/{action}/{id}", 19 | defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 20 | ); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /GDMS/App_Start/WebApiConfig.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Web.Http; 5 | 6 | namespace GDMS 7 | { 8 | public static class WebApiConfig 9 | { 10 | public static void Register(HttpConfiguration config) 11 | { 12 | // Web API 配置和服务 13 | 14 | // Web API 路由 15 | config.MapHttpAttributeRoutes(); 16 | 17 | config.Routes.MapHttpRoute( 18 | name: "DefaultApi", 19 | routeTemplate: "api/{controller}/{id}", 20 | defaults: new { id = RouteParameter.Optional } 21 | ); 22 | 23 | config.Routes.MapHttpRoute( 24 | name: "ActionApi", 25 | routeTemplate: "actionApi/{controller}/{action}/{id}", 26 | defaults: new { id = RouteParameter.Optional } 27 | ); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/ApiDescriptionExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Text; 3 | using System.Web; 4 | using System.Web.Http.Description; 5 | 6 | namespace GDMS.Areas.HelpPage 7 | { 8 | public static class ApiDescriptionExtensions 9 | { 10 | /// 11 | /// Generates an URI-friendly ID for the . E.g. "Get-Values-id_name" instead of "GetValues/{id}?name={name}" 12 | /// 13 | /// The . 14 | /// The ID as a string. 15 | public static string GetFriendlyId(this ApiDescription description) 16 | { 17 | string path = description.RelativePath; 18 | string[] urlParts = path.Split('?'); 19 | string localPath = urlParts[0]; 20 | string queryKeyString = null; 21 | if (urlParts.Length > 1) 22 | { 23 | string query = urlParts[1]; 24 | string[] queryKeys = HttpUtility.ParseQueryString(query).AllKeys; 25 | queryKeyString = String.Join("_", queryKeys); 26 | } 27 | 28 | StringBuilder friendlyPath = new StringBuilder(); 29 | friendlyPath.AppendFormat("{0}-{1}", 30 | description.HttpMethod.Method, 31 | localPath.Replace("/", "-").Replace("{", String.Empty).Replace("}", String.Empty)); 32 | if (queryKeyString != null) 33 | { 34 | friendlyPath.AppendFormat("_{0}", queryKeyString.Replace('.', '-')); 35 | } 36 | return friendlyPath.ToString(); 37 | } 38 | } 39 | } -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/Controllers/HelpController.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Web.Http; 3 | using System.Web.Mvc; 4 | using GDMS.Areas.HelpPage.ModelDescriptions; 5 | using GDMS.Areas.HelpPage.Models; 6 | 7 | namespace GDMS.Areas.HelpPage.Controllers 8 | { 9 | /// 10 | /// The controller that will handle requests for the help page. 11 | /// 12 | public class HelpController : Controller 13 | { 14 | private const string ErrorViewName = "Error"; 15 | 16 | public HelpController() 17 | : this(GlobalConfiguration.Configuration) 18 | { 19 | } 20 | 21 | public HelpController(HttpConfiguration config) 22 | { 23 | Configuration = config; 24 | } 25 | 26 | public HttpConfiguration Configuration { get; private set; } 27 | 28 | public ActionResult Index() 29 | { 30 | ViewBag.DocumentationProvider = Configuration.Services.GetDocumentationProvider(); 31 | return View(Configuration.Services.GetApiExplorer().ApiDescriptions); 32 | } 33 | 34 | public ActionResult Api(string apiId) 35 | { 36 | if (!String.IsNullOrEmpty(apiId)) 37 | { 38 | HelpPageApiModel apiModel = Configuration.GetHelpPageApiModel(apiId); 39 | if (apiModel != null) 40 | { 41 | return View(apiModel); 42 | } 43 | } 44 | 45 | return View(ErrorViewName); 46 | } 47 | 48 | public ActionResult ResourceModel(string modelName) 49 | { 50 | if (!String.IsNullOrEmpty(modelName)) 51 | { 52 | ModelDescriptionGenerator modelDescriptionGenerator = Configuration.GetModelDescriptionGenerator(); 53 | ModelDescription modelDescription; 54 | if (modelDescriptionGenerator.GeneratedModels.TryGetValue(modelName, out modelDescription)) 55 | { 56 | return View(modelDescription); 57 | } 58 | } 59 | 60 | return View(ErrorViewName); 61 | } 62 | } 63 | } -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/HelpPage.css: -------------------------------------------------------------------------------- 1 | .help-page h1, 2 | .help-page .h1, 3 | .help-page h2, 4 | .help-page .h2, 5 | .help-page h3, 6 | .help-page .h3, 7 | #body.help-page, 8 | .help-page-table th, 9 | .help-page-table pre, 10 | .help-page-table p { 11 | font-family: "Segoe UI Light", Frutiger, "Frutiger Linotype", "Dejavu Sans", "Helvetica Neue", Arial, sans-serif; 12 | } 13 | 14 | .help-page pre.wrapped { 15 | white-space: -moz-pre-wrap; 16 | white-space: -pre-wrap; 17 | white-space: -o-pre-wrap; 18 | white-space: pre-wrap; 19 | } 20 | 21 | .help-page .warning-message-container { 22 | margin-top: 20px; 23 | padding: 0 10px; 24 | color: #525252; 25 | background: #EFDCA9; 26 | border: 1px solid #CCCCCC; 27 | } 28 | 29 | .help-page-table { 30 | width: 100%; 31 | border-collapse: collapse; 32 | text-align: left; 33 | margin: 0px 0px 20px 0px; 34 | border-top: 1px solid #D4D4D4; 35 | } 36 | 37 | .help-page-table th { 38 | text-align: left; 39 | font-weight: bold; 40 | border-bottom: 1px solid #D4D4D4; 41 | padding: 5px 6px 5px 6px; 42 | } 43 | 44 | .help-page-table td { 45 | border-bottom: 1px solid #D4D4D4; 46 | padding: 10px 8px 10px 8px; 47 | vertical-align: top; 48 | } 49 | 50 | .help-page-table pre, 51 | .help-page-table p { 52 | margin: 0px; 53 | padding: 0px; 54 | font-family: inherit; 55 | font-size: 100%; 56 | } 57 | 58 | .help-page-table tbody tr:hover td { 59 | background-color: #F3F3F3; 60 | } 61 | 62 | .help-page a:hover { 63 | background-color: transparent; 64 | } 65 | 66 | .help-page .sample-header { 67 | border: 2px solid #D4D4D4; 68 | background: #00497E; 69 | color: #FFFFFF; 70 | padding: 8px 15px; 71 | border-bottom: none; 72 | display: inline-block; 73 | margin: 10px 0px 0px 0px; 74 | } 75 | 76 | .help-page .sample-content { 77 | display: block; 78 | border-width: 0; 79 | padding: 15px 20px; 80 | background: #FFFFFF; 81 | border: 2px solid #D4D4D4; 82 | margin: 0px 0px 10px 0px; 83 | } 84 | 85 | .help-page .api-name { 86 | width: 40%; 87 | } 88 | 89 | .help-page .api-documentation { 90 | width: 60%; 91 | } 92 | 93 | .help-page .parameter-name { 94 | width: 20%; 95 | } 96 | 97 | .help-page .parameter-documentation { 98 | width: 40%; 99 | } 100 | 101 | .help-page .parameter-type { 102 | width: 20%; 103 | } 104 | 105 | .help-page .parameter-annotations { 106 | width: 20%; 107 | } 108 | 109 | .help-page h1, 110 | .help-page .h1 { 111 | font-size: 36px; 112 | line-height: normal; 113 | } 114 | 115 | .help-page h2, 116 | .help-page .h2 { 117 | font-size: 24px; 118 | } 119 | 120 | .help-page h3, 121 | .help-page .h3 { 122 | font-size: 20px; 123 | } 124 | 125 | #body.help-page { 126 | font-size: 14px; 127 | line-height: 143%; 128 | color: #333; 129 | } 130 | 131 | .help-page a { 132 | color: #0000EE; 133 | text-decoration: none; 134 | } 135 | -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/HelpPageAreaRegistration.cs: -------------------------------------------------------------------------------- 1 | using System.Web.Http; 2 | using System.Web.Mvc; 3 | 4 | namespace GDMS.Areas.HelpPage 5 | { 6 | public class HelpPageAreaRegistration : AreaRegistration 7 | { 8 | public override string AreaName 9 | { 10 | get 11 | { 12 | return "HelpPage"; 13 | } 14 | } 15 | 16 | public override void RegisterArea(AreaRegistrationContext context) 17 | { 18 | context.MapRoute( 19 | "HelpPage_Default", 20 | "Help/{action}/{apiId}", 21 | new { controller = "Help", action = "Index", apiId = UrlParameter.Optional }); 22 | 23 | HelpPageConfig.Register(GlobalConfiguration.Configuration); 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/ModelDescriptions/CollectionModelDescription.cs: -------------------------------------------------------------------------------- 1 | namespace GDMS.Areas.HelpPage.ModelDescriptions 2 | { 3 | public class CollectionModelDescription : ModelDescription 4 | { 5 | public ModelDescription ElementDescription { get; set; } 6 | } 7 | } -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/ModelDescriptions/ComplexTypeModelDescription.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.ObjectModel; 2 | 3 | namespace GDMS.Areas.HelpPage.ModelDescriptions 4 | { 5 | public class ComplexTypeModelDescription : ModelDescription 6 | { 7 | public ComplexTypeModelDescription() 8 | { 9 | Properties = new Collection(); 10 | } 11 | 12 | public Collection Properties { get; private set; } 13 | } 14 | } -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/ModelDescriptions/DictionaryModelDescription.cs: -------------------------------------------------------------------------------- 1 | namespace GDMS.Areas.HelpPage.ModelDescriptions 2 | { 3 | public class DictionaryModelDescription : KeyValuePairModelDescription 4 | { 5 | } 6 | } -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/ModelDescriptions/EnumTypeModelDescription.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Collections.ObjectModel; 3 | 4 | namespace GDMS.Areas.HelpPage.ModelDescriptions 5 | { 6 | public class EnumTypeModelDescription : ModelDescription 7 | { 8 | public EnumTypeModelDescription() 9 | { 10 | Values = new Collection(); 11 | } 12 | 13 | public Collection Values { get; private set; } 14 | } 15 | } -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/ModelDescriptions/EnumValueDescription.cs: -------------------------------------------------------------------------------- 1 | namespace GDMS.Areas.HelpPage.ModelDescriptions 2 | { 3 | public class EnumValueDescription 4 | { 5 | public string Documentation { get; set; } 6 | 7 | public string Name { get; set; } 8 | 9 | public string Value { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/ModelDescriptions/IModelDocumentationProvider.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Reflection; 3 | 4 | namespace GDMS.Areas.HelpPage.ModelDescriptions 5 | { 6 | public interface IModelDocumentationProvider 7 | { 8 | string GetDocumentation(MemberInfo member); 9 | 10 | string GetDocumentation(Type type); 11 | } 12 | } -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/ModelDescriptions/KeyValuePairModelDescription.cs: -------------------------------------------------------------------------------- 1 | namespace GDMS.Areas.HelpPage.ModelDescriptions 2 | { 3 | public class KeyValuePairModelDescription : ModelDescription 4 | { 5 | public ModelDescription KeyModelDescription { get; set; } 6 | 7 | public ModelDescription ValueModelDescription { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/ModelDescriptions/ModelDescription.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace GDMS.Areas.HelpPage.ModelDescriptions 4 | { 5 | /// 6 | /// Describes a type model. 7 | /// 8 | public abstract class ModelDescription 9 | { 10 | public string Documentation { get; set; } 11 | 12 | public Type ModelType { get; set; } 13 | 14 | public string Name { get; set; } 15 | } 16 | } -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/ModelDescriptions/ModelNameAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace GDMS.Areas.HelpPage.ModelDescriptions 4 | { 5 | /// 6 | /// Use this attribute to change the name of the generated for a type. 7 | /// 8 | [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Enum, AllowMultiple = false, Inherited = false)] 9 | public sealed class ModelNameAttribute : Attribute 10 | { 11 | public ModelNameAttribute(string name) 12 | { 13 | Name = name; 14 | } 15 | 16 | public string Name { get; private set; } 17 | } 18 | } -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/ModelDescriptions/ModelNameHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Globalization; 3 | using System.Linq; 4 | using System.Reflection; 5 | 6 | namespace GDMS.Areas.HelpPage.ModelDescriptions 7 | { 8 | internal static class ModelNameHelper 9 | { 10 | // Modify this to provide custom model name mapping. 11 | public static string GetModelName(Type type) 12 | { 13 | ModelNameAttribute modelNameAttribute = type.GetCustomAttribute(); 14 | if (modelNameAttribute != null && !String.IsNullOrEmpty(modelNameAttribute.Name)) 15 | { 16 | return modelNameAttribute.Name; 17 | } 18 | 19 | string modelName = type.Name; 20 | if (type.IsGenericType) 21 | { 22 | // Format the generic type name to something like: GenericOfAgurment1AndArgument2 23 | Type genericType = type.GetGenericTypeDefinition(); 24 | Type[] genericArguments = type.GetGenericArguments(); 25 | string genericTypeName = genericType.Name; 26 | 27 | // Trim the generic parameter counts from the name 28 | genericTypeName = genericTypeName.Substring(0, genericTypeName.IndexOf('`')); 29 | string[] argumentTypeNames = genericArguments.Select(t => GetModelName(t)).ToArray(); 30 | modelName = String.Format(CultureInfo.InvariantCulture, "{0}Of{1}", genericTypeName, String.Join("And", argumentTypeNames)); 31 | } 32 | 33 | return modelName; 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/ModelDescriptions/ParameterAnnotation.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace GDMS.Areas.HelpPage.ModelDescriptions 4 | { 5 | public class ParameterAnnotation 6 | { 7 | public Attribute AnnotationAttribute { get; set; } 8 | 9 | public string Documentation { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/ModelDescriptions/ParameterDescription.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Collections.ObjectModel; 3 | 4 | namespace GDMS.Areas.HelpPage.ModelDescriptions 5 | { 6 | public class ParameterDescription 7 | { 8 | public ParameterDescription() 9 | { 10 | Annotations = new Collection(); 11 | } 12 | 13 | public Collection Annotations { get; private set; } 14 | 15 | public string Documentation { get; set; } 16 | 17 | public string Name { get; set; } 18 | 19 | public ModelDescription TypeDescription { get; set; } 20 | } 21 | } -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/ModelDescriptions/SimpleTypeModelDescription.cs: -------------------------------------------------------------------------------- 1 | namespace GDMS.Areas.HelpPage.ModelDescriptions 2 | { 3 | public class SimpleTypeModelDescription : ModelDescription 4 | { 5 | } 6 | } -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/Models/HelpPageApiModel.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Collections.ObjectModel; 3 | using System.Net.Http.Headers; 4 | using System.Web.Http.Description; 5 | using GDMS.Areas.HelpPage.ModelDescriptions; 6 | 7 | namespace GDMS.Areas.HelpPage.Models 8 | { 9 | /// 10 | /// The model that represents an API displayed on the help page. 11 | /// 12 | public class HelpPageApiModel 13 | { 14 | /// 15 | /// Initializes a new instance of the class. 16 | /// 17 | public HelpPageApiModel() 18 | { 19 | UriParameters = new Collection(); 20 | SampleRequests = new Dictionary(); 21 | SampleResponses = new Dictionary(); 22 | ErrorMessages = new Collection(); 23 | } 24 | 25 | /// 26 | /// Gets or sets the that describes the API. 27 | /// 28 | public ApiDescription ApiDescription { get; set; } 29 | 30 | /// 31 | /// Gets or sets the collection that describes the URI parameters for the API. 32 | /// 33 | public Collection UriParameters { get; private set; } 34 | 35 | /// 36 | /// Gets or sets the documentation for the request. 37 | /// 38 | public string RequestDocumentation { get; set; } 39 | 40 | /// 41 | /// Gets or sets the that describes the request body. 42 | /// 43 | public ModelDescription RequestModelDescription { get; set; } 44 | 45 | /// 46 | /// Gets the request body parameter descriptions. 47 | /// 48 | public IList RequestBodyParameters 49 | { 50 | get 51 | { 52 | return GetParameterDescriptions(RequestModelDescription); 53 | } 54 | } 55 | 56 | /// 57 | /// Gets or sets the that describes the resource. 58 | /// 59 | public ModelDescription ResourceDescription { get; set; } 60 | 61 | /// 62 | /// Gets the resource property descriptions. 63 | /// 64 | public IList ResourceProperties 65 | { 66 | get 67 | { 68 | return GetParameterDescriptions(ResourceDescription); 69 | } 70 | } 71 | 72 | /// 73 | /// Gets the sample requests associated with the API. 74 | /// 75 | public IDictionary SampleRequests { get; private set; } 76 | 77 | /// 78 | /// Gets the sample responses associated with the API. 79 | /// 80 | public IDictionary SampleResponses { get; private set; } 81 | 82 | /// 83 | /// Gets the error messages associated with this model. 84 | /// 85 | public Collection ErrorMessages { get; private set; } 86 | 87 | private static IList GetParameterDescriptions(ModelDescription modelDescription) 88 | { 89 | ComplexTypeModelDescription complexTypeModelDescription = modelDescription as ComplexTypeModelDescription; 90 | if (complexTypeModelDescription != null) 91 | { 92 | return complexTypeModelDescription.Properties; 93 | } 94 | 95 | CollectionModelDescription collectionModelDescription = modelDescription as CollectionModelDescription; 96 | if (collectionModelDescription != null) 97 | { 98 | complexTypeModelDescription = collectionModelDescription.ElementDescription as ComplexTypeModelDescription; 99 | if (complexTypeModelDescription != null) 100 | { 101 | return complexTypeModelDescription.Properties; 102 | } 103 | } 104 | 105 | return null; 106 | } 107 | } 108 | } -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/SampleGeneration/ImageSample.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace GDMS.Areas.HelpPage 4 | { 5 | /// 6 | /// This represents an image sample on the help page. There's a display template named ImageSample associated with this class. 7 | /// 8 | public class ImageSample 9 | { 10 | /// 11 | /// Initializes a new instance of the class. 12 | /// 13 | /// The URL of an image. 14 | public ImageSample(string src) 15 | { 16 | if (src == null) 17 | { 18 | throw new ArgumentNullException("src"); 19 | } 20 | Src = src; 21 | } 22 | 23 | public string Src { get; private set; } 24 | 25 | public override bool Equals(object obj) 26 | { 27 | ImageSample other = obj as ImageSample; 28 | return other != null && Src == other.Src; 29 | } 30 | 31 | public override int GetHashCode() 32 | { 33 | return Src.GetHashCode(); 34 | } 35 | 36 | public override string ToString() 37 | { 38 | return Src; 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/SampleGeneration/InvalidSample.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace GDMS.Areas.HelpPage 4 | { 5 | /// 6 | /// This represents an invalid sample on the help page. There's a display template named InvalidSample associated with this class. 7 | /// 8 | public class InvalidSample 9 | { 10 | public InvalidSample(string errorMessage) 11 | { 12 | if (errorMessage == null) 13 | { 14 | throw new ArgumentNullException("errorMessage"); 15 | } 16 | ErrorMessage = errorMessage; 17 | } 18 | 19 | public string ErrorMessage { get; private set; } 20 | 21 | public override bool Equals(object obj) 22 | { 23 | InvalidSample other = obj as InvalidSample; 24 | return other != null && ErrorMessage == other.ErrorMessage; 25 | } 26 | 27 | public override int GetHashCode() 28 | { 29 | return ErrorMessage.GetHashCode(); 30 | } 31 | 32 | public override string ToString() 33 | { 34 | return ErrorMessage; 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/SampleGeneration/SampleDirection.cs: -------------------------------------------------------------------------------- 1 | namespace GDMS.Areas.HelpPage 2 | { 3 | /// 4 | /// Indicates whether the sample is used for request or response 5 | /// 6 | public enum SampleDirection 7 | { 8 | Request = 0, 9 | Response 10 | } 11 | } -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/SampleGeneration/TextSample.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace GDMS.Areas.HelpPage 4 | { 5 | /// 6 | /// This represents a preformatted text sample on the help page. There's a display template named TextSample associated with this class. 7 | /// 8 | public class TextSample 9 | { 10 | public TextSample(string text) 11 | { 12 | if (text == null) 13 | { 14 | throw new ArgumentNullException("text"); 15 | } 16 | Text = text; 17 | } 18 | 19 | public string Text { get; private set; } 20 | 21 | public override bool Equals(object obj) 22 | { 23 | TextSample other = obj as TextSample; 24 | return other != null && Text == other.Text; 25 | } 26 | 27 | public override int GetHashCode() 28 | { 29 | return Text.GetHashCode(); 30 | } 31 | 32 | public override string ToString() 33 | { 34 | return Text; 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/Views/Help/Api.cshtml: -------------------------------------------------------------------------------- 1 | @using System.Web.Http 2 | @using GDMS.Areas.HelpPage.Models 3 | @model HelpPageApiModel 4 | 5 | @{ 6 | var description = Model.ApiDescription; 7 | ViewBag.Title = description.HttpMethod.Method + " " + description.RelativePath; 8 | } 9 | 10 | 11 |
12 | 19 |
20 | @Html.DisplayForModel() 21 |
22 |
23 | -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/Views/Help/DisplayTemplates/ApiGroup.cshtml: -------------------------------------------------------------------------------- 1 | @using System.Web.Http 2 | @using System.Web.Http.Controllers 3 | @using System.Web.Http.Description 4 | @using GDMS.Areas.HelpPage 5 | @using GDMS.Areas.HelpPage.Models 6 | @model IGrouping 7 | 8 | @{ 9 | var controllerDocumentation = ViewBag.DocumentationProvider != null ? 10 | ViewBag.DocumentationProvider.GetDocumentation(Model.Key) : 11 | null; 12 | } 13 | 14 |

@Model.Key.ControllerName

15 | @if (!String.IsNullOrEmpty(controllerDocumentation)) 16 | { 17 |

@controllerDocumentation

18 | } 19 | 20 | 21 | 22 | 23 | 24 | @foreach (var api in Model) 25 | { 26 | 27 | 28 | 38 | 39 | } 40 | 41 |
APIDescription
@api.HttpMethod.Method @api.RelativePath 29 | @if (api.Documentation != null) 30 | { 31 |

@api.Documentation

32 | } 33 | else 34 | { 35 |

No documentation available.

36 | } 37 |
-------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/Views/Help/DisplayTemplates/CollectionModelDescription.cshtml: -------------------------------------------------------------------------------- 1 | @using GDMS.Areas.HelpPage.ModelDescriptions 2 | @model CollectionModelDescription 3 | @if (Model.ElementDescription is ComplexTypeModelDescription) 4 | { 5 | @Html.DisplayFor(m => m.ElementDescription) 6 | } -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/Views/Help/DisplayTemplates/ComplexTypeModelDescription.cshtml: -------------------------------------------------------------------------------- 1 | @using GDMS.Areas.HelpPage.ModelDescriptions 2 | @model ComplexTypeModelDescription 3 | @Html.DisplayFor(m => m.Properties, "Parameters") -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/Views/Help/DisplayTemplates/DictionaryModelDescription.cshtml: -------------------------------------------------------------------------------- 1 | @using GDMS.Areas.HelpPage.ModelDescriptions 2 | @model DictionaryModelDescription 3 | Dictionary of @Html.DisplayFor(m => Model.KeyModelDescription.ModelType, "ModelDescriptionLink", new { modelDescription = Model.KeyModelDescription }) [key] 4 | and @Html.DisplayFor(m => Model.ValueModelDescription.ModelType, "ModelDescriptionLink", new { modelDescription = Model.ValueModelDescription }) [value] -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/Views/Help/DisplayTemplates/EnumTypeModelDescription.cshtml: -------------------------------------------------------------------------------- 1 | @using GDMS.Areas.HelpPage.ModelDescriptions 2 | @model EnumTypeModelDescription 3 | 4 |

Possible enumeration values:

5 | 6 | 7 | 8 | 9 | 10 | 11 | @foreach (EnumValueDescription value in Model.Values) 12 | { 13 | 14 | 15 | 18 | 21 | 22 | } 23 | 24 |
NameValueDescription
@value.Name 16 |

@value.Value

17 |
19 |

@value.Documentation

20 |
-------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/Views/Help/DisplayTemplates/HelpPageApiModel.cshtml: -------------------------------------------------------------------------------- 1 | @using System.Web.Http 2 | @using System.Web.Http.Description 3 | @using GDMS.Areas.HelpPage.Models 4 | @using GDMS.Areas.HelpPage.ModelDescriptions 5 | @model HelpPageApiModel 6 | 7 | @{ 8 | ApiDescription description = Model.ApiDescription; 9 | } 10 |

@description.HttpMethod.Method @description.RelativePath

11 |
12 |

@description.Documentation

13 | 14 |

Request Information

15 | 16 |

URI Parameters

17 | @Html.DisplayFor(m => m.UriParameters, "Parameters") 18 | 19 |

Body Parameters

20 | 21 |

@Model.RequestDocumentation

22 | 23 | @if (Model.RequestModelDescription != null) 24 | { 25 | @Html.DisplayFor(m => m.RequestModelDescription.ModelType, "ModelDescriptionLink", new { modelDescription = Model.RequestModelDescription }) 26 | if (Model.RequestBodyParameters != null) 27 | { 28 | @Html.DisplayFor(m => m.RequestBodyParameters, "Parameters") 29 | } 30 | } 31 | else 32 | { 33 |

None.

34 | } 35 | 36 | @if (Model.SampleRequests.Count > 0) 37 | { 38 |

Request Formats

39 | @Html.DisplayFor(m => m.SampleRequests, "Samples") 40 | } 41 | 42 |

Response Information

43 | 44 |

Resource Description

45 | 46 |

@description.ResponseDescription.Documentation

47 | 48 | @if (Model.ResourceDescription != null) 49 | { 50 | @Html.DisplayFor(m => m.ResourceDescription.ModelType, "ModelDescriptionLink", new { modelDescription = Model.ResourceDescription }) 51 | if (Model.ResourceProperties != null) 52 | { 53 | @Html.DisplayFor(m => m.ResourceProperties, "Parameters") 54 | } 55 | } 56 | else 57 | { 58 |

None.

59 | } 60 | 61 | @if (Model.SampleResponses.Count > 0) 62 | { 63 |

Response Formats

64 | @Html.DisplayFor(m => m.SampleResponses, "Samples") 65 | } 66 | 67 |
-------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/Views/Help/DisplayTemplates/ImageSample.cshtml: -------------------------------------------------------------------------------- 1 | @using GDMS.Areas.HelpPage 2 | @model ImageSample 3 | 4 | -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/Views/Help/DisplayTemplates/InvalidSample.cshtml: -------------------------------------------------------------------------------- 1 | @using GDMS.Areas.HelpPage 2 | @model InvalidSample 3 | 4 | @if (HttpContext.Current.IsDebuggingEnabled) 5 | { 6 |
7 |

@Model.ErrorMessage

8 |
9 | } 10 | else 11 | { 12 |

Sample not available.

13 | } -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/Views/Help/DisplayTemplates/KeyValuePairModelDescription.cshtml: -------------------------------------------------------------------------------- 1 | @using GDMS.Areas.HelpPage.ModelDescriptions 2 | @model KeyValuePairModelDescription 3 | Pair of @Html.DisplayFor(m => Model.KeyModelDescription.ModelType, "ModelDescriptionLink", new { modelDescription = Model.KeyModelDescription }) [key] 4 | and @Html.DisplayFor(m => Model.ValueModelDescription.ModelType, "ModelDescriptionLink", new { modelDescription = Model.ValueModelDescription }) [value] -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/Views/Help/DisplayTemplates/ModelDescriptionLink.cshtml: -------------------------------------------------------------------------------- 1 | @using GDMS.Areas.HelpPage.ModelDescriptions 2 | @model Type 3 | @{ 4 | ModelDescription modelDescription = ViewBag.modelDescription; 5 | if (modelDescription is ComplexTypeModelDescription || modelDescription is EnumTypeModelDescription) 6 | { 7 | if (Model == typeof(Object)) 8 | { 9 | @:Object 10 | } 11 | else 12 | { 13 | @Html.ActionLink(modelDescription.Name, "ResourceModel", "Help", new { modelName = modelDescription.Name }, null) 14 | } 15 | } 16 | else if (modelDescription is CollectionModelDescription) 17 | { 18 | var collectionDescription = modelDescription as CollectionModelDescription; 19 | var elementDescription = collectionDescription.ElementDescription; 20 | @:Collection of @Html.DisplayFor(m => elementDescription.ModelType, "ModelDescriptionLink", new { modelDescription = elementDescription }) 21 | } 22 | else 23 | { 24 | @Html.DisplayFor(m => modelDescription) 25 | } 26 | } -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/Views/Help/DisplayTemplates/Parameters.cshtml: -------------------------------------------------------------------------------- 1 | @using System.Collections.Generic 2 | @using System.Collections.ObjectModel 3 | @using System.Web.Http.Description 4 | @using System.Threading 5 | @using GDMS.Areas.HelpPage.ModelDescriptions 6 | @model IList 7 | 8 | @if (Model.Count > 0) 9 | { 10 | 11 | 12 | 13 | 14 | 15 | @foreach (ParameterDescription parameter in Model) 16 | { 17 | ModelDescription modelDescription = parameter.TypeDescription; 18 | 19 | 20 | 23 | 26 | 39 | 40 | } 41 | 42 |
NameDescriptionTypeAdditional information
@parameter.Name 21 |

@parameter.Documentation

22 |
24 | @Html.DisplayFor(m => modelDescription.ModelType, "ModelDescriptionLink", new { modelDescription = modelDescription }) 25 | 27 | @if (parameter.Annotations.Count > 0) 28 | { 29 | foreach (var annotation in parameter.Annotations) 30 | { 31 |

@annotation.Documentation

32 | } 33 | } 34 | else 35 | { 36 |

None.

37 | } 38 |
43 | } 44 | else 45 | { 46 |

None.

47 | } 48 | 49 | -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/Views/Help/DisplayTemplates/Samples.cshtml: -------------------------------------------------------------------------------- 1 | @using System.Net.Http.Headers 2 | @model Dictionary 3 | 4 | @{ 5 | // Group the samples into a single tab if they are the same. 6 | Dictionary samples = Model.GroupBy(pair => pair.Value).ToDictionary( 7 | pair => String.Join(", ", pair.Select(m => m.Key.ToString()).ToArray()), 8 | pair => pair.Key); 9 | var mediaTypes = samples.Keys; 10 | } 11 |
12 | @foreach (var mediaType in mediaTypes) 13 | { 14 |

@mediaType

15 |
16 | Sample: 17 | @{ 18 | var sample = samples[mediaType]; 19 | if (sample == null) 20 | { 21 |

Sample not available.

22 | } 23 | else 24 | { 25 | @Html.DisplayFor(s => sample); 26 | } 27 | } 28 |
29 | } 30 |
-------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/Views/Help/DisplayTemplates/SimpleTypeModelDescription.cshtml: -------------------------------------------------------------------------------- 1 | @using GDMS.Areas.HelpPage.ModelDescriptions 2 | @model SimpleTypeModelDescription 3 | @Model.Documentation -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/Views/Help/DisplayTemplates/TextSample.cshtml: -------------------------------------------------------------------------------- 1 | @using GDMS.Areas.HelpPage 2 | @model TextSample 3 | 4 |
5 | @Model.Text
6 | 
-------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/Views/Help/Index.cshtml: -------------------------------------------------------------------------------- 1 | @using System.Web.Http 2 | @using System.Web.Http.Controllers 3 | @using System.Web.Http.Description 4 | @using System.Collections.ObjectModel 5 | @using GDMS.Areas.HelpPage.Models 6 | @model Collection 7 | 8 | @{ 9 | ViewBag.Title = "ASP.NET Web API Help Page"; 10 | 11 | // Group APIs by controller 12 | ILookup apiGroups = Model.ToLookup(api => api.ActionDescriptor.ControllerDescriptor); 13 | } 14 | 15 | 16 |
17 |
18 |
19 |

@ViewBag.Title

20 |
21 |
22 |
23 |
24 | 32 |
33 | @foreach (var group in apiGroups) 34 | { 35 | @Html.DisplayFor(m => group, "ApiGroup") 36 | } 37 |
38 |
39 | -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/Views/Help/ResourceModel.cshtml: -------------------------------------------------------------------------------- 1 | @using System.Web.Http 2 | @using GDMS.Areas.HelpPage.ModelDescriptions 3 | @model ModelDescription 4 | 5 | 6 |
7 | 14 |

@Model.Name

15 |

@Model.Documentation

16 |
17 | @Html.DisplayFor(m => Model) 18 |
19 |
20 | -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/Views/Shared/_Layout.cshtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | @ViewBag.Title 7 | @RenderSection("scripts", required: false) 8 | 9 | 10 | @RenderBody() 11 | 12 | -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/Views/Web.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 |
7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /GDMS/Areas/HelpPage/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | // Change the Layout path below to blend the look and feel of the help page with your existing web pages 3 | Layout = "~/Views/Shared/_Layout.cshtml"; 4 | } -------------------------------------------------------------------------------- /GDMS/Controllers/LangController.cs: -------------------------------------------------------------------------------- 1 | using GDMS.Models; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Net; 6 | using System.Net.Http; 7 | using System.Web.Http; 8 | using Newtonsoft.Json; 9 | using System.Text; 10 | using System.Data; 11 | 12 | namespace GDMS.Controllers 13 | { 14 | [RequestAuthorize] 15 | public class LangController : ApiController 16 | { 17 | //POST对象 18 | public class LangAjax 19 | { 20 | public string lang { get; set; } 21 | public string pageName { get; set; } 22 | } 23 | //返回对象 24 | private class Response 25 | { 26 | public int code { get; set; } 27 | public string msg { get; set; } 28 | public object data { get; set; } 29 | } 30 | 31 | //通过POST只能获取1个对象,因此POST多个数据需要使用类 32 | public HttpResponseMessage Lang([FromBody] LangAjax langajax) 33 | { 34 | Db db = new Db(); 35 | string sql = "SELECT XU_HAO, WEN_ZI FROM GDMS_LANG WHERE YE_MIAN_MING = '"+ langajax.pageName + "' AND YU_ZHONG = '"+ langajax.lang +"' order by XU_HAO"; 36 | var ds = db.QueryT(sql); 37 | Response res = new Response(); 38 | Dictionary data = new Dictionary(); 39 | foreach (DataRow col in ds.Rows) 40 | { 41 | data.Add(col["XU_HAO"].ToString(), col["WEN_ZI"].ToString()); 42 | } 43 | 44 | res.code = 0; 45 | res.msg = ""; 46 | res.data = data; 47 | 48 | var resJsonStr = JsonConvert.SerializeObject(res); 49 | HttpResponseMessage resJson = new HttpResponseMessage 50 | { 51 | Content = new StringContent(resJsonStr, Encoding.GetEncoding("UTF-8"), "application/json") 52 | }; 53 | return resJson; 54 | } 55 | 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /GDMS/Controllers/LangManageController.cs: -------------------------------------------------------------------------------- 1 | using GDMS.Models; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Net; 6 | using System.Net.Http; 7 | using System.Web.Http; 8 | using Newtonsoft.Json; 9 | using System.Text; 10 | using System.Data; 11 | using System.Collections; 12 | 13 | namespace GDMS.Controllers 14 | { 15 | [RequestAuthorize] 16 | public class LangManageController : ApiController 17 | { 18 | //POST对象 19 | public class LangAjax 20 | { 21 | public string keyword { get; set; } 22 | public string pageId { get; set; } 23 | public int page { get; set; } 24 | public int limit { get; set; } 25 | } 26 | //返回对象 27 | private class Response 28 | { 29 | public int code { get; set; } 30 | public string count { get; set; } 31 | public string msg { get; set; } 32 | public object data { get; set; } 33 | } 34 | 35 | //获取语言列表 36 | [ActionName("list")] 37 | public HttpResponseMessage Lang([FromBody] LangAjax langajax) 38 | { 39 | Db db = new Db(); 40 | string where = ""; 41 | if (langajax.keyword != null && langajax.keyword.Length != 0) { where = where + "AND ( XU_HAO LIKE '" + langajax.keyword + "' or WEN_ZI LIKE '" + langajax.keyword + "')"; } 42 | if (langajax.pageId != null) { where = where + "AND YE_MIAN_MING = '" + langajax.pageId + "'"; } 43 | string sqlnp = "select * from GDMS_LANG where 1=1 "+where+" order by YE_MIAN_MING,XU_HAO,YU_ZHONG "; 44 | int limit1 = (langajax.page - 1) * langajax.limit + 1; 45 | int limit2 = langajax.page * langajax.limit; 46 | string sql = "SELECT * FROM(SELECT p1.*,ROWNUM rn FROM(" + sqlnp + ")p1)WHERE rn BETWEEN "+ limit1 + " AND "+ limit2; 47 | var ds = db.QueryT(sql); 48 | Response res = new Response(); 49 | ArrayList data = new ArrayList(); 50 | foreach (DataRow col in ds.Rows) 51 | { 52 | Dictionary dict = new Dictionary 53 | { 54 | { "YE_MIAN_MING", col["YE_MIAN_MING"].ToString() }, 55 | { "XU_HAO", col["XU_HAO"].ToString() }, 56 | { "YU_ZHONG", col["YU_ZHONG"].ToString() }, 57 | { "WEN_ZI", col["WEN_ZI"].ToString() } 58 | }; 59 | 60 | data.Add(dict); 61 | } 62 | 63 | string sql2 = "select count(*) as count from GDMS_LANG where 1=1 " + where; 64 | var ds2 = db.QueryT(sql2); 65 | foreach (DataRow col in ds2.Rows) 66 | { 67 | res.count = col["count"].ToString(); 68 | } 69 | 70 | res.code = 0; 71 | res.msg = ""; 72 | res.data = data; 73 | 74 | var resJsonStr = JsonConvert.SerializeObject(res); 75 | HttpResponseMessage resJson = new HttpResponseMessage 76 | { 77 | Content = new StringContent(resJsonStr, Encoding.GetEncoding("UTF-8"), "application/json") 78 | }; 79 | return resJson; 80 | } 81 | //获取select 82 | [ActionName("select")] 83 | public HttpResponseMessage DeviceSelect() 84 | { 85 | Db db = new Db(); 86 | Response res = new Response(); 87 | ArrayList data = new ArrayList(); 88 | 89 | //查询系统select 90 | string sql = "select DISTINCT YE_MIAN_MING as PAGE_NAME from GDMS_LANG"; 91 | var ds = db.QueryT(sql); 92 | foreach (DataRow col in ds.Rows) 93 | { 94 | data.Add(col["PAGE_NAME"].ToString()); 95 | } 96 | 97 | res.code = 0; 98 | res.msg = ""; 99 | res.data = data; 100 | 101 | var resJsonStr = JsonConvert.SerializeObject(res); 102 | HttpResponseMessage resJson = new HttpResponseMessage 103 | { 104 | Content = new StringContent(resJsonStr, Encoding.GetEncoding("UTF-8"), "application/json") 105 | }; 106 | return resJson; 107 | } 108 | 109 | } 110 | } 111 | -------------------------------------------------------------------------------- /GDMS/Controllers/LoginLangController.cs: -------------------------------------------------------------------------------- 1 | using GDMS.Models; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Net; 6 | using System.Net.Http; 7 | using System.Web.Http; 8 | using Newtonsoft.Json; 9 | using System.Text; 10 | using System.Data; 11 | 12 | namespace GDMS.Controllers 13 | { 14 | public class LoginLangController : ApiController 15 | { 16 | //POST对象 17 | public class LangAjax 18 | { 19 | public string lang { get; set; } 20 | public string pageName { get; set; } 21 | } 22 | //返回对象 23 | private class Response 24 | { 25 | public int code { get; set; } 26 | public string msg { get; set; } 27 | public object data { get; set; } 28 | } 29 | 30 | //通过POST只能获取1个对象,因此POST多个数据需要使用类 31 | public HttpResponseMessage Lang([FromBody] LangAjax langajax) 32 | { 33 | Db db = new Db(); 34 | string sql = "SELECT XU_HAO, WEN_ZI FROM GDMS_LANG WHERE YE_MIAN_MING = '"+ langajax.pageName + "' AND YU_ZHONG = '"+ langajax.lang +"' order by XU_HAO"; 35 | var ds = db.QueryT(sql); 36 | Response res = new Response(); 37 | Dictionary data = new Dictionary(); 38 | foreach (DataRow col in ds.Rows) 39 | { 40 | data.Add(col["XU_HAO"].ToString(), col["WEN_ZI"].ToString()); 41 | } 42 | 43 | res.code = 0; 44 | res.msg = ""; 45 | res.data = data; 46 | 47 | var resJsonStr = JsonConvert.SerializeObject(res); 48 | HttpResponseMessage resJson = new HttpResponseMessage 49 | { 50 | Content = new StringContent(resJsonStr, Encoding.GetEncoding("UTF-8"), "application/json") 51 | }; 52 | return resJson; 53 | } 54 | 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /GDMS/Controllers/TokenController.cs: -------------------------------------------------------------------------------- 1 | using JWT; 2 | using JWT.Serializers; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Net; 7 | using System.Net.Http; 8 | using System.Web.Http; 9 | 10 | namespace GDMS.Controllers 11 | { 12 | public class TokenController : ApiController 13 | { 14 | public string GetToken(string token) 15 | { 16 | var secret = "GQDstcKsx0NHjPOuXOYg5MbeJ1XT0uFiwDVvVBrk"; 17 | try 18 | { 19 | IJsonSerializer serializer = new JsonNetSerializer(); 20 | IDateTimeProvider provider = new UtcDateTimeProvider(); 21 | IJwtValidator validator = new JwtValidator(serializer, provider); 22 | IBase64UrlEncoder urlEncoder = new JwtBase64UrlEncoder(); 23 | IJwtDecoder decoder = new JwtDecoder(serializer, validator, urlEncoder); 24 | var json = decoder.Decode(token, secret, verify: true); //token为之前生成的字符串 25 | //return json; 26 | return "ok"; 27 | } 28 | catch (TokenExpiredException) 29 | { 30 | return "Token has expired"; 31 | } 32 | catch (SignatureVerificationException) 33 | { 34 | return "Token has invalid signature"; 35 | } 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /GDMS/Controllers/UserManageController.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.Data; 5 | using System.Linq; 6 | using System.Net; 7 | using System.Net.Http; 8 | using System.Text; 9 | using System.Web.Http; 10 | using GDMS.Models; 11 | using Newtonsoft.Json; 12 | 13 | namespace GDMS.Controllers 14 | { 15 | [RequestAuthorize] 16 | public class UserManageController : ApiController 17 | { 18 | //POST对象 19 | public class UserAjax 20 | { 21 | public int page { get; set; } 22 | public int limit { get; set; } 23 | } 24 | //返回对象 25 | private class Response 26 | { 27 | public int code { get; set; } 28 | public string count { get; set; } 29 | public string msg { get; set; } 30 | public object data { get; set; } 31 | } 32 | 33 | //获取用户列表 34 | [ActionName("list")] 35 | public HttpResponseMessage Lang([FromBody] UserAjax userajax) 36 | { 37 | Db db = new Db(); 38 | string sqlnp = "SELECT * FROM GDMS_USER order by USER_ID"; 39 | int limit1 = (userajax.page - 1) * userajax.limit + 1; 40 | int limit2 = userajax.page * userajax.limit; 41 | string sql = "SELECT * FROM(SELECT p1.*,ROWNUM rn FROM(" + sqlnp + ")p1)WHERE rn BETWEEN " + limit1 + " AND " + limit2; 42 | var ds = db.QueryT(sql); 43 | Response res = new Response(); 44 | ArrayList data = new ArrayList(); 45 | foreach (DataRow col in ds.Rows) 46 | { 47 | Dictionary dict = new Dictionary 48 | { 49 | { "USER_ID", col["USER_ID"].ToString() }, 50 | { "USER_NAME", col["USER_NAME"].ToString() }, 51 | { "USER_TYPE", col["USER_TYPE"].ToString() }, 52 | { "FAILED_LOGINS", col["FAILED_LOGINS"].ToString() }, 53 | { "LAST_IP", col["LAST_IP"].ToString() }, 54 | { "EMAIL", col["EMAIL"].ToString() }, 55 | { "LAST_LOGIN", col["LAST_LOGIN"].ToString() }, 56 | { "JOIN_DATE", col["JOIN_DATE"].ToString() }, 57 | }; 58 | 59 | data.Add(dict); 60 | } 61 | 62 | //获取用户数量 63 | string sql2 = "select count(*) as count from GDMS_USER"; 64 | var ds2 = db.QueryT(sql2); 65 | foreach (DataRow col in ds2.Rows) 66 | { 67 | res.count = col["count"].ToString(); 68 | } 69 | 70 | res.code = 0; 71 | res.msg = ""; 72 | res.data = data; 73 | 74 | var resJsonStr = JsonConvert.SerializeObject(res); 75 | HttpResponseMessage resJson = new HttpResponseMessage 76 | { 77 | Content = new StringContent(resJsonStr, Encoding.GetEncoding("UTF-8"), "application/json") 78 | }; 79 | return resJson; 80 | } 81 | } 82 | } 83 | -------------------------------------------------------------------------------- /GDMS/GDMS.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | true 5 | 6 | 7 | 8 | 9 | 10 | 11 | Debug|Any CPU 12 | ApiControllerEmptyScaffolder 13 | root/Controller 14 | 600 15 | True 16 | False 17 | True 18 | 19 | False 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | CurrentPage 28 | True 29 | False 30 | False 31 | False 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | True 41 | True 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /GDMS/Global.asax: -------------------------------------------------------------------------------- 1 | <%@ Application Codebehind="Global.asax.cs" Inherits="GDMS.WebApiApplication" Language="C#" %> 2 | -------------------------------------------------------------------------------- /GDMS/Global.asax.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Web; 5 | using System.Web.Http; 6 | using System.Web.Mvc; 7 | using System.Web.Optimization; 8 | using System.Web.Routing; 9 | using System.Web.SessionState; 10 | 11 | namespace GDMS 12 | { 13 | public class WebApiApplication : System.Web.HttpApplication 14 | { 15 | protected void Application_Start() 16 | { 17 | AreaRegistration.RegisterAllAreas(); 18 | GlobalConfiguration.Configure(WebApiConfig.Register); 19 | FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); 20 | RouteConfig.RegisterRoutes(RouteTable.Routes); 21 | BundleConfig.RegisterBundles(BundleTable.Bundles); 22 | } 23 | //把首页设置为重定向后的index.html地址 24 | protected void Application_BeginRequest(object sender, EventArgs e) 25 | { 26 | if (Context.Request.FilePath == "/"){Context.RewritePath("index.html");} 27 | if (Context.Request.FilePath == "/account"){Context.RewritePath("src/account.html");} 28 | } 29 | //开启session功能 30 | public override void Init() 31 | { 32 | this.PostAuthenticateRequest += (sender, e) => HttpContext.Current.SetSessionStateBehavior(SessionStateBehavior.Required); 33 | base.Init(); 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /GDMS/Models/RequestAuthorizeAttribute.cs: -------------------------------------------------------------------------------- 1 | using JWT; 2 | using JWT.Serializers; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Web; 7 | using System.Web.Http; 8 | 9 | namespace GDMS.Models 10 | { 11 | public class RequestAuthorizeAttribute : AuthorizeAttribute 12 | { 13 | //重写基类的验证方式,加入我们自定义的Ticket验证 14 | public override void OnAuthorization(System.Web.Http.Controllers.HttpActionContext actionContext) 15 | { 16 | //从http请求的头里面获取身份验证信息,验证是否是请求发起方的ticket 17 | var authorization = actionContext.Request.Headers.Authorization; 18 | if ((authorization != null) && (authorization.Parameter != null)) 19 | { 20 | //解密用户ticket,并校验用户名密码是否匹配 21 | var encryptTicket = authorization.Parameter; 22 | if (ValidateTicket(encryptTicket)) 23 | { 24 | base.IsAuthorized(actionContext); 25 | } 26 | else 27 | { 28 | HandleUnauthorizedRequest(actionContext); 29 | } 30 | } 31 | //如果取不到身份验证信息,并且不允许匿名访问,则返回未验证401 32 | else 33 | { 34 | var attributes = actionContext.ActionDescriptor.GetCustomAttributes().OfType(); 35 | bool isAnonymous = attributes.Any(a => a is AllowAnonymousAttribute); 36 | if (isAnonymous) base.OnAuthorization(actionContext); 37 | else HandleUnauthorizedRequest(actionContext); 38 | } 39 | } 40 | 41 | //校验用户名 42 | private bool ValidateTicket(string encryptTicket) 43 | { 44 | //解密token 45 | var tokenStat = CheckToken(encryptTicket); 46 | 47 | if (tokenStat == "ok") 48 | { 49 | return true; 50 | } 51 | else 52 | { 53 | return false; 54 | } 55 | } 56 | 57 | //验证token 58 | private string CheckToken(string token) 59 | { 60 | var secret = "GQDstcKsx0NHjPOuXOYg5MbeJ1XT0uFiwDVvVBrk"; 61 | try 62 | { 63 | IJsonSerializer serializer = new JsonNetSerializer(); 64 | IDateTimeProvider provider = new UtcDateTimeProvider(); 65 | IJwtValidator validator = new JwtValidator(serializer, provider); 66 | IBase64UrlEncoder urlEncoder = new JwtBase64UrlEncoder(); 67 | IJwtDecoder decoder = new JwtDecoder(serializer, validator, urlEncoder); 68 | var json = decoder.Decode(token, secret, verify: true); //token为之前生成的字符串 69 | //return json; 70 | return "ok"; 71 | } 72 | catch (TokenExpiredException) 73 | { 74 | return "Token has expired"; 75 | } 76 | catch (SignatureVerificationException) 77 | { 78 | return "Token has invalid signature"; 79 | } 80 | } 81 | 82 | } 83 | } -------------------------------------------------------------------------------- /GDMS/Models/ThreadSafeDictionary.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.IO; 5 | using System.Linq; 6 | using System.Runtime.Serialization; 7 | using System.Runtime.Serialization.Formatters.Binary; 8 | using System.Web; 9 | 10 | namespace GDMS.Models 11 | { 12 | public class ThreadSafeDictionary : IDictionary, ICloneable 13 | 14 | { 15 | public TValue this[TKey key] { get => throw new NotImplementedException(); set => throw new NotImplementedException(); } 16 | 17 | public ICollection Keys => throw new NotImplementedException(); 18 | 19 | public ICollection Values => throw new NotImplementedException(); 20 | 21 | public int Count => throw new NotImplementedException(); 22 | 23 | public bool IsReadOnly => throw new NotImplementedException(); 24 | 25 | public void Add(TKey key, TValue value) 26 | { 27 | throw new NotImplementedException(); 28 | } 29 | 30 | public void Add(KeyValuePair item) 31 | { 32 | throw new NotImplementedException(); 33 | } 34 | 35 | public void Clear() 36 | { 37 | throw new NotImplementedException(); 38 | } 39 | 40 | public object Clone() 41 | { 42 | BinaryFormatter Formatter = new BinaryFormatter(null, new StreamingContext(StreamingContextStates.Clone)); 43 | MemoryStream stream = new MemoryStream(); 44 | Formatter.Serialize(stream, this); 45 | stream.Position = 0; 46 | object clonedObj = Formatter.Deserialize(stream); 47 | stream.Close(); 48 | return clonedObj; 49 | } 50 | 51 | public bool Contains(KeyValuePair item) 52 | { 53 | throw new NotImplementedException(); 54 | } 55 | 56 | public bool ContainsKey(TKey key) 57 | { 58 | throw new NotImplementedException(); 59 | } 60 | 61 | public void CopyTo(KeyValuePair[] array, int arrayIndex) 62 | { 63 | throw new NotImplementedException(); 64 | } 65 | 66 | public IEnumerator> GetEnumerator() 67 | { 68 | throw new NotImplementedException(); 69 | } 70 | 71 | public bool Remove(TKey key) 72 | { 73 | throw new NotImplementedException(); 74 | } 75 | 76 | public bool Remove(KeyValuePair item) 77 | { 78 | throw new NotImplementedException(); 79 | } 80 | 81 | public bool TryGetValue(TKey key, out TValue value) 82 | { 83 | throw new NotImplementedException(); 84 | } 85 | 86 | IEnumerator IEnumerable.GetEnumerator() 87 | { 88 | throw new NotImplementedException(); 89 | } 90 | } 91 | } -------------------------------------------------------------------------------- /GDMS/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // 有关程序集的常规信息是通过以下项进行控制的 6 | // 控制。更改这些特性值可修改 7 | // 与程序集关联的信息。 8 | [assembly: AssemblyTitle("GDMS")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Microsoft")] 12 | [assembly: AssemblyProduct("GDMS")] 13 | [assembly: AssemblyCopyright("版权所有(C) Microsoft 2018")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // 将 ComVisible 设置为 false 将使此程序集中的类型 18 | // 对 COM 组件不可见。如果需要 19 | // 从 COM 访问此程序集中的某个类型,请针对该类型将 ComVisible 特性设置为 true。 20 | [assembly: ComVisible(false)] 21 | 22 | // 如果此项目向 COM 公开,则下列 GUID 用于 typelib 的 ID 23 | [assembly: Guid("35bad1e2-1631-4a2f-94bc-857a7540b6c5")] 24 | 25 | // 程序集的版本信息由下列四个值组成: 26 | // 27 | // 主版本 28 | // 次版本 29 | // 内部版本号 30 | // 修订版本 31 | // 32 | // 你可以指定所有值,也可以让修订版本和内部版本号采用默认值, 33 | // 方法是按如下所示使用 "*": 34 | [assembly: AssemblyVersion("1.0.0.0")] 35 | [assembly: AssemblyFileVersion("1.0.0.0")] 36 | -------------------------------------------------------------------------------- /GDMS/Views/Web.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 |
7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /GDMS/Web.Debug.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 17 | 18 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /GDMS/Web.Release.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 17 | 18 | 19 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /GDMS/bin/Antlr3.Runtime.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/Antlr3.Runtime.dll -------------------------------------------------------------------------------- /GDMS/bin/Antlr3.Runtime.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/Antlr3.Runtime.pdb -------------------------------------------------------------------------------- /GDMS/bin/GDMS.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/GDMS.dll -------------------------------------------------------------------------------- /GDMS/bin/GDMS.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/GDMS.pdb -------------------------------------------------------------------------------- /GDMS/bin/JWT.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/JWT.dll -------------------------------------------------------------------------------- /GDMS/bin/Microsoft.AI.Agent.Intercept.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/Microsoft.AI.Agent.Intercept.dll -------------------------------------------------------------------------------- /GDMS/bin/Microsoft.AI.DependencyCollector.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/Microsoft.AI.DependencyCollector.dll -------------------------------------------------------------------------------- /GDMS/bin/Microsoft.AI.PerfCounterCollector.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/Microsoft.AI.PerfCounterCollector.dll -------------------------------------------------------------------------------- /GDMS/bin/Microsoft.AI.ServerTelemetryChannel.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/Microsoft.AI.ServerTelemetryChannel.dll -------------------------------------------------------------------------------- /GDMS/bin/Microsoft.AI.Web.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/Microsoft.AI.Web.dll -------------------------------------------------------------------------------- /GDMS/bin/Microsoft.AI.WindowsServer.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/Microsoft.AI.WindowsServer.dll -------------------------------------------------------------------------------- /GDMS/bin/Microsoft.ApplicationInsights.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/Microsoft.ApplicationInsights.dll -------------------------------------------------------------------------------- /GDMS/bin/Microsoft.AspNet.TelemetryCorrelation.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/Microsoft.AspNet.TelemetryCorrelation.dll -------------------------------------------------------------------------------- /GDMS/bin/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll -------------------------------------------------------------------------------- /GDMS/bin/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.CodeDom.Providers.DotNetCompilerPlatform 5 | 6 | 7 | 8 | 9 | Provides access to instances of the .NET Compiler Platform C# code generator and code compiler. 10 | 11 | 12 | 13 | 14 | Default Constructor 15 | 16 | 17 | 18 | 19 | Gets an instance of the .NET Compiler Platform C# code compiler. 20 | 21 | An instance of the .NET Compiler Platform C# code compiler 22 | 23 | 24 | 25 | Provides access to instances of the .NET Compiler Platform VB code generator and code compiler. 26 | 27 | 28 | 29 | 30 | Default Constructor 31 | 32 | 33 | 34 | 35 | Gets an instance of the .NET Compiler Platform VB code compiler. 36 | 37 | An instance of the .NET Compiler Platform VB code compiler 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /GDMS/bin/Microsoft.Web.Infrastructure.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/Microsoft.Web.Infrastructure.dll -------------------------------------------------------------------------------- /GDMS/bin/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /GDMS/bin/Oracle.DataAccess.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/Oracle.DataAccess.dll -------------------------------------------------------------------------------- /GDMS/bin/System.Diagnostics.DiagnosticSource.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/System.Diagnostics.DiagnosticSource.dll -------------------------------------------------------------------------------- /GDMS/bin/System.Net.Http.Formatting.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/System.Net.Http.Formatting.dll -------------------------------------------------------------------------------- /GDMS/bin/System.Web.Helpers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/System.Web.Helpers.dll -------------------------------------------------------------------------------- /GDMS/bin/System.Web.Http.WebHost.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/System.Web.Http.WebHost.dll -------------------------------------------------------------------------------- /GDMS/bin/System.Web.Http.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/System.Web.Http.dll -------------------------------------------------------------------------------- /GDMS/bin/System.Web.Mvc.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/System.Web.Mvc.dll -------------------------------------------------------------------------------- /GDMS/bin/System.Web.Optimization.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/System.Web.Optimization.dll -------------------------------------------------------------------------------- /GDMS/bin/System.Web.Razor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/System.Web.Razor.dll -------------------------------------------------------------------------------- /GDMS/bin/System.Web.WebPages.Deployment.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/System.Web.WebPages.Deployment.dll -------------------------------------------------------------------------------- /GDMS/bin/System.Web.WebPages.Razor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/System.Web.WebPages.Razor.dll -------------------------------------------------------------------------------- /GDMS/bin/System.Web.WebPages.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/System.Web.WebPages.dll -------------------------------------------------------------------------------- /GDMS/bin/WebGrease.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/WebGrease.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/Microsoft.Build.Tasks.CodeAnalysis.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/Microsoft.Build.Tasks.CodeAnalysis.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/Microsoft.CodeAnalysis.CSharp.Scripting.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/Microsoft.CodeAnalysis.CSharp.Scripting.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/Microsoft.CodeAnalysis.CSharp.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/Microsoft.CodeAnalysis.CSharp.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/Microsoft.CodeAnalysis.Scripting.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/Microsoft.CodeAnalysis.Scripting.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/Microsoft.CodeAnalysis.VisualBasic.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/Microsoft.CodeAnalysis.VisualBasic.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/Microsoft.CodeAnalysis.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/Microsoft.CodeAnalysis.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/Microsoft.DiaSymReader.Native.amd64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/Microsoft.DiaSymReader.Native.amd64.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/Microsoft.DiaSymReader.Native.x86.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/Microsoft.DiaSymReader.Native.x86.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/Microsoft.Win32.Primitives.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/Microsoft.Win32.Primitives.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/System.AppContext.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/System.AppContext.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/System.Collections.Immutable.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/System.Collections.Immutable.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/System.Console.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/System.Console.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/System.Diagnostics.FileVersionInfo.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/System.Diagnostics.FileVersionInfo.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/System.Diagnostics.Process.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/System.Diagnostics.Process.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/System.Diagnostics.StackTrace.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/System.Diagnostics.StackTrace.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/System.IO.Compression.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/System.IO.Compression.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/System.IO.FileSystem.DriveInfo.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/System.IO.FileSystem.DriveInfo.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/System.IO.FileSystem.Primitives.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/System.IO.FileSystem.Primitives.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/System.IO.FileSystem.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/System.IO.FileSystem.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/System.IO.Pipes.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/System.IO.Pipes.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/System.Reflection.Metadata.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/System.Reflection.Metadata.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/System.Security.AccessControl.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/System.Security.AccessControl.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/System.Security.Claims.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/System.Security.Claims.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/System.Security.Cryptography.Algorithms.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/System.Security.Cryptography.Algorithms.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/System.Security.Cryptography.Encoding.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/System.Security.Cryptography.Encoding.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/System.Security.Cryptography.Primitives.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/System.Security.Cryptography.Primitives.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/System.Security.Cryptography.X509Certificates.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/System.Security.Cryptography.X509Certificates.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/System.Security.Principal.Windows.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/System.Security.Principal.Windows.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/System.Text.Encoding.CodePages.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/System.Text.Encoding.CodePages.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/System.Threading.Thread.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/System.Threading.Thread.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/System.ValueTuple.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/System.ValueTuple.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/System.Xml.ReaderWriter.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/System.Xml.ReaderWriter.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/System.Xml.XPath.XDocument.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/System.Xml.XPath.XDocument.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/System.Xml.XPath.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/System.Xml.XPath.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/System.Xml.XmlDocument.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/System.Xml.XmlDocument.dll -------------------------------------------------------------------------------- /GDMS/bin/roslyn/VBCSCompiler.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/VBCSCompiler.exe -------------------------------------------------------------------------------- /GDMS/bin/roslyn/csc.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/csc.exe -------------------------------------------------------------------------------- /GDMS/bin/roslyn/csc.rsp: -------------------------------------------------------------------------------- 1 | # Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | # This file contains command-line options that the C# 4 | # command line compiler (CSC) will process as part 5 | # of every compilation, unless the "/noconfig" option 6 | # is specified. 7 | 8 | # Reference the common Framework libraries 9 | /r:Accessibility.dll 10 | /r:Microsoft.CSharp.dll 11 | /r:System.Configuration.dll 12 | /r:System.Configuration.Install.dll 13 | /r:System.Core.dll 14 | /r:System.Data.dll 15 | /r:System.Data.DataSetExtensions.dll 16 | /r:System.Data.Linq.dll 17 | /r:System.Data.OracleClient.dll 18 | /r:System.Deployment.dll 19 | /r:System.Design.dll 20 | /r:System.DirectoryServices.dll 21 | /r:System.dll 22 | /r:System.Drawing.Design.dll 23 | /r:System.Drawing.dll 24 | /r:System.EnterpriseServices.dll 25 | /r:System.Management.dll 26 | /r:System.Messaging.dll 27 | /r:System.Runtime.Remoting.dll 28 | /r:System.Runtime.Serialization.dll 29 | /r:System.Runtime.Serialization.Formatters.Soap.dll 30 | /r:System.Security.dll 31 | /r:System.ServiceModel.dll 32 | /r:System.ServiceModel.Web.dll 33 | /r:System.ServiceProcess.dll 34 | /r:System.Transactions.dll 35 | /r:System.Web.dll 36 | /r:System.Web.Extensions.Design.dll 37 | /r:System.Web.Extensions.dll 38 | /r:System.Web.Mobile.dll 39 | /r:System.Web.RegularExpressions.dll 40 | /r:System.Web.Services.dll 41 | /r:System.Windows.Forms.dll 42 | /r:System.Workflow.Activities.dll 43 | /r:System.Workflow.ComponentModel.dll 44 | /r:System.Workflow.Runtime.dll 45 | /r:System.Xml.dll 46 | /r:System.Xml.Linq.dll 47 | -------------------------------------------------------------------------------- /GDMS/bin/roslyn/csi.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/csi.exe -------------------------------------------------------------------------------- /GDMS/bin/roslyn/csi.rsp: -------------------------------------------------------------------------------- 1 | /r:System 2 | /r:System.Core 3 | /r:Microsoft.CSharp 4 | /r:System.ValueTuple.dll 5 | /u:System 6 | /u:System.IO 7 | /u:System.Collections.Generic 8 | /u:System.Console 9 | /u:System.Diagnostics 10 | /u:System.Dynamic 11 | /u:System.Linq 12 | /u:System.Linq.Expressions 13 | /u:System.Text 14 | /u:System.Threading.Tasks -------------------------------------------------------------------------------- /GDMS/bin/roslyn/vbc.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/roslyn/vbc.exe -------------------------------------------------------------------------------- /GDMS/bin/roslyn/vbc.rsp: -------------------------------------------------------------------------------- 1 | # Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. 2 | 3 | # This file contains command-line options that the VB 4 | # command line compiler (VBC) will process as part 5 | # of every compilation, unless the "/noconfig" option 6 | # is specified. 7 | 8 | # Reference the common Framework libraries 9 | /r:Accessibility.dll 10 | /r:System.Configuration.dll 11 | /r:System.Configuration.Install.dll 12 | /r:System.Data.dll 13 | /r:System.Data.OracleClient.dll 14 | /r:System.Deployment.dll 15 | /r:System.Design.dll 16 | /r:System.DirectoryServices.dll 17 | /r:System.dll 18 | /r:System.Drawing.Design.dll 19 | /r:System.Drawing.dll 20 | /r:System.EnterpriseServices.dll 21 | /r:System.Management.dll 22 | /r:System.Messaging.dll 23 | /r:System.Runtime.Remoting.dll 24 | /r:System.Runtime.Serialization.Formatters.Soap.dll 25 | /r:System.Security.dll 26 | /r:System.ServiceProcess.dll 27 | /r:System.Transactions.dll 28 | /r:System.Web.dll 29 | /r:System.Web.Mobile.dll 30 | /r:System.Web.RegularExpressions.dll 31 | /r:System.Web.Services.dll 32 | /r:System.Windows.Forms.dll 33 | /r:System.XML.dll 34 | 35 | /r:System.Workflow.Activities.dll 36 | /r:System.Workflow.ComponentModel.dll 37 | /r:System.Workflow.Runtime.dll 38 | /r:System.Runtime.Serialization.dll 39 | /r:System.ServiceModel.dll 40 | 41 | /r:System.Core.dll 42 | /r:System.Xml.Linq.dll 43 | /r:System.Data.Linq.dll 44 | /r:System.Data.DataSetExtensions.dll 45 | /r:System.Web.Extensions.dll 46 | /r:System.Web.Extensions.Design.dll 47 | /r:System.ServiceModel.Web.dll 48 | 49 | # Import System and Microsoft.VisualBasic 50 | /imports:System 51 | /imports:Microsoft.VisualBasic 52 | /imports:System.Linq 53 | /imports:System.Xml.Linq 54 | 55 | /optioninfer+ 56 | -------------------------------------------------------------------------------- /GDMS/bin/zh-Hans/System.Net.Http.Formatting.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/zh-Hans/System.Net.Http.Formatting.resources.dll -------------------------------------------------------------------------------- /GDMS/bin/zh-Hans/System.Web.Helpers.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/zh-Hans/System.Web.Helpers.resources.dll -------------------------------------------------------------------------------- /GDMS/bin/zh-Hans/System.Web.Http.WebHost.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/zh-Hans/System.Web.Http.WebHost.resources.dll -------------------------------------------------------------------------------- /GDMS/bin/zh-Hans/System.Web.Http.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/zh-Hans/System.Web.Http.resources.dll -------------------------------------------------------------------------------- /GDMS/bin/zh-Hans/System.Web.Mvc.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/zh-Hans/System.Web.Mvc.resources.dll -------------------------------------------------------------------------------- /GDMS/bin/zh-Hans/System.Web.Optimization.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/zh-Hans/System.Web.Optimization.resources.dll -------------------------------------------------------------------------------- /GDMS/bin/zh-Hans/System.Web.Razor.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/zh-Hans/System.Web.Razor.resources.dll -------------------------------------------------------------------------------- /GDMS/bin/zh-Hans/System.Web.WebPages.Deployment.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/zh-Hans/System.Web.WebPages.Deployment.resources.dll -------------------------------------------------------------------------------- /GDMS/bin/zh-Hans/System.Web.WebPages.Razor.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/zh-Hans/System.Web.WebPages.Razor.resources.dll -------------------------------------------------------------------------------- /GDMS/bin/zh-Hans/System.Web.WebPages.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/bin/zh-Hans/System.Web.WebPages.resources.dll -------------------------------------------------------------------------------- /GDMS/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/favicon.ico -------------------------------------------------------------------------------- /GDMS/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /GDMS/obj/Debug/GDMS.csproj.CopyComplete: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/obj/Debug/GDMS.csproj.CopyComplete -------------------------------------------------------------------------------- /GDMS/obj/Debug/GDMS.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 0a875a22f823e5ee68f8a2e3045abe4e6351d195 2 | -------------------------------------------------------------------------------- /GDMS/obj/Debug/GDMS.csprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/obj/Debug/GDMS.csprojAssemblyReference.cache -------------------------------------------------------------------------------- /GDMS/obj/Debug/GDMS.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/obj/Debug/GDMS.dll -------------------------------------------------------------------------------- /GDMS/obj/Debug/GDMS.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/obj/Debug/GDMS.pdb -------------------------------------------------------------------------------- /GDMS/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs -------------------------------------------------------------------------------- /GDMS/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs -------------------------------------------------------------------------------- /GDMS/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs -------------------------------------------------------------------------------- /GDMS/obj/Release/GDMS.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 8022105a91f3c53e9eb93b70e26c388c52f58981 2 | -------------------------------------------------------------------------------- /GDMS/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /GDMS/src/controllers/Logout.js: -------------------------------------------------------------------------------- 1 | function Logout(){ 2 | sessionStorage.removeItem('access_token'); 3 | sessionStorage.removeItem('userid'); 4 | sessionStorage.removeItem('username'); 5 | sessionStorage.removeItem('role'); 6 | sessionStorage.removeItem('joindate'); 7 | sessionStorage.removeItem('viewNow'); 8 | 9 | location.href = 'account'; 10 | } -------------------------------------------------------------------------------- /GDMS/src/css/index.css: -------------------------------------------------------------------------------- 1 | body{ 2 | margin:0; 3 | padding:0; 4 | font-family:Helvetica Neue,Helvetica,PingFang SC,微软雅黑,Tahoma,Arial,sans-serif; 5 | background-color:#F2F2F2; 6 | height:100%; 7 | } 8 | 9 | .left-wrap{ 10 | position:fixed; 11 | height:100%; 12 | background-color:#24262F; 13 | } 14 | 15 | .bing-title{ 16 | color:#ddd !important; 17 | background-color:#3A3D49; 18 | width:190px; 19 | text-align:center; 20 | } 21 | 22 | .bing-left{ 23 | float:left; 24 | } 25 | .bing-right{ 26 | float:right; 27 | } 28 | -------------------------------------------------------------------------------- /GDMS/src/css/view/commonAdd.css: -------------------------------------------------------------------------------- 1 | .layui-body .layui-form-label{ 2 | height: 34px !important; 3 | padding: 6px 15px !important; 4 | font-size:13px !important; 5 | } 6 | .layui-body .layui-form-item{ 7 | margin-bottom: 15px !important; 8 | } 9 | 10 | .layui-body .layui-input, .layui-select, .layui-textarea { 11 | height: 34px !important; 12 | } 13 | .layui-body .layui-form-item .layui-inline { 14 | margin-bottom: 0px !important; 15 | } 16 | .layui-body .layui-form-mid { 17 | padding: 7px 0 !important; 18 | } 19 | /*改写switch开关*/ 20 | .layui-form-pane .layui-form-switch { 21 | margin: 7px !important; 22 | } 23 | .layui-body .layui-form-switch { 24 | height: 18px !important; 25 | line-height: 18px !important; 26 | } 27 | .layui-body .layui-form-onswitch i { 28 | margin-left: -18px !important; 29 | } 30 | .layui-body .layui-form-switch i { 31 | top: 2px !important; 32 | width: 14px !important; 33 | height: 14px !important; 34 | } 35 | .layui-body .layui-form-radio > i { 36 | font-size: 21px !important; 37 | } 38 | .layui-body .layui-form-pane .layui-form-radio{ 39 | margin:3px 0px 3px 10px !important; 40 | } 41 | .more-wrap{ 42 | margin-bottom:25px; 43 | } 44 | .more-btn{ 45 | text-align:center; 46 | width:435px; 47 | height:30px; 48 | line-height:30px; 49 | cursor:pointer; 50 | background-color: #efefef; 51 | color: #666; 52 | border: 1px dashed #aaa; 53 | } 54 | .more-btn:hover{ 55 | background-color: #eee; 56 | border: 1px dashed #ccc; 57 | color: #888; 58 | } 59 | .more-text{ 60 | color:; 61 | } 62 | 63 | .info-input{ 64 | width:100%; 65 | height:100%; 66 | border:0px; 67 | text-align:center; 68 | } 69 | .addItem{ 70 | position:relative; 71 | } 72 | .addItem .layui-input{ 73 | width: 329px; 74 | } 75 | .delBtn{ 76 | display:none; 77 | position:absolute; 78 | right:-170px; 79 | top:0px; 80 | padding:4px 8px; 81 | cursor:pointer; 82 | border:1px solid #ddd; 83 | color:#fff; 84 | background-color:#2F4056; 85 | } 86 | 87 | 88 | 89 | -------------------------------------------------------------------------------- /GDMS/src/css/view/commonEdit.css: -------------------------------------------------------------------------------- 1 | body{ 2 | overflow:hidden; 3 | } 4 | .layui-form-label{ 5 | height: 34px !important; 6 | padding: 6px 15px !important; 7 | font-size:13px !important; 8 | } 9 | .layui-form-item{ 10 | margin-bottom: 15px !important; 11 | } 12 | 13 | .layui-input, .layui-select, .layui-textarea { 14 | height: 34px !important; 15 | } 16 | .layui-form-item .layui-inline { 17 | margin-bottom: 0px !important; 18 | } 19 | .layui-form-mid { 20 | padding: 7px 0 !important; 21 | } 22 | /*改写switch开关*/ 23 | .layui-form-pane .layui-form-switch { 24 | margin: 7px !important; 25 | } 26 | .layui-form-switch { 27 | height: 18px !important; 28 | line-height: 18px !important; 29 | } 30 | .layui-form-onswitch i { 31 | margin-left: -18px !important; 32 | } 33 | .layui-form-switch i { 34 | top: 2px !important; 35 | width: 14px !important; 36 | height: 14px !important; 37 | } 38 | .layui-form-radio > i { 39 | font-size: 21px !important; 40 | } 41 | .layui-form-pane .layui-form-radio{ 42 | margin:3px 0px 3px 10px !important; 43 | } 44 | .more-wrap{ 45 | margin-bottom:25px; 46 | } 47 | .more-btn{ 48 | text-align:center; 49 | width:435px; 50 | height:30px; 51 | line-height:30px; 52 | cursor:pointer; 53 | background-color: #efefef; 54 | color: #666; 55 | border: 1px dashed #aaa; 56 | } 57 | .more-btn:hover{ 58 | background-color: #eee; 59 | border: 1px dashed #ccc; 60 | color: #888; 61 | } 62 | .more-text{ 63 | color:; 64 | } 65 | 66 | .info-input{ 67 | width:100%; 68 | height:100%; 69 | border:0px; 70 | text-align:center; 71 | } 72 | .addItem{ 73 | position:relative; 74 | } 75 | .addItem .layui-input{ 76 | width: 329px; 77 | } 78 | .delBtn{ 79 | display:none; 80 | position:absolute; 81 | right:-170px; 82 | top:0px; 83 | padding:6px 8px; 84 | cursor:pointer; 85 | border:1px solid #ddd; 86 | color:#fff; 87 | background-color:#2F4056; 88 | } 89 | 90 | 91 | .wrap{ 92 | box-sizing:border-box; 93 | padding:20px 20px; 94 | width:1000px; 95 | } 96 | .left{ 97 | box-sizing:border-box; 98 | float:left; 99 | width:50%; 100 | padding-right:20px; 101 | } 102 | .right{ 103 | box-sizing:border-box; 104 | float:left; 105 | width:50%; 106 | padding-right:20px; 107 | overflow-y:auto; 108 | height:370px; 109 | } 110 | -------------------------------------------------------------------------------- /GDMS/src/css/view/dashboard.css: -------------------------------------------------------------------------------- 1 | .bing-notice{ 2 | overflow-y: scroll; 3 | text-align:left; 4 | } 5 | .sys-text{ 6 | margin-top:15px; 7 | font-size:12px; 8 | color:#555; 9 | } 10 | .total-count{ 11 | margin-left:8px; 12 | } 13 | 14 | .fast-wrap{ 15 | box-sizing:border-box; 16 | float:left; 17 | width:25%; 18 | padding:10px; 19 | cursor:pointer; 20 | } 21 | .fast-wrap:hover{ 22 | background-color:#eee; 23 | } 24 | .fast-icon{ 25 | text-align:center; 26 | } 27 | .fast-text{ 28 | font-size:12px; 29 | color:#666; 30 | text-align:center; 31 | } 32 | .layui-card-setting{ 33 | position: absolute; 34 | right: 10px; 35 | top: 0; 36 | color: #aaa; 37 | } 38 | .layui-icon-set-fill{ 39 | padding:5px; 40 | cursor:pointer; 41 | } 42 | .layui-icon-set-fill:hover{ 43 | background-color:#eee; 44 | color:#01AAED; 45 | } -------------------------------------------------------------------------------- /GDMS/src/css/view/deviceList.css: -------------------------------------------------------------------------------- 1 | .row-selected{ 2 | background-color:#5FB878 !important; 3 | color:#fff !important; 4 | } 5 | .more{ 6 | position:absolute; 7 | height:100%; 8 | right:0px; 9 | width:250px; 10 | background-color:#fff; 11 | top:-9px; 12 | border-left:1px solid #ddd; 13 | border-bottom:1px solid #ddd; 14 | box-shadow: 1px 1px 10px 3px #ddd; 15 | display:none; 16 | z-index:900; 17 | } 18 | .more-title{ 19 | text-align:center; 20 | color:#666; 21 | font-size:13px; 22 | padding:6px; 23 | border-bottom:1px solid #eee; 24 | margin-bottom:10px; 25 | } 26 | .more-info{ 27 | padding:5px 5px 5px 5px; 28 | } 29 | .more-key{ 30 | text-align:center; 31 | font-size:12px; 32 | color:#666; 33 | height:25px; 34 | line-height:25px; 35 | border:1px solid #e6e6e6; 36 | background-color:#f2f2f2;; 37 | } 38 | .more-value{ 39 | text-align:center; 40 | font-size:13px; 41 | color:#555; 42 | height:25px; 43 | line-height:25px; 44 | border-left:1px solid #e6e6e6; 45 | border-right:1px solid #e6e6e6; 46 | border-bottom:1px solid #e6e6e6; 47 | } 48 | .more-close{ 49 | position:absolute; 50 | top:7px; 51 | right:10px; 52 | padding:0px 2px 0px 2px; 53 | border-radius:50%; 54 | cursor:pointer; 55 | } 56 | .more-close:hover{ 57 | background-color:#5FB878; 58 | } 59 | .more .layui-icon-close:hover{ 60 | color:#fff; 61 | 62 | } 63 | .more-tishi{ 64 | text-align:center; 65 | font-size:13px; 66 | color:#888; 67 | } 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /GDMS/src/css/view/siteList.css: -------------------------------------------------------------------------------- 1 | .tree-msg{ 2 | color:#888; 3 | } 4 | .tree-msg .layui-icon{ 5 | font-size:20px; 6 | margin-right:5px; 7 | } 8 | .tree-no{ 9 | text-align:center; 10 | color:#888; 11 | } 12 | .zu{ 13 | margin-left:25px; 14 | color:#333; 15 | font-weight:400; 16 | position:relative; 17 | } 18 | 19 | .zu span{ 20 | padding:3px 10px; 21 | box-sizing:border-box; 22 | display:block; 23 | } 24 | .zu span:hover{ 25 | color:#0F88EB; 26 | } 27 | .zu-wrap{ 28 | border:1px solid #ddd ; 29 | height:431px; 30 | padding:15px 0px; 31 | overflow:auto; 32 | border-bottom:0px; 33 | } 34 | .level1{ 35 | color:#0F88EB; 36 | margin-left:0px !important; 37 | } 38 | .zu .layui-icon{ 39 | position:absolute; 40 | left:-23px; 41 | top:-1px; 42 | color:#888; 43 | } -------------------------------------------------------------------------------- /GDMS/src/css/view/systemManage.css: -------------------------------------------------------------------------------- 1 | [class*='-ID']{ 2 | display:none !important; 3 | } 4 | .table2-tishi{ 5 | color:#888; 6 | text-align:center; 7 | width:100%; 8 | } 9 | .row-selected{ 10 | background-color:#5FB878 !important; 11 | color:#fff !important; 12 | } -------------------------------------------------------------------------------- /GDMS/src/images/demo1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/images/demo1.png -------------------------------------------------------------------------------- /GDMS/src/images/demo2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/images/demo2.png -------------------------------------------------------------------------------- /GDMS/src/images/demo3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/images/demo3.png -------------------------------------------------------------------------------- /GDMS/src/images/text_fill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/images/text_fill.png -------------------------------------------------------------------------------- /GDMS/src/js/custom.js: -------------------------------------------------------------------------------- 1 | //监听数据表格行点击事件 2 | $(document).on('click', '.layui-table>tbody>tr>td', function (){ 3 | var field = $(this).attr('data-field'); 4 | //不能是链接行 5 | if(field!='0'&&field!='STYLE_NAME'&&field!='SN'&&field!='STN_NAME'&&field!='FILE_NAME'&&field!='IMG_URL'){ 6 | var index = $(this).parent().attr('data-index'); 7 | $('.layui-table-fixed tr[data-index='+index+']').find('.layui-form-checkbox').click(); 8 | } 9 | }); 10 | 11 | //底部版权点击事件 12 | $('body').on('click','.footer-line',function(){ 13 | layer.open({ 14 | type: 1, 15 | shadeClose:true, 16 | anim:2, 17 | title: false, //不显示标题栏 18 | closeBtn: false, 19 | area: '380px;', 20 | shade: 0.8, 21 | moveType: 1, //拖拽模式,0或者1 22 | content: 23 | '' 30 | }); 31 | 32 | var css = {top:'-30px',right:'30px'}; 33 | $('.logo').animate(css,1200,rowBack); 34 | 35 | function rowBack(){ 36 | if(css.top==='-30px'&&css.right==='30px'){ 37 | css.top='40px'; 38 | $('.logo').animate(css,1200,rowBack); 39 | }else if(css.top==='40px'&&css.right==='30px'){ 40 | css.right='-50px'; 41 | $('.logo').animate(css,1200,rowBack); 42 | }else if(css.right==='-50px'){ 43 | css.right='30.1px'; 44 | $('.logo').animate(css,1200,rowBack); 45 | }else if(css.right==='30.1px'){ 46 | css.top='-30px'; 47 | css.right='30px' 48 | $('.logo').animate(css,1200,rowBack); 49 | } 50 | 51 | } 52 | }); -------------------------------------------------------------------------------- /GDMS/src/js/jquery-ui/images/ui-icons_444444_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/jquery-ui/images/ui-icons_444444_256x240.png -------------------------------------------------------------------------------- /GDMS/src/js/jquery-ui/images/ui-icons_555555_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/jquery-ui/images/ui-icons_555555_256x240.png -------------------------------------------------------------------------------- /GDMS/src/js/jquery-ui/images/ui-icons_777620_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/jquery-ui/images/ui-icons_777620_256x240.png -------------------------------------------------------------------------------- /GDMS/src/js/jquery-ui/images/ui-icons_777777_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/jquery-ui/images/ui-icons_777777_256x240.png -------------------------------------------------------------------------------- /GDMS/src/js/jquery-ui/images/ui-icons_cc0000_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/jquery-ui/images/ui-icons_cc0000_256x240.png -------------------------------------------------------------------------------- /GDMS/src/js/jquery-ui/images/ui-icons_ffffff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/jquery-ui/images/ui-icons_ffffff_256x240.png -------------------------------------------------------------------------------- /GDMS/src/js/layui/css/modules/code.css: -------------------------------------------------------------------------------- 1 | /** layui-v2.4.3 MIT License By https://www.layui.com */ 2 | html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #e2e2e2;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:32px;line-height:32px;border-bottom:1px solid #e2e2e2}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 5px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none} -------------------------------------------------------------------------------- /GDMS/src/js/layui/css/modules/layer/default/icon-ext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/css/modules/layer/default/icon-ext.png -------------------------------------------------------------------------------- /GDMS/src/js/layui/css/modules/layer/default/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/css/modules/layer/default/icon.png -------------------------------------------------------------------------------- /GDMS/src/js/layui/css/modules/layer/default/loading-0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/css/modules/layer/default/loading-0.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/css/modules/layer/default/loading-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/css/modules/layer/default/loading-1.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/css/modules/layer/default/loading-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/css/modules/layer/default/loading-2.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/font/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/font/iconfont.eot -------------------------------------------------------------------------------- /GDMS/src/js/layui/font/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/font/iconfont.ttf -------------------------------------------------------------------------------- /GDMS/src/js/layui/font/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/font/iconfont.woff -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/0.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/1.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/10.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/10.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/11.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/11.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/12.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/12.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/13.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/13.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/14.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/14.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/15.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/15.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/16.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/17.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/17.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/18.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/18.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/19.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/19.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/2.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/20.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/20.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/21.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/21.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/22.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/22.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/23.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/23.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/24.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/24.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/25.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/25.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/26.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/26.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/27.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/27.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/28.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/28.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/29.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/29.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/3.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/30.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/30.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/31.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/31.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/32.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/33.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/33.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/34.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/34.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/35.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/35.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/36.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/36.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/37.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/37.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/38.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/38.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/39.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/39.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/4.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/40.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/40.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/41.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/41.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/42.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/42.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/43.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/43.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/44.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/44.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/45.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/45.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/46.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/46.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/47.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/47.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/48.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/48.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/49.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/49.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/5.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/50.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/50.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/51.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/51.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/52.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/52.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/53.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/53.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/54.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/54.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/55.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/55.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/56.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/56.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/57.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/57.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/58.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/58.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/59.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/59.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/6.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/60.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/60.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/61.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/61.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/62.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/62.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/63.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/63.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/64.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/64.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/65.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/65.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/66.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/66.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/67.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/67.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/68.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/68.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/69.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/69.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/7.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/70.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/70.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/71.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/71.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/8.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/images/face/9.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/manier13579/GDMS-DeviceManagementSystem/d712d4ed77d509ddbc6870a69525adc3ffdf3561/GDMS/src/js/layui/images/face/9.gif -------------------------------------------------------------------------------- /GDMS/src/js/layui/lay/modules/carousel.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.4.3 MIT License By https://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var i=layui.$,n=(layui.hint(),layui.device(),{config:{},set:function(e){var n=this;return n.config=i.extend({},n.config,e),n},on:function(e,i){return layui.onevent.call(this,t,e,i)}}),t="carousel",a="layui-this",l=">*[carousel-item]>*",o="layui-carousel-left",r="layui-carousel-right",d="layui-carousel-prev",s="layui-carousel-next",u="layui-carousel-arrow",c="layui-carousel-ind",m=function(e){var t=this;t.config=i.extend({},t.config,n.config,e),t.render()};m.prototype.config={width:"600px",height:"280px",full:!1,arrow:"hover",indicator:"inside",autoplay:!0,interval:3e3,anim:"",trigger:"click",index:0},m.prototype.render=function(){var e=this,n=e.config;n.elem=i(n.elem),n.elem[0]&&(e.elemItem=n.elem.find(l),n.index<0&&(n.index=0),n.index>=e.elemItem.length&&(n.index=e.elemItem.length-1),n.interval<800&&(n.interval=800),n.full?n.elem.css({position:"fixed",width:"100%",height:"100%",zIndex:9999}):n.elem.css({width:n.width,height:n.height}),n.elem.attr("lay-anim",n.anim),e.elemItem.eq(n.index).addClass(a),e.elemItem.length<=1||(e.indicator(),e.arrow(),e.autoplay(),e.events()))},m.prototype.reload=function(e){var n=this;clearInterval(n.timer),n.config=i.extend({},n.config,e),n.render()},m.prototype.prevIndex=function(){var e=this,i=e.config,n=i.index-1;return n<0&&(n=e.elemItem.length-1),n},m.prototype.nextIndex=function(){var e=this,i=e.config,n=i.index+1;return n>=e.elemItem.length&&(n=0),n},m.prototype.addIndex=function(e){var i=this,n=i.config;e=e||1,n.index=n.index+e,n.index>=i.elemItem.length&&(n.index=0)},m.prototype.subIndex=function(e){var i=this,n=i.config;e=e||1,n.index=n.index-e,n.index<0&&(n.index=i.elemItem.length-1)},m.prototype.autoplay=function(){var e=this,i=e.config;i.autoplay&&(e.timer=setInterval(function(){e.slide()},i.interval))},m.prototype.arrow=function(){var e=this,n=e.config,t=i(['",'"].join(""));n.elem.attr("lay-arrow",n.arrow),n.elem.find("."+u)[0]&&n.elem.find("."+u).remove(),n.elem.append(t),t.on("click",function(){var n=i(this),t=n.attr("lay-type");e.slide(t)})},m.prototype.indicator=function(){var e=this,n=e.config,t=e.elemInd=i(['
    ',function(){var i=[];return layui.each(e.elemItem,function(e){i.push("")}),i.join("")}(),"
"].join(""));n.elem.attr("lay-indicator",n.indicator),n.elem.find("."+c)[0]&&n.elem.find("."+c).remove(),n.elem.append(t),"updown"===n.anim&&t.css("margin-top",-(t.height()/2)),t.find("li").on("hover"===n.trigger?"mouseover":n.trigger,function(){var t=i(this),a=t.index();a>n.index?e.slide("add",a-n.index):a/g,">").replace(/'/g,"'").replace(/"/g,""")),c.html('
  1. '+o.replace(/[\r\t\n]+/g,"
  2. ")+"
"),c.find(">.layui-code-h3")[0]||c.prepend('

'+(c.attr("lay-title")||e.title||"code")+(e.about?'layui.code':"")+"

");var d=c.find(">.layui-code-ol");c.addClass("layui-box layui-code-view"),(c.attr("lay-skin")||e.skin)&&c.addClass("layui-code-"+(c.attr("lay-skin")||e.skin)),(d.find("li").length/100|0)>0&&d.css("margin-left",(d.find("li").length/100|0)+"px"),(c.attr("lay-height")||e.height)&&d.css("max-height",c.attr("lay-height")||e.height)})})}).addcss("modules/code.css","skincodecss"); -------------------------------------------------------------------------------- /GDMS/src/js/layui/lay/modules/flow.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.4.3 MIT License By https://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var l=layui.$,o=function(e){},t='';o.prototype.load=function(e){var o,i,n,r,a=this,c=0;e=e||{};var f=l(e.elem);if(f[0]){var m=l(e.scrollElem||document),u=e.mb||50,s=!("isAuto"in e)||e.isAuto,v=e.end||"没有更多了",y=e.scrollElem&&e.scrollElem!==document,d="加载更多",h=l('");f.find(".layui-flow-more")[0]||f.append(h);var p=function(e,t){e=l(e),h.before(e),t=0==t||null,t?h.html(v):h.find("a").html(d),i=t,o=null,n&&n()},g=function(){o=!0,h.find("a").html(t),"function"==typeof e.done&&e.done(++c,p)};if(g(),h.find("a").on("click",function(){l(this);i||o||g()}),e.isLazyimg)var n=a.lazyimg({elem:e.elem+" img",scrollElem:e.scrollElem});return s?(m.on("scroll",function(){var e=l(this),t=e.scrollTop();r&&clearTimeout(r),i||(r=setTimeout(function(){var i=y?e.height():l(window).height(),n=y?e.prop("scrollHeight"):document.documentElement.scrollHeight;n-t-i<=u&&(o||g())},100))}),a):a}},o.prototype.lazyimg=function(e){var o,t=this,i=0;e=e||{};var n=l(e.scrollElem||document),r=e.elem||"img",a=e.scrollElem&&e.scrollElem!==document,c=function(e,l){var o=n.scrollTop(),r=o+l,c=a?function(){return e.offset().top-n.offset().top+o}():e.offset().top;if(c>=o&&c<=r&&!e.attr("src")){var m=e.attr("lay-src");layui.img(m,function(){var l=t.lazyimg.elem.eq(i);e.attr("src",m).removeAttr("lay-src"),l[0]&&f(l),i++})}},f=function(e,o){var f=a?(o||n).height():l(window).height(),m=n.scrollTop(),u=m+f;if(t.lazyimg.elem=l(r),e)c(e,f);else for(var s=0;su)break}};if(f(),!o){var m;n.on("scroll",function(){var e=l(this);m&&clearTimeout(m),m=setTimeout(function(){f(null,e)},50)}),o=!0}return f},e("flow",new o)}); -------------------------------------------------------------------------------- /GDMS/src/js/layui/lay/modules/laypage.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.4.3 MIT License By https://www.layui.com */ 2 | ;layui.define(function(e){"use strict";var a=document,t="getElementById",n="getElementsByTagName",i="laypage",r="layui-disabled",u=function(e){var a=this;a.config=e||{},a.config.index=++s.index,a.render(!0)};u.prototype.type=function(){var e=this.config;if("object"==typeof e.elem)return void 0===e.elem.length?2:3},u.prototype.view=function(){var e=this,a=e.config,t=a.groups="groups"in a?0|a.groups:5;a.layout="object"==typeof a.layout?a.layout:["prev","page","next"],a.count=0|a.count,a.curr=0|a.curr||1,a.limits="object"==typeof a.limits?a.limits:[10,20,30,40,50],a.limit=0|a.limit||10,a.pages=Math.ceil(a.count/a.limit)||1,a.curr>a.pages&&(a.curr=a.pages),t<0?t=1:t>a.pages&&(t=a.pages),a.prev="prev"in a?a.prev:"上一页",a.next="next"in a?a.next:"下一页";var n=a.pages>t?Math.ceil((a.curr+(t>1?1:0))/(t>0?t:1)):1,i={prev:function(){return a.prev?''+a.prev+"":""}(),page:function(){var e=[];if(a.count<1)return"";n>1&&a.first!==!1&&0!==t&&e.push(''+(a.first||1)+"");var i=Math.floor((t-1)/2),r=n>1?a.curr-i:1,u=n>1?function(){var e=a.curr+(t-i-1);return e>a.pages?a.pages:e}():t;for(u-r2&&e.push('');r<=u;r++)r===a.curr?e.push('"+r+""):e.push(''+r+"");return a.pages>t&&a.pages>u&&a.last!==!1&&(u+1…'),0!==t&&e.push(''+(a.last||a.pages)+"")),e.join("")}(),next:function(){return a.next?''+a.next+"":""}(),count:'共 '+a.count+" 条",limit:function(){var e=['"}(),refresh:['','',""].join(""),skip:function(){return['到第','','页',""].join("")}()};return['
',function(){var e=[];return layui.each(a.layout,function(a,t){i[t]&&e.push(i[t])}),e.join("")}(),"
"].join("")},u.prototype.jump=function(e,a){if(e){var t=this,i=t.config,r=e.children,u=e[n]("button")[0],l=e[n]("input")[0],p=e[n]("select")[0],c=function(){var e=0|l.value.replace(/\s|\D/g,"");e&&(i.curr=e,t.render())};if(a)return c();for(var o=0,y=r.length;oi.pages||(i.curr=e,t.render())});p&&s.on(p,"change",function(){var e=this.value;i.curr*e>i.count&&(i.curr=Math.ceil(i.count/e)),i.limit=e,t.render()}),u&&s.on(u,"click",function(){c()})}},u.prototype.skip=function(e){if(e){var a=this,t=e[n]("input")[0];t&&s.on(t,"keyup",function(t){var n=this.value,i=t.keyCode;/^(37|38|39|40)$/.test(i)||(/\D/.test(n)&&(this.value=n.replace(/\D/,"")),13===i&&a.jump(e,!0))})}},u.prototype.render=function(e){var n=this,i=n.config,r=n.type(),u=n.view();2===r?i.elem&&(i.elem.innerHTML=u):3===r?i.elem.html(u):a[t](i.elem)&&(a[t](i.elem).innerHTML=u),i.jump&&i.jump(i,e);var s=a[t]("layui-laypage-"+i.index);n.jump(s),i.hash&&!e&&(location.hash="!"+i.hash+"="+i.curr),n.skip(s)};var s={render:function(e){var a=new u(e);return a.index},index:layui.laypage?layui.laypage.index+1e4:0,on:function(e,a,t){return e.attachEvent?e.attachEvent("on"+a,function(a){a.target=a.srcElement,t.call(e,a)}):e.addEventListener(a,t,!1),this}};e(i,s)}); -------------------------------------------------------------------------------- /GDMS/src/js/layui/lay/modules/laytpl.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.4.3 MIT License By https://www.layui.com */ 2 | ;layui.define(function(e){"use strict";var r={open:"{{",close:"}}"},c={exp:function(e){return new RegExp(e,"g")},query:function(e,c,t){var o=["#([\\s\\S])+?","([^{#}])*?"][e||0];return n((c||"")+r.open+o+r.close+(t||""))},escape:function(e){return String(e||"").replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")},error:function(e,r){var c="Laytpl Error:";return"object"==typeof console&&console.error(c+e+"\n"+(r||"")),c+e}},n=c.exp,t=function(e){this.tpl=e};t.pt=t.prototype,window.errors=0,t.pt.parse=function(e,t){var o=this,p=e,a=n("^"+r.open+"#",""),l=n(r.close+"$","");e=e.replace(/\s+|\r|\t|\n/g," ").replace(n(r.open+"#"),r.open+"# ").replace(n(r.close+"}"),"} "+r.close).replace(/\\/g,"\\\\").replace(n(r.open+"!(.+?)!"+r.close),function(e){return e=e.replace(n("^"+r.open+"!"),"").replace(n("!"+r.close),"").replace(n(r.open+"|"+r.close),function(e){return e.replace(/(.)/g,"\\$1")})}).replace(/(?="|')/g,"\\").replace(c.query(),function(e){return e=e.replace(a,"").replace(l,""),'";'+e.replace(/\\/g,"")+';view+="'}).replace(c.query(1),function(e){var c='"+(';return e.replace(/\s/g,"")===r.open+r.close?"":(e=e.replace(n(r.open+"|"+r.close),""),/^=/.test(e)&&(e=e.replace(/^=/,""),c='"+_escape_('),c+e.replace(/\\/g,"")+')+"')}),e='"use strict";var view = "'+e+'";return view;';try{return o.cache=e=new Function("d, _escape_",e),e(t,c.escape)}catch(u){return delete o.cache,c.error(u,p)}},t.pt.render=function(e,r){var n,t=this;return e?(n=t.cache?t.cache(e,c.escape):t.parse(t.tpl,e),r?void r(n):n):c.error("no data")};var o=function(e){return"string"!=typeof e?c.error("Template not found"):new t(e)};o.config=function(e){e=e||{};for(var c in e)r[c]=e[c]},o.v="1.2.0",e("laytpl",o)}); -------------------------------------------------------------------------------- /GDMS/src/js/layui/lay/modules/rate.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.4.3 MIT License By https://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var a=layui.jquery,i={config:{},index:layui.rate?layui.rate.index+1e4:0,set:function(e){var i=this;return i.config=a.extend({},i.config,e),i},on:function(e,a){return layui.onevent.call(this,n,e,a)}},l=function(){var e=this,a=e.config;return{setvalue:function(a){e.setvalue.call(e,a)},config:a}},n="rate",t="layui-rate",o="layui-icon-rate",s="layui-icon-rate-solid",u="layui-icon-rate-half",r="layui-icon-rate-solid layui-icon-rate-half",c="layui-icon-rate-solid layui-icon-rate",f="layui-icon-rate layui-icon-rate-half",v=function(e){var l=this;l.index=++i.index,l.config=a.extend({},l.config,i.config,e),l.render()};v.prototype.config={length:5,text:!1,readonly:!1,half:!1,value:0,theme:""},v.prototype.render=function(){var e=this,i=e.config,l=i.theme?'style="color: '+i.theme+';"':"";i.elem=a(i.elem),parseInt(i.value)!==i.value&&(i.half||(i.value=Math.ceil(i.value)-i.value<.5?Math.ceil(i.value):Math.floor(i.value)));for(var n='
    ",u=1;u<=i.length;u++){var r='
  • ";i.half&&parseInt(i.value)!==i.value&&u==Math.ceil(i.value)?n=n+'
  • ":n+=r}n+="
"+(i.text?''+i.value+"星":"")+"";var c=i.elem,f=c.next("."+t);f[0]&&f.remove(),e.elemTemp=a(n),i.span=e.elemTemp.next("span"),i.setText&&i.setText(i.value),c.html(e.elemTemp),c.addClass("layui-inline"),i.readonly||e.action()},v.prototype.setvalue=function(e){var a=this,i=a.config;i.value=e,a.render()},v.prototype.action=function(){var e=this,i=e.config,l=e.elemTemp,n=l.find("i").width();l.children("li").each(function(e){var t=e+1,v=a(this);v.on("click",function(e){if(i.value=t,i.half){var o=e.pageX-a(this).offset().left;o<=n/2&&(i.value=i.value-.5)}i.text&&l.next("span").text(i.value+"星"),i.choose&&i.choose(i.value),i.setText&&i.setText(i.value)}),v.on("mousemove",function(e){if(l.find("i").each(function(){a(this).addClass(o).removeClass(r)}),l.find("i:lt("+t+")").each(function(){a(this).addClass(s).removeClass(f)}),i.half){var c=e.pageX-a(this).offset().left;c<=n/2&&v.children("i").addClass(u).removeClass(s)}}),v.on("mouseleave",function(){l.find("i").each(function(){a(this).addClass(o).removeClass(r)}),l.find("i:lt("+Math.floor(i.value)+")").each(function(){a(this).addClass(s).removeClass(f)}),i.half&&parseInt(i.value)!==i.value&&l.children("li:eq("+Math.floor(i.value)+")").children("i").addClass(u).removeClass(c)})})},v.prototype.events=function(){var e=this;e.config},i.render=function(e){var a=new v(e);return l.call(a)},e(n,i)}); -------------------------------------------------------------------------------- /GDMS/src/js/layui/lay/modules/tree.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.4.3 MIT License By https://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var o=layui.$,a=layui.hint(),i="layui-tree-enter",r=function(e){this.options=e},t={arrow:["",""],checkbox:["",""],radio:["",""],branch:["",""],leaf:""};r.prototype.init=function(e){var o=this;e.addClass("layui-box layui-tree"),o.options.skin&&e.addClass("layui-tree-skin-"+o.options.skin),o.tree(e),o.on(e)},r.prototype.tree=function(e,a){var i=this,r=i.options,n=a||r.nodes;layui.each(n,function(a,n){var l=n.children&&n.children.length>0,c=o('
    '),s=o(["
  • ",function(){return l?''+(n.spread?t.arrow[1]:t.arrow[0])+"":""}(),function(){return r.check?''+("checkbox"===r.check?t.checkbox[0]:"radio"===r.check?t.radio[0]:"")+"":""}(),function(){return'"+(''+(l?n.spread?t.branch[1]:t.branch[0]:t.leaf)+"")+(""+(n.name||"未命名")+"")}(),"
  • "].join(""));l&&(s.append(c),i.tree(c,n.children)),e.append(s),"function"==typeof r.click&&i.click(s,n),i.spread(s,n),r.drag&&i.drag(s,n)})},r.prototype.click=function(e,o){var a=this,i=a.options;e.children("a").on("click",function(e){layui.stope(e),i.click(o)})},r.prototype.spread=function(e,o){var a=this,i=(a.options,e.children(".layui-tree-spread")),r=e.children("ul"),n=e.children("a"),l=function(){e.data("spread")?(e.data("spread",null),r.removeClass("layui-show"),i.html(t.arrow[0]),n.find(".layui-icon").html(t.branch[0])):(e.data("spread",!0),r.addClass("layui-show"),i.html(t.arrow[1]),n.find(".layui-icon").html(t.branch[1]))};r[0]&&(i.on("click",l),n.on("dblclick",l))},r.prototype.on=function(e){var a=this,r=a.options,t="layui-tree-drag";e.find("i").on("selectstart",function(e){return!1}),r.drag&&o(document).on("mousemove",function(e){var i=a.move;if(i.from){var r=(i.to,o('
    '));e.preventDefault(),o("."+t)[0]||o("body").append(r);var n=o("."+t)[0]?o("."+t):r;n.addClass("layui-show").html(i.from.elem.children("a").html()),n.css({left:e.pageX+10,top:e.pageY+10})}}).on("mouseup",function(){var e=a.move;e.from&&(e.from.elem.children("a").removeClass(i),e.to&&e.to.elem.children("a").removeClass(i),a.move={},o("."+t).remove())})},r.prototype.move={},r.prototype.drag=function(e,a){var r=this,t=(r.options,e.children("a")),n=function(){var t=o(this),n=r.move;n.from&&(n.to={item:a,elem:e},t.addClass(i))};t.on("mousedown",function(){var o=r.move;o.from={item:a,elem:e}}),t.on("mouseenter",n).on("mousemove",n).on("mouseleave",function(){var e=o(this),a=r.move;a.from&&(delete a.to,e.removeClass(i))})},e("tree",function(e){var i=new r(e=e||{}),t=o(e.elem);return t[0]?void i.init(t):a.error("layui.tree 没有找到"+e.elem+"元素")})}); -------------------------------------------------------------------------------- /GDMS/src/js/layui/lay/modules/util.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.4.3 MIT License By https://www.layui.com */ 2 | ;layui.define("jquery",function(t){"use strict";var e=layui.$,i={fixbar:function(t){var i,a,n="layui-fixbar",r="layui-fixbar-top",o=e(document),l=e("body");t=e.extend({showHeight:200},t),t.bar1=t.bar1===!0?"":t.bar1,t.bar2=t.bar2===!0?"":t.bar2,t.bgcolor=t.bgcolor?"background-color:"+t.bgcolor:"";var c=[t.bar1,t.bar2,""],g=e(['
      ',t.bar1?'
    • '+c[0]+"
    • ":"",t.bar2?'
    • '+c[1]+"
    • ":"",'
    • '+c[2]+"
    • ","
    "].join("")),s=g.find("."+r),u=function(){var e=o.scrollTop();e>=t.showHeight?i||(s.show(),i=1):i&&(s.hide(),i=0)};e("."+n)[0]||("object"==typeof t.css&&g.css(t.css),l.append(g),u(),g.find("li").on("click",function(){var i=e(this),a=i.attr("lay-type");"top"===a&&e("html,body").animate({scrollTop:0},200),t.click&&t.click.call(this,a)}),o.on("scroll",function(){clearTimeout(a),a=setTimeout(function(){u()},100)}))},countdown:function(t,e,i){var a=this,n="function"==typeof e,r=new Date(t).getTime(),o=new Date(!e||n?(new Date).getTime():e).getTime(),l=r-o,c=[Math.floor(l/864e5),Math.floor(l/36e5)%24,Math.floor(l/6e4)%60,Math.floor(l/1e3)%60];n&&(i=e);var g=setTimeout(function(){a.countdown(t,o+1e3,i)},1e3);return i&&i(l>0?c:[0,0,0,0],e,g),l<=0&&clearTimeout(g),g},timeAgo:function(t,e){var i=this,a=[[],[]],n=(new Date).getTime()-new Date(t).getTime();return n>6912e5?(n=new Date(t),a[0][0]=i.digit(n.getFullYear(),4),a[0][1]=i.digit(n.getMonth()+1),a[0][2]=i.digit(n.getDate()),e||(a[1][0]=i.digit(n.getHours()),a[1][1]=i.digit(n.getMinutes()),a[1][2]=i.digit(n.getSeconds())),a[0].join("-")+" "+a[1].join(":")):n>=864e5?(n/1e3/60/60/24|0)+"天前":n>=36e5?(n/1e3/60/60|0)+"小时前":n>=12e4?(n/1e3/60|0)+"分钟前":n<0?"未来":"刚刚"},digit:function(t,e){var i="";t=String(t),e=e||2;for(var a=t.length;a/g,">").replace(/'/g,"'").replace(/"/g,""")}};!function(t,e,i){"$:nomunge";function a(){n=e[l](function(){r.each(function(){var e=t(this),i=e.width(),a=e.height(),n=t.data(this,g);(i!==n.w||a!==n.h)&&e.trigger(c,[n.w=i,n.h=a])}),a()},o[s])}var n,r=t([]),o=t.resize=t.extend(t.resize,{}),l="setTimeout",c="resize",g=c+"-special-event",s="delay",u="throttleWindow";o[s]=250,o[u]=!0,t.event.special[c]={setup:function(){if(!o[u]&&this[l])return!1;var e=t(this);r=r.add(e),t.data(this,g,{w:e.width(),h:e.height()}),1===r.length&&a()},teardown:function(){if(!o[u]&&this[l])return!1;var e=t(this);r=r.not(e),e.removeData(g),r.length||clearTimeout(n)},add:function(e){function a(e,a,r){var o=t(this),l=t.data(this,g)||{};l.w=a!==i?a:o.width(),l.h=r!==i?r:o.height(),n.apply(this,arguments)}if(!o[u]&&this[l])return!1;var n;return t.isFunction(e)?(n=e,a):(n=e.handler,void(e.handler=a))}}}(e,window),t("util",i)}); -------------------------------------------------------------------------------- /GDMS/src/view/langManage.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 |
    4 |
    5 |
    6 |
    7 | 10 |
    11 |
    12 |
    13 |
    14 |
    15 |
    16 |
    17 |
    18 |
    19 | 20 | 21 | 22 |
    23 |
    24 |
    25 |
    26 |
    27 |
    28 |
    29 |
    30 |
    31 |
    32 |
    33 | 34 | -------------------------------------------------------------------------------- /GDMS/src/view/second/deviceFilter.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 16 |
    17 |
    18 |
    19 | 20 |
    21 | 28 |
    29 |
    30 |
    31 | 32 |
    33 | 34 |
    35 |
    36 | 37 |
    38 |
    39 |
    40 | 41 |
    42 | 47 |
    48 |
    49 |
    50 | 51 |
    52 | 57 |
    58 |
    59 | 60 |
    61 | 62 | 63 | 64 |
    65 |
    66 | 67 | 68 |
    69 | -------------------------------------------------------------------------------- /GDMS/src/view/second/projectAdd.html: -------------------------------------------------------------------------------- 1 | 2 |
    3 |
    4 |
    项目添加
    5 |
    6 |
    7 |
    8 | 9 |
    10 | 12 |
    13 |
    14 |
    15 | 16 |
    17 | 18 |
    19 |
    20 |
    21 | 22 |
    23 | 24 |
    25 |
    26 |
    27 |
    28 | 29 |
    30 | 31 |
    32 |
    33 |
    34 | 35 |
    36 | 37 | 38 |
    39 |
    40 |
    41 |
    42 |
    43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /GDMS/src/view/second/projectEdit.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    13 |
    14 | 15 |
    16 | 18 |
    19 |
    20 |
    21 | 22 |
    23 | 24 |
    25 |
    26 |
    27 | 28 |
    29 | 30 |
    31 |
    32 |
    33 |
    34 | 35 |
    36 | 37 |
    38 |
    39 |
    40 | 41 |
    42 | 43 | 44 |
    45 |
    46 | 47 | 48 |
    49 | -------------------------------------------------------------------------------- /GDMS/src/view/second/siteAdd.html: -------------------------------------------------------------------------------- 1 | 2 |
    3 |
    4 |
    地点添加
    5 |
    6 |
    7 |
    8 | 9 |
    10 | 12 |
    13 |
    14 |
    15 | 16 |
    17 | 18 |
    19 |
    20 |
    21 | 22 |
    23 | 24 |
    25 |
    26 |
    27 | 28 |
    29 | 30 |
    31 |
    32 | 33 |
    34 | 35 | 36 |
    37 |
    38 |
    39 |
    40 |
    41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /GDMS/src/view/second/siteEdit.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    13 |
    14 | 15 |
    16 | 18 |
    19 |
    20 |
    21 | 22 |
    23 | 24 |
    25 |
    26 |
    27 | 28 |
    29 | 30 |
    31 |
    32 |
    33 | 34 |
    35 | 36 |
    37 |
    38 | 39 |
    40 | 41 | 42 |
    43 |
    44 | 45 | 46 |
    47 | -------------------------------------------------------------------------------- /GDMS/src/view/second/stnFilter.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 16 |
    17 |
    18 |
    19 | 20 |
    21 | 26 |
    27 |
    28 | 29 |
    30 | 31 | 32 | 33 |
    34 |
    35 | 36 | 37 |
    38 | -------------------------------------------------------------------------------- /GDMS/src/view/second/typeAdd.html: -------------------------------------------------------------------------------- 1 | 2 |
    3 |
    4 |
    类型添加
    5 |
    6 |
    7 |
    8 | 9 |
    10 | 12 |
    13 |
    14 |
    15 | 16 |
    17 | 18 |
    19 |
    20 | 21 |
    22 | 23 | 24 |
    25 |
    26 |
    27 |
    28 |
    29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /GDMS/src/view/second/typeEdit.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    13 |
    14 | 15 |
    16 | 18 |
    19 |
    20 |
    21 | 22 |
    23 | 24 |
    25 |
    26 | 27 |
    28 | 29 | 30 |
    31 |
    32 | 33 | 34 |
    35 | -------------------------------------------------------------------------------- /GDMS/src/view/systemManage.html: -------------------------------------------------------------------------------- 1 | 2 |
    3 |
    4 |
    5 | 6 | 7 | 8 |
    9 |
    10 |
    11 |
    12 |
    13 |
    14 | 15 | 16 |
    17 |
    18 |
    19 |
    20 |
    21 |
    系统列表
    22 |
    23 |
    24 |
    25 |
    26 |
    27 |
    28 |
    29 |
    系统用户列表
    30 |
    31 |
    请选择系统
    32 |
    33 |
    34 |
    35 |
    36 | -------------------------------------------------------------------------------- /GDMS/src/view/userManage.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 |
    4 | 5 | 6 | 7 |
    8 |
    9 |
    10 |
    11 |
    12 |
    13 |
    14 |
    15 |
    16 |
    17 |
    18 | 19 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Bing Zhe 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # GDMS-DeviceManagementSystem 2 | 声明:本人由于近期工作原因,暂时无暇推进此项目,此项目有长期搁置风险 3 | 4 | * 基于web的设备管理系统,1期开发中 (已完成73%) 5 | * 前后端完全分离,使用JWT管理session,后端通过C#的控制器提供接口 6 | * 数据库使用了Oracle 7 | * 如果您有什么建议,或是有意向合作,欢迎联系我。 8 | 9 | |Author|Bing Zhe| 10 | |---|--- 11 | |E-mail|9061@163.com 12 | |WeChat|wbz9061 13 | 14 | **** 15 | #### 项目特点 16 | * 通用性强,能够满足大多数行业的设备管理需要。 17 | * 界面优雅;原本计划使用layuiAdmin,奈何对于业余开发者来说授权太贵且不开源,于是使用layui改写样式,高仿layuiAdmin的UI,自己集成了一套前端框架,保证代码全部开源。 18 | * 部署简单,1期开发完成后会编写部署文档。 19 | 20 | 21 | #### 控制台预览(持续改进,非最终版) 22 | ![控制台预览](https://github.com/manier13579/GDMS-DeviceManagementSystem/raw/master/GDMS/src/images/demo3.png) 23 | 24 | #### 内容页预览(持续改进,非最终版) 25 | ![内容页预览](https://github.com/manier13579/GDMS-DeviceManagementSystem/raw/master/GDMS/src/images/demo2.png) 26 | 27 | #### 登录页预览(持续改进,非最终版) 28 | ![登录页预览](https://github.com/manier13579/GDMS-DeviceManagementSystem/raw/master/GDMS/src/images/demo1.png) 29 | --------------------------------------------------------------------------------