package com.hjx.parent; import android.graphics.Bitmap; import android.widget.Toast; import com.google.gson.Gson; import com.hjx.parent.bean.RegisterBean; import com.hjx.parent.bean.StudentBean; import com.prws.common.base.BaseActivity; import com.prws.common.base.BasePresenter; import com.prws.common.net.NetWorks; import com.prws.common.utils.LogUtil; import com.prws.common.utils.SharedPreferencesUtil; import com.uuzuche.lib_zxing.activity.CaptureFragment; import com.uuzuche.lib_zxing.activity.CodeUtils; import org.json.JSONObject; import java.io.IOException; import io.reactivex.Observer; import io.reactivex.disposables.Disposable; import okhttp3.ResponseBody; public class QRActivity extends BaseActivity { @Override protected int layoutResId() { return R.layout.activity_qr; } @Override public Object getContract() { return null; } @Override public BasePresenter getPresenter() { return null; } @Override protected void initView() { findViewById(R.id.iv_back).setOnClickListener(view -> startActivity(MainActivity.class)); CaptureFragment captureFragment = new CaptureFragment(); captureFragment.setAnalyzeCallback(new CodeUtils.AnalyzeCallback() { @Override public void onAnalyzeSuccess(Bitmap mBitmap, String result) { LogUtil.e(TAG, "result----:" + result); loginAnd(result); } @Override public void onAnalyzeFailed() { } }); getSupportFragmentManager().beginTransaction().replace(R.id.rl_content, captureFragment).commit(); } public void loginAnd(String str) { String student = (String) SharedPreferencesUtil.getData("student", ""); try { StudentBean studentBean = new Gson().fromJson(student, StudentBean.class); NetWorks.scanAndLogin(str, studentBean.getStuId(), new Observer() { @Override public void onSubscribe(Disposable d) { } @Override public void onNext(ResponseBody responseBody) { try { String str = responseBody.string().toString(); LogUtil.e(TAG, "----" + str); JSONObject jo = new JSONObject(str); boolean isSucceed = jo.getBoolean("success"); if (isSucceed) { startActivity(MainActivity.class); finish(); } else { Toast.makeText(QRActivity.this, jo.getString("msg"), Toast.LENGTH_SHORT).show(); } } catch (Exception e) { e.printStackTrace(); Toast.makeText(QRActivity.this, "服务繁忙,请重试", Toast.LENGTH_SHORT).show(); startActivity(MainActivity.class); } } @Override public void onError(Throwable e) { } @Override public void onComplete() { } }); } catch (Exception e) { } } @Override protected void initListener() { } @Override protected void initData() { } @Override public void onNetChanged(int netWorkState) { } }