using System.Collections.Generic; using System.Linq; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Configuration; using SimApi.Attributes; using SimApi.Communications; using SimApi.Configurations; using SimApi.Helpers; using static SimApi.Helpers.SimApiError; namespace SimApi.Controllers; public class SimApiCommonController(SimApiOptions simApiOptions) : SimApiBaseController { /// /// 错误回馈页面 /// /// 错误代码 /// [HttpGet("exception/{code:int}")] [ApiExplorerSettings(IgnoreApi = true)] public void ExceptionHandler(int code) { Error(code); } /// /// 给前端的自定义信息 /// /// [HttpPost, HttpGet] public Dictionary WebConfig() { var resp = simApiOptions.WebConfig!.ToDictionary(); if (simApiOptions.WebConfigIncludeVersion) { resp.Add("Versions", new Dictionary { { "SimApi", SimApiUtil.SimApiVersion }, { "App", SimApiUtil.AppVersion } }); } return resp; } /// /// 获取已登录用户信息 /// /// [HttpPost, SimApiAuth, SimApiDoc("认证", "获取已登录用户信息")] public SimApiLoginItem UserInfo() => LoginInfo; }