package com.yuyh.sprintnba.ui.presenter.impl;
import android.content.Context;
import com.yuyh.sprintnba.http.api.RequestCallback;
import com.yuyh.sprintnba.http.api.hupu.game.HupuGamesService;
import com.yuyh.sprintnba.http.bean.cookie.User;
import com.yuyh.sprintnba.http.bean.cookie.UserData;
import com.yuyh.sprintnba.app.Constant;
import com.yuyh.sprintnba.ui.presenter.Presenter;
import com.yuyh.sprintnba.ui.view.LoginView;
import com.yuyh.sprintnba.utils.SettingPrefUtils;
import com.yuyh.library.utils.log.LogUtils;
import com.yuyh.library.utils.toast.ToastUtils;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
/**
* @author yuyh.
* @date 16/6/26.
*/
public class LoginPresenterImpl implements Presenter {
private Context context;
private LoginView loginView;
private User user = new User();
public LoginPresenterImpl(Context context, LoginView loginView) {
this.context = context;
this.loginView = loginView;
}
@Override
public void initialized() {
}
public void login(final String username, final String password) {
loginView.showLoading();
HupuGamesService.login(username, password, new RequestCallback<UserData>() {
@Override
public void onSuccess(UserData userData) {
if (userData != null) {
if (userData != null && userData.is_login == 1) { // 登录成功
UserData.LoginResult data = userData.result;
String cookie = "";
try {
cookie = URLDecoder.decode(Constant.Cookie, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
LogUtils.d("cookie:" + cookie);
String uid = cookie.split("\\|")[0];
LogUtils.d("uid:" + uid);
user.uid = uid;
user.nickName = data.nickname;
user.token = data.token;
user.cookie = cookie;
user.userName = data.username;
SettingPrefUtils.saveNickname(data.nickname);
SettingPrefUtils.saveUid(data.uid);
SettingPrefUtils.saveToken(data.token);
SettingPrefUtils.saveUsername(username);
SettingPrefUtils.savePassword(password);
loginView.loginSuccess();
loginView.hideLoading();
} else {
loginView.hideLoading();
if (userData.error != null)
ToastUtils.showSingleLongToast(userData.error.msg);
else
ToastUtils.showSingleLongToast("登录失败");
}
}
}
@Override
public void onFailure(String message) {
loginView.hideLoading();
ToastUtils.showSingleLongToast("登录失败");
}
});
}
}