SourceCode/jiouosdp/Areas/Api/Controllers/ApiController.cs
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Web.Script.Serialization;
using System.Text;
using JiouSDP.Models;
using System.Threading;
using System.Collections.Specialized;
using System.Reflection;
namespace JiouSDP.Controllers
{
public class ApiController : ApiBaseController
{
//http://localhost:63601/api
[HttpGet]
[HttpPost]
public HttpResponseMessage Index()
{
if(RFrameGenerate.Common.CurrentManage.IsEnableApi!=true)
return ErrorException("api接口已停用,请联系管理员.");
string msg = string.Empty;
//调用频率检测(ip)
if (CallIP(Request, ref msg) == false)
return ErrorException(msg);
#region 读参数
var formData = Request.Content.ReadAsFormDataAsync();
for (int i = 1; formData.IsCompleted == false && i <= 10; i++)
{
if (formData.IsCanceled == true)
return ErrorException("操作取消");
if (formData.IsFaulted == true)
return ErrorException("发生异常了");
Thread.Sleep(200);
}
#endregion
if (formData.Result != null)
{
string log = string.Empty;
CommonModel commonModel = new CommonModel(formData.Result);
//参数,权限验证
if (commonModel.IsCheckParam(ref msg) != true)
return ErrorException(msg, Request.RequestUri, commonModel, formData.Result);
//调用频率检测(userid)
if (CallFrequency(commonModel.userid, ref msg) == false)
return ErrorException(msg, Request.RequestUri, commonModel, formData.Result);
//逻辑
dynamic rm = Assembly.Load("JiouSDP").CreateInstance(string.Format("JiouSDP.Areas.Api.ResponseMessage.{0}ResponseMessage", commonModel.action), true);
if (rm == null)
return ErrorException("不支持:action=" + commonModel.action + "的操作!", Request.RequestUri, commonModel, formData.Result);
return rm.CallApi(Request.RequestUri, commonModel, formData.Result);
后面还有 25 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。