예제 #1
0
        /// <summary>
        /// 心跳包发送
        /// </summary>
        /// <returns></returns>
        public RunInfo doSendHeartBeat()
        {
            try{
                Dictionary <String, String> reqparams = new Dictionary <String, String>();
                reqparams.Add("FUNCTION", "IMALIVE");
                reqparams.Add("key01", runinfo.Key01);
                reqparams.Add("username", runinfo.Username);
                reqparams.Add("tokenvalue", runinfo.TokenValue);
                string rec = publicUtils.publicUtils.PostUrl(runinfo.Url, reqparams);

                RetJson rj = JsonConvert.DeserializeObject <RetJson>(rec);
                if (rj.RetCode == "-1")
                {
                    //登录失败,需要重新登录
                    runinfo.Islogin = false;
                    runinfo.RetCode = RetCode.RELOGIN;
                }
                else if (rj.RetMsg == "IMALIVE")
                {
                    //登录成功,并且心跳发送成功
                    runinfo.Islogin = true;
                    runinfo.RetCode = RetCode.LOGINSUCCESS;
                }
                else
                {
                    //心跳包发送后没有登录状态回来,则为登录失败,需要重新登录
                    runinfo.Islogin = false;
                    runinfo.RetCode = RetCode.RELOGIN;
                }
            }
            catch (Exception ex) {
                LogHelper.WriteLog("心跳包发送失败", ex);
            }
            return(runinfo);
        }
예제 #2
0
        public JsonResult Create([Bind(Include = "user_id,f_name,l_name,idnumber,password,role_id,program_id,batch_id")] User user)
        {
            RetJson a = new RetJson();


            if (ModelState.IsValid)
            {
                var chk1 = (from x in db.Users where x.idnumber == user.idnumber select x).FirstOrDefault();

                if (chk1 == null)
                {
                    db.Users.Add(user);
                    db.SaveChanges();
                    a.status  = 0;
                    a.message = "success";
                }

                else
                {
                    a.status  = 1;
                    a.message = "ID Number already exists";
                }
            }

            ViewBag.batch_id   = new SelectList(db.Batches, "batch_id", "batch1", user.batch_id);
            ViewBag.program_id = new SelectList(db.Programs, "program_id", "program1", user.program_id);
            ViewBag.role_id    = new SelectList(db.Roles, "role_id", "user_type", user.role_id);
            return(Json(a, JsonRequestBehavior.AllowGet));
        }
예제 #3
0
 public void doSomething(String cmd, RetJson retJson)
 {
     LogHelper.WriteLog("doSomething:" + cmd);
     //重启指令
     if ("RESTART".Equals(cmd))
     {
         //Process.Start("shutdown.exe", "-r");
         // By Default the Restart will take place after 30 Seconds
         //if you want to change the Delay try this one
         restartComputer();
     }
     else if ("RESTART_EXPLORER".Equals(cmd))
     {
         restartExplorer();
     }
     else if ("GET_PICTURE".Equals(cmd))
     {
         //获取截图
         //ImageComp.Instance.
         getPicture(retJson);
     }
     else if ("GET_STACKS".Equals(cmd))
     {
         //获取堆栈信息
     }
     else if ("GET_ALL_THREAD".Equals(cmd))
     {
         //获取所有线程信息
     }
     else if ("RESTART_TEAMVIEWER".Equals(cmd))
     {
         //重启TV
         restartTeamViewer();
     }
 }
예제 #4
0
        /// <summary>
        /// 获取命令
        /// </summary>
        /// <returns></returns>
        public RunInfo doGetCmd()
        {
            try{
                Dictionary <String, String> reqparams = new Dictionary <String, String>();
                reqparams.Add("FUNCTION", "CMD");
                reqparams.Add("key01", runinfo.Key01);
                reqparams.Add("username", runinfo.Username);
                reqparams.Add("tokenvalue", runinfo.TokenValue);
                string rec = publicUtils.publicUtils.PostUrl(runinfo.Url, reqparams);

                RetJson rj = JsonConvert.DeserializeObject <RetJson>(rec);
                runinfo.RetJson = rj;
                if (rj.RetMsg == "OUTTIME")
                {
                    //登录失败,需要重新登录
                    runinfo.Islogin = false;
                    runinfo.RetCode = RetCode.RELOGIN;
                }
                else
                {
                    runinfo.Islogin = true;
                    runinfo.RetCode = RetCode.GETCMDSUCCESS;
                    runinfo.RetMsg  = rec;
                }
            }
            catch (Exception ex) {
                LogHelper.WriteLog("获取命令失败", ex);
            }
            return(runinfo);
        }
