146 lines
3.1 KiB
C#
146 lines
3.1 KiB
C#
using BITKit;
|
|
using IDIS;
|
|
using IDIS.Models;
|
|
using IDIS.Services;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Newtonsoft.Json;
|
|
|
|
namespace IDIS_Server_SIM.Controllers;
|
|
|
|
[ApiController]
|
|
public class IDIS_ServiceController:Controller
|
|
{
|
|
private readonly IDIS_Service _service;
|
|
public IDIS_ServiceController(IDIS_Service service)
|
|
{
|
|
_service = service;
|
|
}
|
|
/// <summary>
|
|
/// 获取服务器信息
|
|
/// </summary>
|
|
/// <returns>主机名称</returns>
|
|
[HttpGet]
|
|
[Route("info")]
|
|
public IActionResult Info()
|
|
{
|
|
return Ok(new IDIS_Response(Environment.MachineName));
|
|
}
|
|
/// <summary>
|
|
/// 一次解析所有标识
|
|
/// </summary>
|
|
/// <returns>所有标识的数组</returns>
|
|
[HttpGet]
|
|
[Route("/identityv2/data/detail/all")]
|
|
public async Task<IActionResult> QueryAll()
|
|
{
|
|
try
|
|
{
|
|
var result = await _service.ToArrayAsync();
|
|
var response = new IDIS_Response(result);
|
|
var json = JsonConvert.SerializeObject(response);
|
|
//return Ok(JsonConvert.SerializeObject(response));
|
|
return new ContentResult()
|
|
{
|
|
Content = json,
|
|
ContentType = "application/json",
|
|
StatusCode = 200
|
|
};
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
return BadRequest(new IDIS_Response(e.Message,false)
|
|
{
|
|
Status = 2
|
|
});
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 解析表示
|
|
/// </summary>
|
|
/// <param name="handle">标识码</param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
[Route("/identityv2/data/detail")]
|
|
public async Task<IActionResult> Query(string handle)
|
|
{
|
|
try
|
|
{
|
|
var result = await _service.QueryAsync(handle);
|
|
var response = new IDIS_Response(result);
|
|
var json = JsonConvert.SerializeObject(response);
|
|
//return Ok(JsonConvert.SerializeObject(response));
|
|
return new ContentResult()
|
|
{
|
|
Content = json,
|
|
ContentType = "application/json",
|
|
StatusCode = 200
|
|
};
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
return BadRequest(new IDIS_Response(e.Message,false)
|
|
{
|
|
Status = 2
|
|
});
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 查询标识是否存在
|
|
/// </summary>
|
|
/// <param name="code">标识码</param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
[Route("isExist")]
|
|
public async Task<IActionResult> IsExist(string code)
|
|
{
|
|
return Ok(new IDIS_Response(await _service.IsExistAsync(code)));
|
|
}
|
|
/// <summary>
|
|
/// 注册标识
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
[Route("/identityv2/data")]
|
|
public async Task<IActionResult> Register()
|
|
{
|
|
try
|
|
{
|
|
using var reader = new StreamReader(Request.Body);
|
|
var json = await reader.ReadToEndAsync();
|
|
var data = JsonConvert.DeserializeObject<IDIS_Register_Data>(json)!;
|
|
await _service.RegisterAsync(data.Handle, data.TemplateVersion, data.Value);
|
|
return Ok(new IDIS_Response());
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
return BadRequest(new IDIS_Response(e.Message,false)
|
|
{
|
|
Status = 2
|
|
});
|
|
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 更新标识(目前不可用)
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
[Route("update")]
|
|
public string Update()
|
|
{
|
|
return "err:0";
|
|
}
|
|
/// <summary>
|
|
/// 删除标识
|
|
/// </summary>
|
|
/// <param name="code">标识码</param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
[Route("delete")]
|
|
public async Task<bool> Delete (string code)
|
|
{
|
|
await _service.DeleteAsync(code);
|
|
return true;
|
|
}
|
|
} |