package com.tejia.lijin.app.util.user;
|
|
import android.content.Context;
|
import android.content.DialogInterface;
|
import android.content.SharedPreferences;
|
import android.util.Base64;
|
import android.view.View;
|
import android.widget.Toast;
|
|
import com.google.gson.Gson;
|
import com.google.gson.GsonBuilder;
|
import com.google.gson.reflect.TypeToken;
|
import com.tejia.lijin.app.BasicTextHttpResponseHandler;
|
import com.tejia.lijin.app.ShoppingApi;
|
import com.tejia.lijin.app.entity.UserInfo;
|
import com.tejia.lijin.app.ui.dialog.AddZFBInfoDialog;
|
import com.tejia.lijin.app.ui.mine.LoginVerifyCodeActivity;
|
|
import org.apache.http.Header;
|
import org.json.JSONObject;
|
|
import java.io.UnsupportedEncodingException;
|
|
/**
|
* 账号绑定
|
*/
|
public class AccountBindManager {
|
|
|
public static void bindPhone(final Context context, String vCode, String phone, String accessToken, final LoginManager.ILoginAndBindResult bindListener) {
|
|
ShoppingApi.bindPhoneNew(context, vCode, phone, accessToken, UserUtil.getUid(context), new BasicTextHttpResponseHandler() {
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
if (jsonObject.optString("code").equalsIgnoreCase("0")) {
|
Gson gson = new GsonBuilder().serializeNulls().create();
|
final UserInfo info = gson.fromJson(jsonObject.optJSONObject("data").optJSONObject("userInfo").toString(), new TypeToken<UserInfo>() {
|
}.getType());
|
bindListener.onBindSuccess(info);
|
} else {
|
bindListener.onBindFail(jsonObject.optInt("code"), jsonObject.optString("msg"));
|
}
|
}
|
|
@Override
|
public void onFinish() {
|
super.onFinish();
|
bindListener.onBindFinish();
|
}
|
|
@Override
|
public void onStart() {
|
super.onStart();
|
bindListener.onBindStart();
|
}
|
|
@Override
|
public void onFailure(int statusCode, Header[] headers, String jsonObject, Throwable e) {
|
super.onFailure(statusCode, headers, jsonObject, e);
|
bindListener.onBindFail(500, "网络请求出错");
|
}
|
});
|
|
}
|
|
|
/**
|
* 绑定微信
|
*
|
* @param context
|
* @param uid
|
* @param code
|
* @param bindListener
|
*/
|
public static void bindWX(final Context context, Long uid, String code, final LoginManager.ILoginAndBindResult bindListener) {
|
ShoppingApi.bindWeiXin(context, uid, code, new BasicTextHttpResponseHandler() {
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
if (jsonObject.optString("code").equalsIgnoreCase("0")) {
|
Gson gson = new GsonBuilder().serializeNulls().create();
|
final UserInfo info = gson.fromJson(jsonObject.optJSONObject("data").optJSONObject("userInfo").toString(), new TypeToken<UserInfo>() {
|
}.getType());
|
bindListener.onBindSuccess(info);
|
} else {
|
bindListener.onBindFail(jsonObject.optInt("code"), jsonObject.optString("msg"));
|
}
|
}
|
|
@Override
|
public void onFinish() {
|
super.onFinish();
|
bindListener.onBindFinish();
|
}
|
|
@Override
|
public void onStart() {
|
super.onStart();
|
bindListener.onBindStart();
|
}
|
|
@Override
|
public void onFailure(int statusCode, Header[] headers, String jsonObject, Throwable e) {
|
super.onFailure(statusCode, headers, jsonObject, e);
|
bindListener.onBindFail(500, "网络请求出错");
|
}
|
});
|
|
}
|
|
|
/**
|
* 绑定QQ
|
*
|
* @param context
|
* @param uid
|
* @param qqUser
|
* @param bindListener
|
*/
|
public static void bindQQ(final Context context, Long uid, QQLoginManager.QQUserInfo qqUser, final LoginManager.ILoginAndBindResult bindListener) {
|
String qqUserInfo = null;
|
try {
|
qqUserInfo = Base64.encodeToString(new Gson().toJson(qqUser).getBytes("UTF-8"), Base64.NO_WRAP);
|
} catch (UnsupportedEncodingException e) {
|
e.printStackTrace();
|
}
|
ShoppingApi.bindQQ(context, uid, qqUserInfo, new BasicTextHttpResponseHandler() {
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
if (jsonObject.optString("code").equalsIgnoreCase("0")) {
|
Gson gson = new GsonBuilder().serializeNulls().create();
|
final UserInfo info = gson.fromJson(jsonObject.optJSONObject("data").optJSONObject("userInfo").toString(), new TypeToken<UserInfo>() {
|
}.getType());
|
bindListener.onBindSuccess(info);
|
} else {
|
bindListener.onBindFail(jsonObject.optInt("code"), jsonObject.optString("msg"));
|
}
|
}
|
|
@Override
|
public void onFinish() {
|
super.onFinish();
|
bindListener.onBindFinish();
|
}
|
|
@Override
|
public void onStart() {
|
super.onStart();
|
bindListener.onBindStart();
|
}
|
|
@Override
|
public void onFailure(int statusCode, Header[] headers, String jsonObject, Throwable e) {
|
super.onFailure(statusCode, headers, jsonObject, e);
|
bindListener.onBindFail(500, "网络请求出错");
|
}
|
});
|
|
}
|
|
|
}
|