admin
2022-01-13 b9ed091e3b607af409e30aca468958cdb08641ad
app/src/main/java/com/ysvideo/zhibo/app/util/LoginUtil.java
@@ -14,6 +14,7 @@
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;
@@ -29,9 +30,84 @@
    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);
@@ -199,7 +275,9 @@
     * @param context
     */
    public static void goLogin(Context context) {
        context.startActivity(new Intent(context, EmailLoginActivity.class).addFlags(FLAG_ACTIVITY_NEW_TASK).putExtra("listener", LoginUtil.loginListener));
        boolean onLining = AppConfigUtil.isOnLining(context);
        //是否正在上线
        context.startActivity(new Intent(context, onLining ? PhoneLoginActivity.class : EmailLoginActivity.class).addFlags(FLAG_ACTIVITY_NEW_TASK).putExtra("listener", LoginUtil.loginListener));
    }
}