注册成功之后自动发鉴权;在”联网考试“中添加开始、结束考试,获取人员信息,
4个文件已修改
123 ■■■■■ 已修改文件
app/src/main/java/safeluck/drive/evaluation/MainActivity.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/app.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/MainActivity.java
@@ -8,6 +8,7 @@
import android.os.AsyncTask;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.widget.Toast;
@@ -32,7 +33,9 @@
import com.anyun.exam.lib.AYSdk;
import com.anyun.exam.lib.MyLog;
import com.anyun.exam.lib.util.ByteUtil;
import com.anyun.im_lib.listener.IMSConnectStatusCallback;
import com.google.gson.Gson;
import com.safeluck.aykj.utils.BytesUtils;
import org.json.JSONException;
import org.json.JSONObject;
@@ -43,14 +46,19 @@
import java.util.List;
import java.util.concurrent.ArrayBlockingQueue;
import safeluck.drive.evaluation.im.IMSClientBootstrap;
import safeluck.drive.evaluation.im.MessageProcessor;
import safeluck.drive.evaluation.platformMessage.JKMessage0100;
import safeluck.drive.evaluation.platformMessage.JKMessage0101;
import safeluck.drive.evaluation.util.CThreadPoolExecutor;
import safeluck.drive.evaluation.util.FileUtil;
import safeluck.drive.evaluation.util.PermissionManager;
import safeluck.drive.evaluation.util.SPUtils;
import safeluck.drive.evaluation.viewmodels.MainViewModel;
import safeluck.drive.evaluation.viewmodels.RTKConnAndLogin;
import safeluck.drive.evaluation.viewmodels.RTKConnAndLoginViewModel;
public class MainActivity extends SupportActivity {
public class MainActivity extends SupportActivity implements IMSConnectStatusCallback {
    private static final int PERMISSIONS_REQUEST_CODE = 1001;
    private String TAG = MainActivity.class.getCanonicalName();
@@ -61,6 +69,7 @@
    String[] PERMISSIONS = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA};
    RTKConfigViewModel rtkConfigViewModel;
    private boolean onlySendOnceRTKConfig = true;
    private ICEventListener icEventListener = new ICEventListener() {
        @Override
@@ -147,6 +156,12 @@
        //全屏
        setContentView(R.layout.activity_main);
        // TODO
        //  进行tcp连接
        String userId = "100002";
        String token = "token_" + userId;
        String hosts = "[{\"host\":\"192.168.31.77\", \"port\":12125}]";
        IMSClientBootstrap.getInstance().init(userId,token,hosts,1,this);
        WokViewModel wokViewModel = ViewModelProviders.of(this).get(WokViewModel.class);
        wokViewModel.getStudents().observe(this, new Observer<List<Student>>() {
@@ -296,4 +311,40 @@
        return false;
    }
    @Override
    public void onConnecting() {
        MyLog.i(TAG,"TCP onConnecting");
    }
    @Override
    public void onConnected() {
        MyLog.i(TAG,"TCP连接成功");
        //TODO 判断SPUtils 是否保存有des密码;如果没有则进行注册JKMessage0100,如果有密码则进行鉴权JKMessage0101
        String hexPwd = (String) SPUtils.get(this,SPUtils.DES_HEX_PWD,"");
        if (TextUtils.isEmpty(hexPwd)){
            JKMessage0100 jkRegisterMessage = new JKMessage0100();
            jkRegisterMessage.proviceid = 23;
            jkRegisterMessage.cityid = 1;
            jkRegisterMessage.imei = "460123874561";
            jkRegisterMessage.model = "123";
            jkRegisterMessage.sn = "0314200100000004";
            Log.i(TAG, "onClick: msg len "+jkRegisterMessage.getMessageLen()+" "+       jkRegisterMessage.props.value);
            byte[] str = jkRegisterMessage.toBytes();
            MessageProcessor.getInstance().sendMessage(jkRegisterMessage);
            Log.i(TAG, "onClick: "+ BytesUtils.bytesToHexString(str)+" ============");
        }else{
            JKMessage0101 jkMessage0101 = new JKMessage0101();
            jkMessage0101.des =hexPwd;
            jkMessage0101.timestamp = (int) System.currentTimeMillis();
            MessageProcessor.getInstance().sendMessage(jkMessage0101);
        }
    }
    @Override
    public void onConnectFailed() {
        MyLog.i(TAG,"TCP连接失败");
    }
}
app/src/main/java/safeluck/drive/evaluation/app.java
@@ -64,7 +64,7 @@
 * 邮箱:632393724@qq.com
 * All Rights Saved! Chongqing AnYun Tech co. LTD
 */
public class app extends Application implements IAYExamListener , IMSConnectStatusCallback {
public class app extends Application implements IAYExamListener  {
    private static final String TAG = "app";
    private Gson gson;
@@ -112,11 +112,7 @@
                }
            }).start();
            // 进行tcp连接
            String userId = "100002";
            String token = "token_" + userId;
                String hosts = "[{\"host\":\"192.168.31.77\", \"port\":12125}]";
            IMSClientBootstrap.getInstance().init(userId,token,hosts,1,this);
        }
