66 lines
2.4 KiB
C#
66 lines
2.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Hncore.Infrastructure.WebApi;
|
|
using Hncore.Pass.Manage.Configs;
|
|
using Hncore.Pass.Manage.Util;
|
|
using Microsoft.AspNetCore.Http;
|
|
using Microsoft.Extensions.Options;
|
|
|
|
namespace Hncore.Pass.Manage.Controllers
|
|
{
|
|
/// <summary>
|
|
/// 管理员权限模块专用父控制器(提供了一些在管理员权限模块中专用的功能)
|
|
/// </summary>
|
|
///
|
|
[ApiVersion("1.0")]
|
|
[Route("api/Manage/v{version:apiVersion}/[controller]/[action]")]
|
|
public class ManageControllerBase : HncoreControllerBase
|
|
{
|
|
/// <summary>
|
|
/// 配置文件数据承载对象
|
|
/// </summary>
|
|
protected readonly AppSettings _appSettings;
|
|
|
|
/// <summary>
|
|
/// 构造函数
|
|
/// </summary>
|
|
/// <param name="hca">HTTP上下文访问对象</param>
|
|
///
|
|
public ManageControllerBase (IHttpContextAccessor hca)
|
|
{
|
|
//获取当前应用配置信息承载对象
|
|
var oa=hca.HttpContext.RequestServices.GetService(typeof(IOptionsMonitor<AppSettings>)) as IOptionsMonitor<AppSettings>;
|
|
this._appSettings = oa.CurrentValue;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 创建成功分页结果对象
|
|
/// </summary>
|
|
/// <typeparam name="T">数据类型</typeparam>
|
|
/// <param name="total">记录总数</param>
|
|
/// <param name="data">数据对象</param>
|
|
/// <param name="message">提示信息</param>
|
|
/// <returns>响应给客户端的结果对象</returns>
|
|
///
|
|
protected ApiResultPaged<T> SuccessPaged<T>(int total, T data, string message = "") where T : class, new()
|
|
{
|
|
return new ApiResultPaged<T>(ResultCode.C_SUCCESS, message) {TotalCount=total, Data = data };
|
|
}
|
|
|
|
/// <summary>
|
|
/// 创建失败分页结果对象
|
|
/// </summary>
|
|
/// <typeparam name="T">数据类型</typeparam>
|
|
/// <param name="message">提示信息</param>
|
|
/// <returns>响应给客户端的结果对象</returns>
|
|
///
|
|
protected ApiResultPaged<T> ErrorPaged<T>(string message = "") where T : class, new()
|
|
{
|
|
return new ApiResultPaged<T>(ResultCode.C_UNKNOWN_ERROR, message) { TotalCount = 0 };
|
|
}
|
|
}
|
|
}
|