private void OnUpdatePWVerifyReq(Datagram datagram) { UpdatePWVerifyReq req = datagram.UnSerialData <UpdatePWVerifyReq>(); UpdatePWResponse response = new UpdatePWResponse(); if (EmailRequestCache.TryRemove(req.NextLabel, out EmailRequestPackage value)) { if (InternalTools.VerificateCode(value.Verify, req.Verifies)) { Guid guid = Guid.NewGuid(); if (OperationFinishCache.TryAdd ( guid, new KeyValuePair <string, DateTime>(value.Email, DateTime.Now) )) { response.NextLabel = guid; } } } datagram.DataType = DatagramType.Client; datagram.MessageType = LoginMessageType.UpdatePWVerifyRes; datagram.Datas = response.ToByteArray(); if (!Send(datagram.ToByteArray())) { Notify(IKXTServer.LogLevel.Error, "数据发送异常"); Close(); } }
private void OnUpdatePWFinishReq(Datagram datagram) { UpdatePWFinishReq req = datagram.UnSerialData <UpdatePWFinishReq>(); UpdatePWResponse response = new UpdatePWResponse(); if (OperationFinishCache.TryGetValue ( req.NextLabel, out KeyValuePair <string, DateTime> value )) { string user_id = InternalTools.GetNewUserID(); if (SQLDB.UpdatePassword(value.Key, req.Password)) { response.NextLabel = Guid.NewGuid(); } } datagram.DataType = DatagramType.Client; datagram.MessageType = LoginMessageType.UpdatePWFinishRes; datagram.Datas = response.ToByteArray(); if (!Send(datagram.ToByteArray())) { Notify(IKXTServer.LogLevel.Error, "数据发送异常"); Close(); } }
private void OnLogin_UpdatePWEmailRes(Datagram datagram) { UpdatePWResponse res = datagram.UnSerialData <UpdatePWResponse>(); if (RunningDatas.RequestTable.TryRemove(datagram.RequestID, out RequestSender value)) { value.RequestCallback(res); } }
private void OnUpdatePWEmailReq(Datagram datagram) { UpdatePWEmailReq req = datagram.UnSerialData <UpdatePWEmailReq>(); UpdatePWResponse response = new UpdatePWResponse(); if (!SQLDB.CheckEmail(req.Email)) { Guid request_id = Guid.NewGuid(); byte[] ver_code = InternalTools.GenerateVerification(); if (EmailRequestCache.TryAdd(request_id, new EmailRequestPackage { UserID = null, Email = req.Email, Verify = ver_code, Time = DateTime.Now })) { if ( InternalTools.SendUpdatePWVerificateEmail ( req.Email, InternalTools.GenerateVerification(ver_code) ) ) { response.NextLabel = request_id; } } } datagram.DataType = DatagramType.Client; datagram.MessageType = LoginMessageType.UpdatePWEmailRes; datagram.Datas = response.ToByteArray(); if (!Send(datagram.ToByteArray())) { Notify(IKXTServer.LogLevel.Error, "数据发送异常"); Close(); } }