Beispiel #1
0
        public JsonResult BackQrLogin(string uuid)
        {
            OperationResult oResult = new OperationResult(OperationResultType.Success);

            oResult.Message = "";
            QrLoginHub.backQrCode(uuid);
            return(Json(oResult));
        }
Beispiel #2
0
        public JsonResult ScanComplete(string uuid, int?adminId)
        {
            OperationResult oResult = new OperationResult(OperationResultType.Success);

            oResult.Message = "扫码成功";
            var adminImg = string.Empty;

            if (adminId.HasValue)
            {
                adminImg = _administratorContract.View(adminId.Value).Member.UserPhoto;
            }
            QrLoginHub.scanComplete(uuid, adminImg);
            return(Json(oResult));
        }
Beispiel #3
0
        public JsonResult ConfirmQrLogin(string uuid, int?adminId)
        {
            if (uuid.IsNullOrEmpty() || !adminId.HasValue)
            {
                OperationResult oResult = new OperationResult(OperationResultType.QueryNull);
                oResult.Message = "请使用小蝶办公扫码登录";
                return(Json(oResult));
            }
            var now    = DateTime.Now.AddMinutes(-QrLoginValidTime);
            var curMod = _qrLoginContract.QrLogins.FirstOrDefault(f => f.QrCode == uuid && f.AdminId == null && f.CreatedTime >= now);

            if (curMod.IsNotNull())
            {
                var curAdmin = _administratorContract.Administrators.FirstOrDefault(f => f.Id == adminId);
                if (curAdmin.IsNotNull() && curAdmin.IsEnabled && !curAdmin.IsDeleted)
                {
                    curMod.AdminId = adminId;
                    var resultUp = _qrLoginContract.Update(curMod);
                    if (resultUp.ResultType == OperationResultType.Success)
                    {
                        OperationResult oResult = new OperationResult(OperationResultType.Success);
                        oResult.Message = "登录成功";
                        QrLoginHub.sendStatus(uuid);
                        return(Json(oResult));
                    }
                }
                else
                {
                    OperationResult oResult = new OperationResult(OperationResultType.QueryNull);
                    oResult.Message = "用户不存在或已被禁止登录";
                    return(Json(oResult));
                }
            }

            OperationResult Result = new OperationResult(OperationResultType.ValidError);

            Result.Message = "二维码已过期,请重新扫码";
            return(Json(Result));
        }