CorpSms/DLG_Passwd.cpp
2025-02-27 16:58:16 +08:00

132 lines
3.0 KiB
C++

// DLG_Passwd.cpp : implementation file
//
#include "stdafx.h"
#include "CorpSms.h"
#include "DLG_Passwd.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// DLG_Passwd dialog
DLG_Passwd::DLG_Passwd(CWnd* pParent /*=NULL*/)
: CDialog(DLG_Passwd::IDD, pParent)
{
//{{AFX_DATA_INIT(DLG_Passwd)
m_strNew = _T("");
m_strNewRe = _T("");
m_strUser = _T("");
m_strYmm = _T("");
//}}AFX_DATA_INIT
memset( &m_User , 0 , sizeof(m_User) );
}
void DLG_Passwd::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(DLG_Passwd)
DDX_Text(pDX, IDC_PASSWD_NEW, m_strNew);
DDV_MaxChars(pDX, m_strNew, 15);
DDX_Text(pDX, IDC_PASSWD_NEWRE, m_strNewRe);
DDV_MaxChars(pDX, m_strNewRe, 15);
DDX_Text(pDX, IDC_PASSWD_USER, m_strUser);
DDV_MaxChars(pDX, m_strUser, 15);
DDX_Text(pDX, IDC_PASSWD_YMM, m_strYmm);
DDV_MaxChars(pDX, m_strYmm, 15);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(DLG_Passwd, CDialog)
//{{AFX_MSG_MAP(DLG_Passwd)
//}}AFX_MSG_MAP
ON_BN_CLICKED(IDOK, &DLG_Passwd::OnBnClickedOk)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// DLG_Passwd message handlers
void DLG_Passwd::OnOK()
{
CDialog::OnOK();
}
void DLG_Passwd::SetParam(SM_User user)
{
m_User = user;
}
SM_User DLG_Passwd::GetParam()
{
return m_User;
}
BOOL DLG_Passwd::OnInitDialog()
{
CDialog::OnInitDialog();
m_strUser = m_User.szUser;
UpdateData( false );
#ifdef SMSCENTER_DGSB //东莞社保的版本特别提示密码
GetDlgItem(IDC_PASSWD_NOTICE)->ShowWindow(SW_SHOW);
#endif
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void DLG_Passwd::OnBnClickedOk()
{
UpdateData(true);
if (m_strYmm != CString(m_User.szPasswd))
{
MessageBox(_T("原密码输入不正确,请检查!"), _T("错误"), MB_ICONWARNING);
GetDlgItem(IDC_PASSWD_YMM)->SetFocus();
return;
}
CString strRetMsg;
BOOL bPasswdVaild = false;
#ifdef SMSCENTER_DGSB //东莞社保的版本,对密码有特殊要求
bPasswdVaild = Passwd_CheckVaild(m_strNew, strRetMsg, 8, 1);
#else
bPasswdVaild = Passwd_CheckVaild(m_strNew, strRetMsg, 8, 0);
#endif
if (!bPasswdVaild)
{
strRetMsg.Format(_T("密码校验失败:%s"), strRetMsg);
MessageBox(strRetMsg, _T("错误"), MB_ICONWARNING);
GetDlgItem(IDC_PASSWD_YMM)->SetFocus();
return;
}
if (m_strNew != m_strNewRe)
{
MessageBox(_T("两次输入的密码不相同,请重输!"), _T("错误"), MB_ICONWARNING);
GetDlgItem(IDC_PASSWD_NEW)->SetFocus();
return;
}
_tcscpy(m_User.szPasswd, m_strNew);
#ifdef MOBSET_CARD_VER
//int iRet = MessageBox( _T("密码忘记后将无法登录,你的短信量也随之丢失!\r\n请确保你已记住新密码,是否继续?"),_T("提醒"),MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2);
int iRet = MessageBox(_T("请确保你已记住新密码,是否继续?"), _T("提醒"), MB_ICONQUESTION | MB_YESNO | MB_DEFBUTTON2);
if (iRet != IDYES)
return;
#endif
CDialog::OnOK();
}