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 { /// /// 管理员权限模块专用父控制器(提供了一些在管理员权限模块中专用的功能) /// /// [ApiVersion("1.0")] [Route("api/Manage/v{version:apiVersion}/[controller]/[action]")] public class ManageControllerBase : HncoreControllerBase { /// /// 配置文件数据承载对象 /// protected readonly AppSettings _appSettings; /// /// 构造函数 /// /// HTTP上下文访问对象 /// public ManageControllerBase (IHttpContextAccessor hca) { //获取当前应用配置信息承载对象 var oa=hca.HttpContext.RequestServices.GetService(typeof(IOptionsMonitor)) as IOptionsMonitor; this._appSettings = oa.CurrentValue; } /// /// 创建成功分页结果对象 /// /// 数据类型 /// 记录总数 /// 数据对象 /// 提示信息 /// 响应给客户端的结果对象 /// protected ApiResultPaged SuccessPaged(int total, T data, string message = "") where T : class, new() { return new ApiResultPaged(ResultCode.C_SUCCESS, message) {TotalCount=total, Data = data }; } /// /// 创建失败分页结果对象 /// /// 数据类型 /// 提示信息 /// 响应给客户端的结果对象 /// protected ApiResultPaged ErrorPaged(string message = "") where T : class, new() { return new ApiResultPaged(ResultCode.C_UNKNOWN_ERROR, message) { TotalCount = 0 }; } } }