123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202 |
- package com.edufound.android.xyyf.phonelogin;
- import android.animation.ValueAnimator;
- import android.os.Handler;
- import android.os.Message;
- import android.text.TextUtils;
- import android.util.Base64;
- import android.view.View;
- import android.view.ViewGroup;
- import com.edufound.android.xyyf.activity.MainActivity;
- import com.edufound.android.xyyf.application.EApplication;
- import com.edufound.android.xyyf.base.BasePersenter;
- import com.edufound.android.xyyf.util.ContextUtil;
- import com.edufound.android.xyyf.util.DeviceUuidFactory;
- import com.edufound.android.xyyf.util.Logger;
- import com.edufound.android.xyyf.util.OKHttpUtil;
- import com.edufound.android.xyyf.util.SPutil;
- import com.edufound.android.xyyf.util.ToastUtil;
- import com.google.gson.JsonObject;
- import org.json.JSONException;
- import org.json.JSONObject;
- import java.io.IOException;
- import java.util.HashMap;
- import java.util.Map;
- import okhttp3.Call;
- import okhttp3.Callback;
- import okhttp3.Request;
- import okhttp3.Response;
- public class PhoneLoginPersenter implements PhoneLoginIPersenter {
- PhoneLoginModel mModel;
- PhoneLoginView mView;
- String phoneNum = "";
- public PhoneLoginPersenter(PhoneLoginView view) {
- mModel = new PhoneLoginModel();
- mView = view;
- }
- @Override
- public void loadData() {
- }
- @Override
- public void onDisConnNetWork() {
- }
- @Override
- public void onConnNetWork() {
- }
- public void WidthAnim(final View view, int end, int time) {
- ValueAnimator anim = ValueAnimator.ofInt(view.getMeasuredWidth(), end);
- anim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
- @Override
- public void onAnimationUpdate(ValueAnimator valueAnimator) {
- int val = (Integer) valueAnimator.getAnimatedValue();
- ViewGroup.LayoutParams layoutParams = view.getLayoutParams();
- layoutParams.width = val;
- view.setLayoutParams(layoutParams);
- }
- });
- anim.setDuration(time);
- anim.start();
- }
- public boolean isMobileNO(String mobileNums) {
- String telRegex = "^((13[0-9])|(14[5,7,9])|(15[^4])|(18[0-9])|(17[0,1,3,5,6,7,8]))\\d{8}$";
- if (TextUtils.isEmpty(mobileNums)) {
- return false;
- } else {
- return mobileNums.matches(telRegex);
- }
- }
- public void getVCode(String phoneNum) throws IOException {
- this.phoneNum = phoneNum;
- if (!isMobileNO(phoneNum)) {
- ToastUtil.showToast("请输入正确的手机号");
- mView.changeVText(1);
- return;
- }
- mView.changeVText(0);
- OKHttpUtil.getInstance().doGetSync(mModel.getVerificationCodeUrl() + phoneNum, new Callback() {
- @Override
- public void onFailure(Call call, IOException e) {
- Logger.e("onFailure:" + e.getMessage());
- }
- @Override
- public void onResponse(Call call, Response response) throws IOException {
- try {
- String json = response.body().string();
- JSONObject jsonObject = new JSONObject(json);
- Logger.e("json:" + json);
- if (jsonObject.getBoolean("success")) {
- } else {
- final String error = jsonObject.getString("message");
- handler.post(new Runnable() {
- @Override
- public void run() {
- ToastUtil.showToast(error);
- }
- });
- mView.changeVText(1);
- }
- } catch (JSONException e) {
- e.printStackTrace();
- }
- }
- });
- }
- public void LoginByVCode(String phone, String vcode) throws JSONException {
- String preuuid = SPutil.getPrefString(ContextUtil.getContext(), DeviceUuidFactory.UUID_SPKEY, "");
- if (preuuid.equals("")) {
- preuuid = DeviceUuidFactory.getUuid().toString();
- }
- JSONObject jsonObject = new JSONObject();
- jsonObject.put("deviceCode", preuuid);
- jsonObject.put("channel", EApplication.getAppCode());
- jsonObject.put("code", vcode);
- if (this.phoneNum.equals("")) {
- this.phoneNum = phone;
- }
- if (TextUtils.isEmpty(this.phoneNum.trim())) {
- ToastUtil.showToast("请输入手机号");
- return;
- }
- if (TextUtils.isEmpty(vcode.trim())) {
- ToastUtil.showToast("请输入验证码");
- return;
- }
- jsonObject.put("mobileNo", this.phoneNum);
- OKHttpUtil.getInstance().postPhoneLogin(mModel.getVCodeLoginUrl(), jsonObject.toString(), new OKHttpUtil.ResultCallback() {
- @Override
- public void onError(Request request, Exception e) {
- Logger.e("登录:onError");
- }
- @Override
- public void onResponse(Object response) {
- String json = response.toString();
- try {
- JSONObject jsonObject1 = new JSONObject(json);
- if (jsonObject1.getBoolean("success")) {
- JSONObject user = jsonObject1.getJSONObject("data");
- SPutil.setPrefString(mView.getActivity(), "user_phone", Base64.encodeToString(user.getString("mobile").getBytes(), Base64.DEFAULT));
- MainActivity.getInstance().loadJSMehtodPost("phoneSuccess(" + json + ")");
- MainActivity.getInstance().quitPhoneLoginPage();
- mView.getActivity().finish();
- } else {
- final String error = jsonObject1.getString("message");
- handler.post(new Runnable() {
- @Override
- public void run() {
- ToastUtil.showToast(error);
- }
- });
- }
- } catch (JSONException e) {
- e.printStackTrace();
- }
- }
- });
- }
- Handler handler = new Handler(new Handler.Callback() {
- @Override
- public boolean handleMessage(Message msg) {
- return false;
- }
- });
- }
- interface PhoneLoginIPersenter extends BasePersenter {
- }
|