autologin.cpp 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. #include "autologin.h"
  2. #include "sncdatabase.h"
  3. #include "respuserreg.h"
  4. #include "respssologin.h"
  5. AutoLogin::AutoLogin(QObject *parent) :
  6. QThread(parent)
  7. {
  8. m_sso = new WSSSO();
  9. }
  10. AutoLogin::~AutoLogin()
  11. {
  12. m_sso->abort();
  13. delete m_sso;
  14. }
  15. void AutoLogin::run()
  16. {
  17. login();
  18. }
  19. void AutoLogin::reg()
  20. {
  21. QString userid = SNCDataBase::getAppHash();
  22. QString userpws = "";
  23. QString userqq = "";
  24. QString useremail = "";
  25. QString src = "mf-"+ SNCDataBase::getAppVersion();
  26. QString username,corpname,userww,userphone,city;
  27. QString authcode;
  28. QByteArray ba;
  29. QString str = userid + SNCDataBase::getAuthCodeSeg()+ src;
  30. ba = QCryptographicHash::hash ( str.toAscii(), QCryptographicHash::Md5 );
  31. authcode.append(ba.toHex());
  32. QString apphash = SNCDataBase::getAppHash();
  33. QString json = m_sso->userReg(userid,userpws,username,corpname,userqq,userww,useremail,userphone,city,src,apphash,authcode,"temp");
  34. if(!json.isEmpty()){
  35. RespUserReg response(json);
  36. if(response.getRtnCode()==1)
  37. {
  38. //qDebug()<<response.getRtnMemo();
  39. }
  40. qDebug()<<response.getRtnMemo();
  41. }
  42. }
  43. void AutoLogin::login()
  44. {
  45. QMultiMap<QString,QString> list = SNCDataBase::getDefaultLoginInfo();
  46. int cols = list.uniqueKeys().size();
  47. int rows = 0;
  48. if(cols!=0)
  49. rows = list.size()/cols;
  50. QString userCode = "";
  51. QString userPwd = "";
  52. for(int row=0;row<list.size();row++)
  53. {
  54. userCode = list.values("usercode").at(row);
  55. userPwd = list.values("password").at(row);
  56. QString isauto = list.values("isauto").at(row);
  57. if(isauto!="1")
  58. {
  59. userCode = "";
  60. }
  61. break;
  62. }
  63. if(userCode.isEmpty())
  64. return ;
  65. QString src = "mf-" + SNCDataBase::getAppVersion();
  66. QString apphash = SNCDataBase::getAppHash();
  67. QString json = m_sso->userLogin(userCode,userPwd,src,apphash);
  68. if(!json.isEmpty())
  69. {
  70. RespSSOLogin response(json);
  71. if(response.getRtnCode() == 1)
  72. {
  73. QMap<QString,QString> accountInfo;
  74. accountInfo.insert("userid",response.getUserID());
  75. accountInfo.insert("usercode",response.getUserCode());
  76. accountInfo.insert("ssohash",response.getUserHash());
  77. accountInfo.insert("username",response.getUserName());
  78. accountInfo.insert("starttime",response.getUserStartTime());
  79. accountInfo.insert("endtime",response.getUserEndTime());
  80. accountInfo.insert("lastloginip",response.getUserLastLoginIP());
  81. accountInfo.insert("lastlogintime",response.getUserLastLoginTime());
  82. accountInfo.insert("remainmoney",response.getUserRemainMoney());
  83. accountInfo.insert("gifmoney",response.getUserGiftMoney());
  84. accountInfo.insert("summoney",response.getUserSumMoney());
  85. accountInfo.insert("sumgiftmoney",response.getUserSumGiftMoney());
  86. accountInfo.insert("regtype",response.getUserRegType());
  87. emit autoLoginOK(accountInfo);
  88. }
  89. }
  90. }