using BBWYB.Common.Models; using Microsoft.AspNetCore.Cors; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Primitives; namespace BBWYB.Server.API.Controllers { [Produces("application/json")] [Route("Api/[Controller]/[Action]")] [ApiController] [EnableCors("cors")] public class BaseApiController : ControllerBase { protected IHttpContextAccessor httpContextAccessor; public BaseApiController(IHttpContextAccessor httpContextAccessor) { this.httpContextAccessor = httpContextAccessor; } protected string GetUserId() { var userId = httpContextAccessor?.HttpContext?.User.Claims.Where(x => x.Type == "userId")?.FirstOrDefault()?.Value; if (string.IsNullOrEmpty(userId)) throw new BusinessException("未从token中获取到userId"); return userId; } protected string GetToken() { httpContextAccessor.HttpContext.Request.Headers.TryGetValue("Authorization", out StringValues token); return token; } protected string GetClientCode() { httpContextAccessor.HttpContext.Request.Headers.TryGetValue("ClientCode", out StringValues clientCode); return clientCode; } } }