| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- using System;
- using System.IO;
- using System.Linq;
- using System.Reflection;
- using System.Web.Http;
- using Abp.Application.Services;
- using Abp.Configuration.Startup;
- using Abp.Modules;
- using Abp.WebApi;
- using Swashbuckle.Application;
- using WeEngine.SwaggerUi;
- using WePlatform.Configuration;
- using WePlatform.DataCenter;
- using WePlatform.SwaggerUi;
- namespace WePlatform.Api
- {
- [DependsOn(typeof(AbpWebApiModule), typeof(WePlatformApplicationModule))]
- public class WePlatformWebApiModule : AbpModule
- {
- public override void Initialize()
- {
- IocManager.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly());
- var api = Configuration.Modules.AbpWebApi();
- api.DynamicApiControllerBuilder
- .ForAll<IApplicationService>(typeof(WePlatformApplicationModule).Assembly, IwbConsts.ServicePrefix)
- .Build();
- api.DynamicApiControllerBuilder
- .ForAll<IDataCenterAppService>(typeof(WePlatformApplicationModule).Assembly, IwbConsts.WePlatformServicePrefix)
- .Build();
- api.HttpConfiguration.Filters.Add(new HostAuthenticationFilter("Bearer"));
- ConfigureSwaggerUi();
- }
- //public override void PostInitialize()
- //{
-
- //}
- /// <summary>
- /// 配置SwaggerUi
- /// </summary>
- private void ConfigureSwaggerUi()
- {
- Configuration.Modules.AbpWebApi().HttpConfiguration
- .EnableSwagger(c =>
- {
- c.SingleApiVersion($"V{IwbConsts.Version}", "智慧推演引擎API文档");
- c.ResolveConflictingActions(apiDescriptions => apiDescriptions.First());
- var baseDirectory = AppDomain.CurrentDomain.BaseDirectory;
- var filePath = Path.Combine(baseDirectory, "bin//WePlatform.Api.xml");
- //将注释的XML文档添加到SwaggerUI中
- c.IncludeXmlComments(filePath);
- c.CustomProvider((p) => new SwaggerControllerDescProvider(p, filePath));
- c.OperationFilter<HeaderAuthFilter>();
- // 在接口类、方法标记属性 [HiddenApi],可以阻止【Swagger文档】生成
- c.DocumentFilter<HiddenApiFilter>();
- })
- .EnableSwaggerUi("doc/{*assetPath}", b =>
- {
- b.DocumentTitle("API-智慧应急演练培训平台");
- b.InjectJavaScript(Assembly.GetExecutingAssembly(), "WePlatform.SwaggerUi.Script.Swagger.js");
- b.InjectStylesheet(Assembly.GetExecutingAssembly(), "WePlatform.SwaggerUi.Css.Site.css");
- //b.CustomAsset("jquery.min.js", Assembly.GetExecutingAssembly(), "WeEngine.SwaggerUi.Html.lib.jquery.min.js");
- //b.CustomAsset("jquery.slideto.min.js", Assembly.GetExecutingAssembly(), "WeEngine.SwaggerUi.Html.lib.jquery.slideto.min.js");
- //b.CustomAsset("jquery.wiggle.min.js", Assembly.GetExecutingAssembly(), "WeEngine.SwaggerUi.Html.lib.jquery.wiggle.min.js");
- //b.CustomAsset("jquery.ba-bbq.min.js", Assembly.GetExecutingAssembly(), "WeEngine.SwaggerUi.Html.lib.jquery.ba-bbq.min.js");
- //b.CustomAsset("handlebars.runtime-1.0.0.beta.6.js", Assembly.GetExecutingAssembly(), "WeEngine.SwaggerUi.Html.lib.handlebars.runtime-1.0.0.beta.6.js");
- //b.CustomAsset("underscore-min.js", Assembly.GetExecutingAssembly(), "WeEngine.SwaggerUi.Html.lib.underscore-min.js");
- //b.CustomAsset("backbone-min.js", Assembly.GetExecutingAssembly(), "WeEngine.SwaggerUi.Html.lib.backbone-min.js");
- //b.CustomAsset("swagger.js", Assembly.GetExecutingAssembly(), "WeEngine.SwaggerUi.Html.swagger.js");
- //b.CustomAsset("swagger-ui.js", Assembly.GetExecutingAssembly(), "WeEngine.SwaggerUi.Html.swagger-ui.js");
- //b.CustomAsset("Swagger-iwb.js", Assembly.GetExecutingAssembly(), "WeEngine.SwaggerUi.Script.Swagger.js");
- //b.CustomAsset("Site.css", Assembly.GetExecutingAssembly(), "WeEngine.SwaggerUi.Css.Site.css");
- //b.CustomAsset("index", Assembly.GetExecutingAssembly(),"WeEngine.SwaggerUi.Html.index.html",true);
- });
- }
- }
- }
|