QRActivity.java 3.03 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.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){
        NetWorks.scanAndLogin(str, 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() {

            }
        });
    }

    @Override
    protected void initListener() {

    }

    @Override
    protected void initData() {

    }

    @Override
    public void onNetChanged(int netWorkState) {

    }
}