一 客户端进行登录前期工作
包括,带货直播系统登录验证,向服务器发送登录请求
运行带货直播系统,显示登录页面
如果是自动登录,则加载本地账号,进行登录
if (cbox_autoLogin_->IsSelected()){
char szAccount[32] = { 0 }, szPasswd[40] = { 0 };
xnw_loadAccount(szAccount, szPasswd);
if (*szAccount && *szPasswd) {
user_name_edit_->SetUTF8Text(szAccount);
password_edit_->SetUTF8Text(szPasswd);
DoBeforeLogin();
}
}
开始带货直播系统登录之前的验证,验证账号密码是否为空:
void LoginForm::DoBeforeLogin()
{
switch (login_tab_->GetCurSel())
{
case 0://账号密码方式
{
std::string username = user_name_edit_->GetUTF8Text();
StringHelper::Trim(username);
std::wstring user_name_temp = nbase::UTF8ToUTF16(username);
user_name_temp = StringHelper::MakeLowerString(user_name_temp);
username = nbase::UTF16ToUTF8(user_name_temp);
if (username.empty())
{
ShowLoginTip(L"帐号为空");
return;
}
std::string password = password_edit_->GetUTF8Text();
StringHelper::Trim(password);
if (password.empty())
{
ShowLoginTip(L"密码为空");
return;
}
StartLogin(username, password);
}
break;
case 1: //验证码方式
{
std::string userPhone = user_phone_edit_->GetUTF8Text();
StringHelper::Trim(userPhone);
std::wstring user_Phone_temp = nbase::UTF8ToUTF16(userPhone);
user_Phone_temp = StringHelper::MakeLowerString(user_Phone_temp);
userPhone = nbase::UTF16ToUTF8(user_Phone_temp);
if (userPhone.empty())
{
ShowLoginTip(L"请输入手机号或邮箱");
return;
}
std::string verifyCode = verifyCode_edit_->GetUTF8Text();
StringHelper::Trim(verifyCode);
if (verifyCode.empty())
{
ShowLoginTip(L"验证码为空");
return;
}
StartLoginCode(userPhone, verifyCode);
}
}
}
正式进行带货直播系统登录,向服务器发送登录信息,由服务器判断登录是否成功
void LoginForm::StartLogin( std::string username, std::string password )
{
user_name_edit_->SetEnabled(false);
password_edit_->SetEnabled(false);
login_error_tip_->SetVisible(false);
login_ing_tip_->SetVisible(true);
btn_login_->SetVisible(false);
//btn_cancel_->SetVisible(true);
xnw_Login(username.c_str(), password.c_str());
}
void LoginForm::StartLoginCode(std::string username, std::string code)
{
user_name_edit_->SetEnabled(false);
password_edit_->SetEnabled(false);
login_error_tip_->SetVisible(false);
login_ing_tip_->SetVisible(true);
btn_login_->SetVisible(false);
//btn_cancel_->SetVisible(true);
xnw_LoginByCode(username.c_str(), code.c_str());
}
int xnw_Login(const char* account,const char* pass)
{
CFormData form;
form.AddPair("account", account);
form.AddPair("password", pass);
return xnw_api_request("/v1/weibo/do_login", form, g_ui.GetHwnd());
}
int xnw_LoginByCode(const char* account, const char* code)
{
CFormData form;
form.AddPair("account", account);
form.AddPair("code", code);
return xnw_api_request("/v1/weibo/do_login", form, g_ui.GetHwnd());
}
声明:本文由云豹科技转发自清水映朝阳博客,如有侵权请联系作者删除