예제 #5
0
        /// <summary>
        /// 登录
        /// </summary>
        /// <returns>统一运行信息</returns>
        public RunInfo doLogin()
        {
            try {
                string tokenKey = runinfo.Username + runinfo.Pwd;
                byte[] result   = Encoding.Default.GetBytes(tokenKey);                  //tbPass为输入密码的文本框
                MD5    md5      = new MD5CryptoServiceProvider();
                byte[] output   = md5.ComputeHash(result);
                tokenKey = BitConverter.ToString(output).Replace("-", "");
                tokenKey = tokenKey.ToLower();

                Dictionary <String, String> reqparams = new Dictionary <String, String>();
                reqparams.Add("FUNCTION", "LOGIN");
                reqparams.Add("key01", runinfo.Key01);
                reqparams.Add("username", runinfo.Username);
                reqparams.Add("tokenKey", tokenKey);

                runinfo.TokenValue = publicUtils.publicUtils.PostUrl(runinfo.Url, reqparams);

                RetJson rj = JsonConvert.DeserializeObject <RetJson>(runinfo.TokenValue);

                if (rj.RetCode == "0")
                {
                    runinfo.TokenValue = rj.RetData.Tokenvalue;
                    runinfo.Islogin    = true;
                    return(runinfo);
                }
            }
            catch (Exception ex) {
                LogHelper.WriteLog("登录失败", ex);
            }
            runinfo.Islogin = false;
            return(new RunInfo());
        }
예제 #6
0
        public JsonResult Create([Bind(Include = "program_id,program1,program_title,program_description")] Program program)
        {
            RetJson a = new RetJson();


            if (ModelState.IsValid)
            {
                var chk1 = (from x in db.Programs where x.program1 == program.program1 select x).FirstOrDefault();

                if (chk1 == null)
                {
                    db.Programs.Add(program);
                    db.SaveChanges();
                    a.status  = 0;
                    a.message = "success";
                }
                else
                {
                    a.status  = 1;
                    a.message = "Program already exists";
                }
            }

            return(Json(a, JsonRequestBehavior.AllowGet));;
        }
예제 #7
0
        public void getPicture(RetJson retjson)
        {
            ImageComp inst      = ImageComp.Instance;
            string    str       = inst.saveScrFile();
            LoginWork loginwork = LoginWork.Instance;

            loginwork.doSendPic(str);
        }
예제 #8
0
        public HttpResponseMessage DoEnd(int code, string msg, object data)
        {
            RetJson ret = new RetJson();

            ret.code = code;
            ret.msg  = msg;
            ret.data = data == null ? new List <string>() : data;

            string json = JsonConvert.SerializeObject(ret);

            return(new HttpResponseMessage {
                Content = new StringContent(json, Encoding.GetEncoding("UTF-8"), "application/json")
            });
        }
예제 #9
0
 /// <summary>
 /// 获取图片队列id,一会上传图片有用
 /// </summary>
 /// <returns></returns>
 public RetJson doGetPicList()
 {
     try{
         Dictionary <String, String> reqparams = new Dictionary <String, String>();
         reqparams.Add("FUNCTION", "GET_PIC_ID");
         reqparams.Add("key01", runinfo.Key01);
         reqparams.Add("username", runinfo.Username);
         reqparams.Add("tokenvalue", runinfo.TokenValue);
         string  rec = publicUtils.publicUtils.PostUrl(runinfo.Url, reqparams);
         RetJson rj  = JsonConvert.DeserializeObject <RetJson>(rec);
         return(rj);
     }
     catch (Exception ex) {
         LogHelper.WriteLog("获取图片队列id失败", ex);
     }
     return(null);
 }
예제 #10
0
        /// <summary>
        /// 发送图片到服务器
        /// </summary>
        /// <param name="base64"></param>
        /// <returns></returns>
        public RunInfo doSendPic(string base64)
        {
            RetJson rj = doGetPicList();

            if (rj == null || rj.RetData.Cmd_id == "" || rj.RetData.Cmd_id == "0")
            {
                return(null);
            }

            Dictionary <String, String> reqparams = new Dictionary <String, String>();

            reqparams.Add("FUNCTION", "SAVE_PIC");
            reqparams.Add("key01", runinfo.Key01);
            reqparams.Add("username", runinfo.Username);
            reqparams.Add("tokenvalue", runinfo.TokenValue);
            reqparams.Add("CMD_ID", rj.RetData.Cmd_id);
            reqparams.Add("PIC_BASE64", HttpUtility.UrlEncode(base64));


            string rec = publicUtils.publicUtils.PostUrl(runinfo.Url, reqparams);

            return(null);
        }