Exemplo n.º 1
0
 public HttpResponseArgs Handle(HttpArgs args)
 {
     return(ApiReturn.Return(new ApiReturn()
     {
         Code = HttpCode.Success,
         Message = "获取题目信息成功",
         Data = Data.Problems
     }));
 }
Exemplo n.º 2
0
 public HttpResponseArgs Handle(HttpArgs args)
 {
     return(ApiReturn.Return(new ApiReturn
     {
         Code = HttpCode.Success,
         Message = "获取提交记录成功",
         Data = new Model().Select(null)
     }));
 }
Exemplo n.º 3
0
        public HttpResponseArgs Handle(HttpArgs args)
        {
            var model    = new JudgeModel();
            var code     = args.GetPostValue()["code"].ToString();
            var session  = args.GetPostValue()["session"].ToString();
            var id       = args.GetArgValue("id");  //题目ID
            var language = args.GetArgValue("lan"); //语言
            var sno      = Data.GetSno(session);

            if (sno == string.Empty)
            {
                return(ApiReturn.Return(new ApiReturn()
                {
                    Code = HttpCode.Success,
                    Message = "session验证失败",
                    Data = null
                }));
            }
            var source = Handler.SaveAsFile(code, id, sno, language);
            var exe    = Handler.Compiler(source, language);

            if (!exe.Exists)
            {
                model.Insert(new Dictionary <string, object>
                {
                    { "problem", id },
                    { "language", language },
                    { "runtime", 0 },
                    { "result", JudgeResult.EA },
                    { "sno", sno },
                    { "time", DateTime.Now }
                });
            }
            var reslut = Handler.Judge(id, exe, language);

            model.Insert(new Dictionary <string, object>
            {
                { "problem", id },
                { "language", language },
                { "runtime", reslut.Time },
                { "result", reslut.Result },
                { "sno", sno },
                { "time", DateTime.Now }
            });
            Console.WriteLine(Program.TimeLabel() + "用户{0}提交了问题{1}的答案,运行结果{2},用时{3}ms.", sno, id, reslut.Result.ToString(), reslut.Time);
            return(ApiReturn.Return(new ApiReturn()
            {
                Code = HttpCode.Success,
                Message = reslut.Pass ? "运行通过" : "答案错误",
                Data = reslut
            }));
        }
Exemplo n.º 4
0
        public HttpResponseArgs Handle(HttpArgs args)
        {
            var model    = new RegisterModel();
            var sno      = args.GetPostValue()["sno"].ToString();
            var pw       = args.GetPostValue()["pw"].ToString();
            var register = model.Register(sno, pw);

            Console.WriteLine(Program.TimeLabel() + "用户{0}已注册.", sno);
            return(ApiReturn.Return(new ApiReturn()
            {
                Code = HttpCode.Success,
                Message = register ? "注册成功" : "账号已存在",
                Data = register
            }));
        }
Exemplo n.º 5
0
        public HttpResponseArgs Handle(HttpArgs args)
        {
            var model   = new LoginModel();
            var sno     = args.GetPostValue()["sno"].ToString();
            var pw      = args.GetPostValue()["pw"].ToString();
            var session = model.Login(sno, pw);

            if (session == string.Empty)
            {
                return(ApiReturn.Return(new ApiReturn()
                {
                    Code = HttpCode.Success,
                    Message = "登陆失败",
                    Data = string.Empty
                }));
            }
            Console.WriteLine(Program.TimeLabel() + "用户{0}已登录.", sno);
            return(ApiReturn.Return(new ApiReturn()
            {
                Code = HttpCode.Success,
                Message = "登陆成功",
                Data = session
            }));
        }