Exemple #1
0
        public string MgRegister(string phone, string password, string code, string username)
        {
            Register   r  = new Register();
            ajaxResult ar = new ajaxResult();

            if (code.Equals(string.Empty) || !r.VerificationCode(phone, code))
            {
                ar.StatusCode = statusCode.Code.failure;
                ar.Message    = "验证码输入错误.";
                ar.Result     = "";
                return(Utils.ToJson(ar));
            }
            if (phone.Equals(string.Empty) || r.VerificationPhone(phone))
            {
                ar.StatusCode = statusCode.Code.failure;
                ar.Message    = "该手机号码已被注册.";
                ar.Result     = "";
                return(Utils.ToJson(ar));
            }
            if (password.Equals(string.Empty) || r.MgRegister(phone, password, username))
            {
                ar.StatusCode = statusCode.Code.success;
                ar.Message    = "注册成功.";
            }
            else
            {
                ar.StatusCode = statusCode.Code.failure;
                ar.Message    = "注册失败,请重新注册.";
            }
            ar.Result = "";
            return(Utils.ToJson(ar));
        }
Exemple #2
0
        private string SendUnlockCommand(int DeviceID, string Password)
        {
            ajaxResult ar = new ajaxResult();

            ar.Result = "3";

            if (!string.IsNullOrEmpty(Password) && DeviceID > 0 && Password.Length > 0 && Password.Length < 10)
            {
                string strSql = "select DevicePassword,SerialNumber from devices where deviceid=@DeviceID and deleted=0";
                MG_DAL.SQLServerOperating sqlHelper = new MG_DAL.SQLServerOperating();
                var dic = sqlHelper.Selects(strSql, new SqlParameter[] { new SqlParameter("DeviceID", DeviceID) }).toDictionary();
                if (dic["DevicePassword"].Equals(Password))
                {
                    string imei = dic["SerialNumber"];

                    List <Task> listTask = new List <Task>();
                    string      cmdid    = "0";
                    Task        task     = Task.Factory.StartNew(() =>
                    {
                        strSql = @" insert into CarCommandQueue (  DeviceID, CommandText, CreateDate, IsSend, SendDate, IsResponse, ResponseDate, ResponseText, CommandName, IsOfflineSend, Infos, SendCount)
 values(@SerialNumber, 'KM', getdate(), 0, getdate(), 0, '1900-01-01 00:00:00.000', '', '指令开锁', 0, '', 0) select @@IDENTITY CommandID";
                        cmdid  = sqlHelper.Select(strSql, new SqlParameter[] { new SqlParameter("SerialNumber", imei) });
                    });
                    listTask.Add(task);

                    task = Task.Factory.StartNew(() =>
                    {
                        ar.Result = Utils.SendTcpCmd("VTR-Command-" + dic["SerialNumber"] + "-KM");
                    });
                    listTask.Add(task);
                    Task.WaitAll(listTask.ToArray());
                    if (ar.Result.Equals("1"))
                    {
                        Task.Factory.StartNew(() => {
                            strSql = " update CarCommandQueue set IsResponse=1 ,ResponseDate=getdate(),ResponseText='Success!' where id=" + cmdid;
                            sqlHelper.ExecuteSql(strSql);
                        });
                    }
                    // status = Utils.SendTcpCmd("VTR-Command-" + SerialNumber + "-DY");
                    // if (status .Equals("1"))
                    //{
                    //Task.Run(() => {
                    //    System.Threading.Thread.Sleep(3000);
                    //    var cmdRes = Utils.SendTcpCmd("VTR-Command-" + SerialNumber + "-TY");
                    //    while (cmdRes!= "1")
                    //    {
                    //        System.Threading.Thread.Sleep(3000);
                    //        cmdRes = Utils.SendTcpCmd("VTR-Command-" + SerialNumber + "-TY");
                    //    }
                    //});
                    //  }
                }
                else
                {
                    ar.Result = "2";
                }
            }
            return(Utils.ToJson(ar));
        }
