
using System;
using System.Collections.Generic;
using System.IO;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Configuration;
namespace Bayantu.Evos.WebApps.GJExhibition.Infrastructure.Extensions
{
public static class DomainConfigExtensions
{
public static IApplicationBuilder DomainConfigToJs(this IApplicationBuilder app, IConfiguration configuration)
{
string directoryPath = @"wwwroot//exhibition//static//js"; //设置文件路径
if (!Directory.Exists(directoryPath))
{
Directory.CreateDirectory(directoryPath);
}
// 文件路径
var filePath = directoryPath + + @"//domain.js";if (File.Exists(filePath))
{
ReadWriteContent(filePath, configuration);
}
else
{
FileStream fs = new FileStream(filePath, FileMode.CreateNew);
fs.Close();
ReadWriteContent(filePath, configuration);
}
Func<RequestDelegate, RequestDelegate> middleware = next =>
{
return context =>
{
return next(context);
};
};
return app.Use(middleware);
}
private static void ReadWriteContent(string filePath, IConfiguration configuration)
{
StreamWriter sw = new StreamWriter(filePath);
JsContent(sw, configuration);
sw.Flush();
sw.Close();
}
public static void JsContent(StreamWriter sw, IConfiguration configuration)
{
sw.WriteLine("window.domainConfig = {");
sw.WriteLine($"'NewFileDomain': '{configuration["DomainConfig:NewFileDomain"]}',");
sw.WriteLine("}");
}
}
}