QRActivity.java 3.43 KB
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<ResponseBody>() {
                @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) {

    }
}