带货直播系统,实现客户端的用户登录功能

一   客户端进行登录前期工作

       包括,带货直播系统登录验证,向服务器发送登录请求

        运行带货直播系统,显示登录页面

        如果是自动登录,则加载本地账号,进行登录

	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());
}

声明:本文由云豹科技转发自清水映朝阳博客,如有侵权请联系作者删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值