@@ -295,39 +291,5 @@
    }
    @Override
    public void onConnecting() {
    }
    @Override
    public void onConnected() {
        MyLog.i(TAG,"TCP连接成功");
        //TODO 判断SPUtils 是否保存有des密码;如果没有则进行注册JKMessage0100,如果有密码则进行鉴权JKMessage0101
        String hexPwd = (String) SPUtils.get(this,SPUtils.DES_HEX_PWD,"");
        if (TextUtils.isEmpty(hexPwd)){
            JKMessage0100 jkRegisterMessage = new JKMessage0100();
            jkRegisterMessage.proviceid = 23;
            jkRegisterMessage.cityid = 1;
            jkRegisterMessage.imei = "460123874561";
            jkRegisterMessage.model = "123";
            jkRegisterMessage.sn = "0314200100000004";
            Log.i(TAG, "onClick: msg len "+jkRegisterMessage.getMessageLen()+" "+       jkRegisterMessage.props.value);
            byte[] str = jkRegisterMessage.toBytes();
            MessageProcessor.getInstance().sendMessage(jkRegisterMessage);
            Log.i(TAG, "onClick: "+ BytesUtils.bytesToHexString(str)+" ============");
        }else{
            JKMessage0101 jkMessage0101 = new JKMessage0101();
            jkMessage0101.des =hexPwd;
            jkMessage0101.timestamp = (int) System.currentTimeMillis();
            MessageProcessor.getInstance().sendMessage(jkMessage0101);
        }
    }
    @Override
    public void onConnectFailed() {
        MyLog.i(TAG,"TCP连接失败");
    }
}
app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
@@ -32,6 +32,7 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import me.yokeyword.fragmentation.SupportFragment;
@@ -50,6 +51,10 @@
import safeluck.drive.evaluation.cEventCenter.ICEventListener;
import safeluck.drive.evaluation.customview.ArrowView;
import safeluck.drive.evaluation.customview.HouseView;
import safeluck.drive.evaluation.im.MessageProcessor;
import safeluck.drive.evaluation.platformMessage.JKMessage0201;
import safeluck.drive.evaluation.platformMessage.JKMessage0202;
import safeluck.drive.evaluation.platformMessage.JKMessage0204;
/**
 * 联网训练UI
@@ -298,6 +303,13 @@
                sendExamJson(1);
                iv_head.getDrawable().setLevel(1);
                //TODO 发送JKMessage0202 给平台,开始考试
                JKMessage0202 jkMessage0202 = new JKMessage0202();
                jkMessage0202.phone = "0314200100000004";
                jkMessage0202.timeBCD = new Date();
                jkMessage0202.curr_exam = 1;
                jkMessage0202.ID = "123456789";
                jkMessage0202.exam_id = 123456;
                MessageProcessor.getInstance().sendMessage(jkMessage0202);
                break;
            case R.id.tv_stop:
                Toast.makeText(_mActivity, "结束考试", Toast.LENGTH_SHORT).show();
@@ -317,6 +329,10 @@
            case R.id.profile:
                MyLog.i(TAG,"签到,获取身份证物理卡号");
                //TODO 获得物理卡号 发送JKMessage0201给平台,获取姓名、身份证、head_url
                JKMessage0201 jkMessage0201 = new JKMessage0201();
                jkMessage0201.currentExam = 1;
                jkMessage0201.id = "123456789";
                MessageProcessor.getInstance().sendMessage(jkMessage0201);
                break;
        }
    }
@@ -343,6 +359,14 @@
        WorkManager.getInstance(_mActivity).enqueue(examStatusInitWork);
        sendExamJson(0);
        //TODO 发送JKMessage0204给平台 结束考试
        JKMessage0204 jkMessage0204 = new JKMessage0204();
        jkMessage0204.phone = "0314200100000004";
        jkMessage0204.timeBCD = new Date();
        jkMessage0204.score = 10;
        jkMessage0204.stop = JKMessage0204.SUCC_STOP;
        jkMessage0204.ID = "123456789";
        jkMessage0204.exam_id = 123456;
        MessageProcessor.getInstance().sendMessage(jkMessage0204);
    }
    private ICEventListener icEventListener = new ICEventListener() {
app/src/main/java/safeluck/drive/evaluation/im/MessageProcessor.java
@@ -21,6 +21,7 @@
import safeluck.drive.evaluation.platformMessage.JK2019MessageBase;
import safeluck.drive.evaluation.platformMessage.JKMessage0001;
import safeluck.drive.evaluation.platformMessage.JKMessage0100;
import safeluck.drive.evaluation.platformMessage.JKMessage0101;
import safeluck.drive.evaluation.platformMessage.JKMessage8001;
import safeluck.drive.evaluation.platformMessage.JKMessage8100;
import safeluck.drive.evaluation.platformMessage.JKMessage8201;
@@ -68,6 +69,9 @@
            if (((JKMessage8100) jk2019MessageBase).result == JKMessage8100.SUCCESS){
                SPUtils.put(app.getAppContext(),SPUtils.DES_HEX_PWD,((JKMessage8100) jk2019MessageBase).des);
                JKMessage0101 jkMessage0101 = new JKMessage0101();
                jkMessage0101.des =((JKMessage8100) jk2019MessageBase).des;
                jkMessage0101.timestamp = (int) System.currentTimeMillis();
            }
        }else if (jk2019MessageBase instanceof JKMessage8001){
            JKMessage8001 jkMessage8001 = (JKMessage8001) jk2019MessageBase;