student.js 2.93 KB
$(function() {
    var teacherId = document.getElementById('teacher');
    var studentId = document.getElementById('student');
    var socket = io('http://localhost:3000');

    var teacher = CodeMirror.fromTextArea(teacherId, {
      value: '输入HTML代码',
      mode:  'text/javascript',
      readOnly: true,
      lineNumbers: true,
      smartIndent: false
    });

    var student = CodeMirror.fromTextArea(studentId, {
      value: '输入HTML代码',
      mode:  'text/javascript',
      lineNumbers: true,
      smartIndent: false
    });


    socket.on('teacher.programming', function(msg) {
        console.log(msg);
        var msgObj = JSON.parse(msg)
        // student.setValue(msg)
        processChangeObject(teacher, msgObj);

        $('#messages').append($('<li>').text(msg));
        window.scrollTo(0, document.body.scrollHeight);
    });

    socket.on('programming.content', function(msg) {
        console.log('programming.content ---- ' + msg);
        teacher.setValue(msg);
        // socket.emit('programming.content', teacher.getValue());
    });

    socket.on('programming.compile', function(msg) {
        console.log('-------------');
        console.log(msg);
        // $('#CompileBtn').trigger('click');
        console.log('编译' + teacher.getValue());
        var el = document.querySelector('#CompileBtn')
        var l = Ladda.create(el);
        l.start();

        var input = $('#input').val() || '';
        var code = teacher.getValue();
        var compileData = {
            code: code,
            langid: 10,
            input: input
        }
        $.ajax({
            type: "post",
            url: gxb_api + "/submit/submitCode/api",
            data: JSON.stringify(compileData),
            dataType: "json",
            contentType: "application/json",
            success: function(data) {
               console.log(data);
               l.remove();
               compileResult(data);
            },
            error: function(){
                l.stop();
                alert('错误');
            }
        });
    });







    $('#CompileBtn').on('click', function(){
        console.log('编译' + teacher.getValue());
        var el = document.querySelector('#CompileBtn')
        var l = Ladda.create(el);
        l.start();

        var input = $('#input').val() || '';
        var code = teacher.getValue();
        var compileData = {
            code: code,
            langid: 10,
            input: input
        }
        $.ajax({
            type: "post",
            url: gxb_api + "/submit/submitCode/api",
            data: JSON.stringify(compileData),
            dataType: "json",
            contentType: "application/json",
            success: function(data) {
               console.log(data);
               l.remove();
               compileResult(data);
            },
            error: function(){
                l.stop();
                alert('错误');
            }
        });
    })


});