| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- #include "loginform.h"
- #include "ui_loginform.h"
- #include <QMessageBox>
- #include "globalinfo.h"
- LoginForm::LoginForm(QWidget *parent) :
- QWidget(parent),
- ui(new Ui::LoginForm),_request(nullptr)
- {
- ui->setupUi(this);
- connect(this,&LoginForm::loginFinish,this,&LoginForm::clear);
- ui->status->setVisible(false);
- this->setEnabled(true);
- }
- LoginForm::~LoginForm()
- {
- delete ui;
- }
- void LoginForm::on_pushLogin_clicked()
- {
- auto glo = GlobalInfo::this_();
- auto uname = this->ui->lineUser->text();
- auto upass = this->ui->linePass->text();
- auto url = glo->config().loginUrl;
- QMap<QString,QString> params;
- params.insert("password",uname);
- params.insert("username",upass);
- request()->post(url,params);
- ui->status->setVisible(true);
- this->setEnabled(false);
- }
- void LoginForm::clear(){
- if(_request){
- _request->deleteLater();
- _request = nullptr;
- }
- }
- HttpRequest * LoginForm::request()
- {
- if(!_request){
- _request = new HttpRequest(this);
- connect(_request,&HttpRequest::result,this,&LoginForm::result);
- }
- return _request;
- }
- void LoginForm::result(int code, const QJsonObject & body)
- {
- ui->status->setVisible(false);
- this->setEnabled(true);
- QString message = body["message"].toString();
- if(body.value("code").toInt(404) != 200){
- QMessageBox msg(QMessageBox::Information, "错误", " 网络异常", QMessageBox::Ok, this);
- msg.exec();
- // ui->username->clear();
- // ui->password->clear();
- return;
- }
- if(message == "未找到用户"){
- QMessageBox msg(QMessageBox::Information, "错误", "用户名或密码错误", QMessageBox::Ok, this);
- msg.exec();
- return;
- }
- auto data = body.value("data").toObject();
- UserInfo user;
- user.accountId = data["account_id"].toInt();
- user.userId = data["user_id"].toInt();
- user.userName = data["name"].toString();
- user.headPortrait = data["head_portrait"].toString();
- user.isVip = data["is_vip"].toInt(-1) == 1 ? true : false;
- user.acessToken = data["access_token"].toString();
- GlobalInfo::this_()->setUser(user);
- emit loginFinish();
- }
|