package com.ysvideo.zhibo.app.util;
|
|
import android.content.Context;
|
import android.content.Intent;
|
import android.content.SharedPreferences;
|
import android.util.Log;
|
import android.widget.Toast;
|
|
import com.ysvideo.zhibo.app.entity.user.UserInfo;
|
import com.ysvideo.zhibo.app.ui.common.BrowserActivity;
|
import com.ysvideo.zhibo.app.util.api.BasicTextHttpResponseHandler;
|
import com.ysvideo.zhibo.app.util.api.HttpApiUtil;
|
import com.ysvideo.zhibo.library_login.entity.LoginApiResult;
|
import com.ysvideo.zhibo.library_login.inter.ILoginListener;
|
import com.ysvideo.zhibo.library_login.inter.LoginApiCallBack;
|
import com.ysvideo.zhibo.library_login.ui.EmailLoginActivity;
|
import com.ysvideo.zhibo.library_login.ui.PhoneLoginActivity;
|
|
import org.apache.http.Header;
|
import org.json.JSONObject;
|
|
import java.io.IOException;
|
|
import okhttp3.Call;
|
|
import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
|
|
public class LoginUtil {
|
|
private static ILoginListener loginListener = new ILoginListener() {
|
|
@Override
|
public void sendSmsCode(Context context, String phone, LoginApiCallBack callBack) {
|
super.sendSmsCode(context, phone, callBack);
|
HttpApiUtil.sendSMSCode(context, phone, new BasicTextHttpResponseHandler() {
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
super.onSuccessPerfect(statusCode, headers, jsonObject);
|
if (jsonObject.optBoolean("IsPost")) {
|
callBack.onCallBack(new LoginApiResult(LoginApiResult.CODE_OK, ""));
|
} else {
|
callBack.onCallBack(new LoginApiResult(LoginApiResult.CODE_ERROR, jsonObject.optString("Error")));
|
}
|
}
|
|
@Override
|
public void onFailure(Call call, IOException e) {
|
super.onFailure(call, e);
|
callBack.onCallBack(new LoginApiResult(LoginApiResult.CODE_ERROR, "网络请求出错"));
|
}
|
|
@Override
|
public void onStart() {
|
super.onStart();
|
callBack.onStart();
|
}
|
|
@Override
|
public void onFinish() {
|
super.onFinish();
|
callBack.onFinish();
|
}
|
});
|
}
|
|
@Override
|
public void emailLogin(Context context, String email, String pwd, LoginApiCallBack callBack) {
|
super.emailLogin(context, email, pwd, callBack);
|
HttpApiUtil.emailLogin(context, email, pwd, new BasicTextHttpResponseHandler() {
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
super.onSuccessPerfect(statusCode, headers, jsonObject);
|
if (jsonObject.optBoolean("IsPost")) {
|
JSONObject data = jsonObject.optJSONObject("Data");
|
UserInfo userInfo = new UserInfo();
|
userInfo.setPortrait(data.optString("Portrait"));
|
userInfo.setId(data.getString("Id"));
|
userInfo.setNickName(data.optString("Nickname"));
|
UserUtil.loginSuccess(context, userInfo);
|
callBack.onCallBack(new LoginApiResult(LoginApiResult.CODE_OK, ""));
|
} else {
|
callBack.onCallBack(new LoginApiResult(LoginApiResult.CODE_ERROR, jsonObject.optString("Error")));
|
}
|
}
|
|
@Override
|
public void onFailure(Call call, IOException e) {
|
super.onFailure(call, e);
|
callBack.onCallBack(new LoginApiResult(LoginApiResult.CODE_ERROR, "网络请求出错"));
|
}
|
|
@Override
|
public void onStart() {
|
super.onStart();
|
callBack.onStart();
|
}
|
|
@Override
|
public void onFinish() {
|
super.onFinish();
|
callBack.onFinish();
|
}
|
});
|
|
}
|
|
@Override
|
public void phoneLogin(Context context, String phone, String code, LoginApiCallBack callBack) {
|
super.phoneLogin(context, phone, code, callBack);
|
HttpApiUtil.phoneLogin(context, phone, code, new BasicTextHttpResponseHandler() {
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
super.onSuccessPerfect(statusCode, headers, jsonObject);
|
if (jsonObject.optBoolean("IsPost")) {
|
JSONObject data = jsonObject.optJSONObject("Data");
|
UserInfo userInfo = new UserInfo();
|
userInfo.setPortrait(data.optString("Portrait"));
|
userInfo.setId(data.getString("Id"));
|
userInfo.setNickName(data.optString("Nickname"));
|
UserUtil.loginSuccess(context, userInfo);
|
callBack.onCallBack(new LoginApiResult(LoginApiResult.CODE_OK, ""));
|
} else {
|
callBack.onCallBack(new LoginApiResult(LoginApiResult.CODE_ERROR, jsonObject.optString("Error")));
|
}
|
}
|
|
@Override
|
public void onFailure(Call call, IOException e) {
|
super.onFailure(call, e);
|
callBack.onCallBack(new LoginApiResult(LoginApiResult.CODE_ERROR, "网络请求出错"));
|
}
|
|
@Override
|
public void onStart() {
|
super.onStart();
|
callBack.onStart();
|
}
|
|
@Override
|
public void onFinish() {
|
super.onFinish();
|
callBack.onFinish();
|
}
|
});
|
|
}
|
|
@Override
|
public void onPrivacy(Context context) {
|
super.onPrivacy(context);
|
context.startActivity(new Intent(context, BrowserActivity.class).putExtra("url", Constant.PRIVACY_POLICY));
|
}
|
|
@Override
|
public void onProtocol(Context context) {
|
super.onProtocol(context);
|
context.startActivity(new Intent(context, BrowserActivity.class).putExtra("url", Constant.USER_AGREEMENT));
|
}
|
|
@Override
|
public void sendEmailCode(Context context, String email, LoginApiCallBack callBack) {
|
super.sendEmailCode(context, email, callBack);
|
|
HttpApiUtil.getVerficationCode(context, email, new BasicTextHttpResponseHandler() {
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
super.onSuccessPerfect(statusCode, headers, jsonObject);
|
if (jsonObject.optBoolean("IsPost")) {
|
callBack.onCallBack(new LoginApiResult(LoginApiResult.CODE_OK, ""));
|
} else {
|
callBack.onCallBack(new LoginApiResult(LoginApiResult.CODE_ERROR, jsonObject.optString("Error")));
|
}
|
}
|
|
@Override
|
public void onFailure(Call call, IOException e) {
|
super.onFailure(call, e);
|
callBack.onCallBack(new LoginApiResult(LoginApiResult.CODE_ERROR, "网络请求出错"));
|
}
|
|
@Override
|
public void onStart() {
|
super.onStart();
|
callBack.onStart();
|
}
|
|
@Override
|
public void onFinish() {
|
super.onFinish();
|
callBack.onFinish();
|
}
|
});
|
|
|
}
|
|
@Override
|
public void emailRegister(Context context, String email, String vcode, String pwd, LoginApiCallBack callBack) {
|
super.emailRegister(context, email, vcode, pwd, callBack);
|
|
|
HttpApiUtil.emailRegister(context, email, pwd, vcode, null, new BasicTextHttpResponseHandler() {
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
super.onSuccessPerfect(statusCode, headers, jsonObject);
|
if (jsonObject.optBoolean("IsPost")) {
|
callBack.onCallBack(new LoginApiResult(LoginApiResult.CODE_OK, ""));
|
} else {
|
callBack.onCallBack(new LoginApiResult(LoginApiResult.CODE_ERROR, jsonObject.optString("Error")));
|
}
|
}
|
|
@Override
|
public void onFailure(Call call, IOException e) {
|
super.onFailure(call, e);
|
callBack.onCallBack(new LoginApiResult(LoginApiResult.CODE_ERROR, "网络请求出错"));
|
}
|
|
@Override
|
public void onStart() {
|
super.onStart();
|
callBack.onStart();
|
}
|
|
@Override
|
public void onFinish() {
|
super.onFinish();
|
callBack.onFinish();
|
}
|
});
|
}
|
|
@Override
|
public void emailUpdatePwd(Context context, String email, String vcode, String pwd, LoginApiCallBack callBack) {
|
super.emailUpdatePwd(context, email, vcode, pwd, callBack);
|
|
|
HttpApiUtil.revisePwd(context, email, vcode, pwd, new BasicTextHttpResponseHandler() {
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
super.onSuccessPerfect(statusCode, headers, jsonObject);
|
if (jsonObject.optBoolean("IsPost")) {
|
callBack.onCallBack(new LoginApiResult(LoginApiResult.CODE_OK, ""));
|
} else {
|
callBack.onCallBack(new LoginApiResult(LoginApiResult.CODE_ERROR, jsonObject.optString("Error")));
|
}
|
}
|
|
@Override
|
public void onFailure(Call call, IOException e) {
|
super.onFailure(call, e);
|
callBack.onCallBack(new LoginApiResult(LoginApiResult.CODE_ERROR, "网络请求出错"));
|
}
|
|
@Override
|
public void onStart() {
|
super.onStart();
|
callBack.onStart();
|
}
|
|
@Override
|
public void onFinish() {
|
super.onFinish();
|
callBack.onFinish();
|
}
|
});
|
|
}
|
};
|
|
|
/**
|
* 去登录
|
*
|
* @param context
|
*/
|
public static void goLogin(Context context) {
|
boolean onLining = AppConfigUtil.isOnLining(context);
|
//是否正在上线
|
context.startActivity(new Intent(context, onLining ? PhoneLoginActivity.class : EmailLoginActivity.class).addFlags(FLAG_ACTIVITY_NEW_TASK).putExtra("listener", LoginUtil.loginListener));
|
}
|
|
}
|