Exemple #3
0
        public string WeixinRegister(string serialnumber, string vccode, string phone, string password, string code)
        {
            Register   r  = new Register();
            ajaxResult ar = new ajaxResult();

            if (code.Equals(string.Empty) || !r.VerificationCode(phone, code))
            {
                ar.StatusCode = statusCode.Code.failure;
                ar.Message    = "验证码输入错误.";
                ar.Result     = "";
                return(Utils.ToJson(ar));
            }
            if (phone.Equals(string.Empty) || r.VerificationPhone(phone))
            {
                ar.StatusCode = statusCode.Code.failure;
                ar.Message    = "该手机号码已被注册.";
                ar.Result     = "";
                return(Utils.ToJson(ar));
            }
            if (password.Equals(string.Empty))
            {
                ar.StatusCode = statusCode.Code.failure;
                ar.Message    = "密码不能为空.";
            }
            var loginUser = r.WeixinRegister(phone, password, serialnumber, vccode);
            Dictionary <string, dynamic> LoginResult = new Dictionary <string, dynamic>();

            if (loginUser != null)
            {
                LoginResult.Add("StatusCode", statusCode.Code.success);
                LoginResult.Add("UserID", loginUser.UserID);
                LoginResult.Add("Token", loginUser.ToKen);
                LoginResult.Add("Url", "");
                LoginResult.Add("DeviceID", loginUser.DeviceID);
                LoginResult.Add("DeviceName", loginUser.UserName);
                LoginResult.Add("LoginType", (int)LoginType.User);
                LoginResult.Add("password", Utils.GetMD5(password));
                if (loginUser.Address == "failure")
                {
                    LoginResult["Message"] = "添加设备失败,需要重新添加.";
                    LoginResult["Url"]     = "device/DeviceList.html";
                }
                else
                {
                    LoginResult["Url"] = "device/Tracking.html?deviceid=" + loginUser.DeviceID + "&type=reg";
                }
            }
            else
            {
                LoginResult["Message"] = "注册失败,请重新注册.";
                LoginResult.Add("StatusCode", statusCode.Code.failure);
            }
            ar.Result = "";
            return(Utils.ToJson(LoginResult));
        }
Exemple #4
0
        public string SMSCodes(string phone, string type)
        {
            Register   r  = new Register();
            ajaxResult ar = new ajaxResult();

            if (string.IsNullOrEmpty(phone) || !phone.StartsWith("1") || phone.Length != 11)
            {
                return(Utils.GetResult("号码格式错误.", statusCode.Code.failure));
            }
            if (type == "retrieve" && !r.VerificationPhone(phone)) //register 注册
            {
                ar.StatusCode = statusCode.Code.failure;
                ar.Message    = "该手机号码未注册.";
                ar.Result     = "";
                return(Utils.ToJson(ar));
            }
            string result = r.SMSCodes(phone);

            if (result.Equals(string.Empty))
            {
                ar.StatusCode = statusCode.Code.success;
                ar.Message    = "验证码发送成功.";
                ar.Result     = "";
                return(Utils.ToJson(ar));
            }
            else
            {
                ar.StatusCode = statusCode.Code.failure;
                if (result.Equals("00104"))
                {
                    ar.Message = "同一个号码,1小时内只能发送4条,并且24小时内只能发10条.";
                }
                else if (result.Equals("00025"))
                {
                    ar.Message = "手机格式不对.";
                }
                else if (result.Equals("00008"))
                {
                    ar.Message = "操作频繁.";
                }
                else if (result.Equals("00007"))
                {
                    ar.Message = "重复提交.";
                }
                else
                {
                    ar.Message = "验证码发送失败.";
                }
                Utils.log("验证码发送失败:" + phone + " - " + result);
                ar.Result = result;
                return(Utils.ToJson(ar));
            }
        }
Exemple #5
0
        /// <summary>
        /// 验证用户是否有权访问外部接口
        /// </summary>
        /// <param name="userid">访问的用户ID</param>
        /// <returns></returns>
        public string isValid(string userid = null)
        {
            ajaxResult ar = new ajaxResult();

            if (userid != null && userid != _userID)
            {
                ar.Message    = "对不起!您无权访问此用户的数据!";
                ar.StatusCode = statusCode.Code.failure;
                return(Utils.ToJson(ar));
            }
            if (!isValid(_identifies, _userID, _token))
            {
                ar.Message    = "登陆信息已失效,请重新登录.";
                ar.StatusCode = statusCode.Code.tokenFail;
                return(Utils.ToJson(ar));
            }
            return(string.Empty);
        }
Exemple #6
0
        public string RetrievePassword(string phone, string password, string code)
        {
            ajaxResult ar = new ajaxResult();

            try
            {
                int cacheCode = Utils.GetCache <int>("SMS" + phone);
                if (string.IsNullOrEmpty(cacheCode.toStringEmpty()) || !code.Equals(cacheCode.toStringEmpty()))
                {
                    ar.StatusCode = statusCode.Code.failure;
                    ar.Message    = "验证码错误!";
                }
                else
                {
                    Register r = new Register();
                    ar = r.RetrievePassword(phone, password);
                    if (ar.StatusCode == statusCode.Code.success)
                    {
                        HttpRuntime.Cache.Remove("SMS" + phone);
                    }
                    //if (r.RetrievePassword(phone, password))
                    //{
                    //    HttpRuntime.Cache.Remove("SMS" + phone);
                    //    ar.StatusCode = statusCode.Code.success;
                    //    ar.Message = "密码重设成功.";
                    //    ar.Result = "";
                    //    return Utils.ToJson(ar);
                    //}
                    //else
                    //{
                    //    ar.StatusCode = statusCode.Code.failure;
                    //    ar.Message = "密码重设失败.";
                    //    ar.Result = "";
                    //}
                }
                return(Utils.ToJson(ar));
            }
            catch (Exception)
            {
                return(Utils.GetResult("错误的验证码.", statusCode.Code.error));
            }
        }