mirror of https://github.com/abpframework/abp.git
9 changed files with 96 additions and 32 deletions
@ -0,0 +1,22 @@ |
|||
using System.Threading.Tasks; |
|||
using Microsoft.AspNetCore.Mvc; |
|||
|
|||
namespace Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations |
|||
{ |
|||
[Route("api/abp/application-configuration")] |
|||
public class AbpApplicationConfigurationController : AbpController |
|||
{ |
|||
private readonly IApplicationConfigurationBuilder _configurationBuilder; |
|||
|
|||
public AbpApplicationConfigurationController(IApplicationConfigurationBuilder configurationBuilder) |
|||
{ |
|||
_configurationBuilder = configurationBuilder; |
|||
} |
|||
|
|||
[HttpGet] |
|||
public Task<ApplicationConfigurationDto> Get() |
|||
{ |
|||
return _configurationBuilder.Get(); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,45 @@ |
|||
using System.Diagnostics; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
using Microsoft.AspNetCore.Mvc; |
|||
using Volo.Abp.Json; |
|||
|
|||
namespace Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations |
|||
{ |
|||
[Area("Abp")] |
|||
[Route("Abp/ApplicationConfigurationScript")] |
|||
public class AbpApplicationConfigurationScriptController : AbpController |
|||
{ |
|||
private readonly IApplicationConfigurationBuilder _configurationBuilder; |
|||
private readonly IJsonSerializer _jsonSerializer; |
|||
|
|||
public AbpApplicationConfigurationScriptController( |
|||
IApplicationConfigurationBuilder configurationBuilder, |
|||
IJsonSerializer jsonSerializer) |
|||
{ |
|||
_configurationBuilder = configurationBuilder; |
|||
_jsonSerializer = jsonSerializer; |
|||
} |
|||
|
|||
[HttpGet] |
|||
[Produces("text/javascript", "text/plain")] |
|||
public async Task<string> Get() |
|||
{ |
|||
var config = await _configurationBuilder.Get(); |
|||
return CreateAbpExtendScript(config); |
|||
} |
|||
|
|||
private string CreateAbpExtendScript(ApplicationConfigurationDto config) |
|||
{ |
|||
var script = new StringBuilder(); |
|||
|
|||
script.AppendLine("(function(){"); |
|||
|
|||
script.AppendLine($"$.extend(true, abp, {_jsonSerializer.Serialize(config, indented: Debugger.IsAttached)})"); |
|||
|
|||
script.Append("})();"); |
|||
|
|||
return script.ToString(); |
|||
} |
|||
} |
|||
} |
|||
@ -1,24 +0,0 @@ |
|||
using System.Threading.Tasks; |
|||
using Microsoft.AspNetCore.Mvc; |
|||
|
|||
namespace Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations |
|||
{ |
|||
public class ApplicationConfigurationController : AbpController |
|||
{ |
|||
private readonly IApplicationConfigurationBuilder _configurationBuilder; |
|||
|
|||
public ApplicationConfigurationController(IApplicationConfigurationBuilder configurationBuilder) |
|||
{ |
|||
_configurationBuilder = configurationBuilder; |
|||
} |
|||
|
|||
public async Task<JsonResult> GetAll() |
|||
{ |
|||
//TODO: 1. Make an API
|
|||
//TODO: 2. Make a script generation controller
|
|||
|
|||
var userConfig = await _configurationBuilder.Get(); |
|||
return Json(userConfig); |
|||
} |
|||
} |
|||
} |
|||
Loading…
Reference in new issue