[javaScript] API

module.exports.login = async function ()
{
    var bs_session_id;

    var loginData = JSON.stringify({
        "User": {
            "login_id": user_id,
            "password": user_password
        }
    });

    var https = require('https');
    var options = {
        hostname: 'localhost',
        path: '/api/login',
        method: 'POST',
        headers: { 'Content-Type': 'application/json',
            'charset': 'UTF-8',
            'Content-Length': Buffer.byteLength(loginData),
        }
    };

    var req = await https.request(options, (res) => {
        console.log('statusCode:', res.statusCode);
        console.log('headers:', res.headers);

        bs_session_id = res.headers['bs-session-id'];

        res.on('data', (d) => {
            process.stdout.write(d);
        });
    });

    req.on('error', (e) => {
        console.error(e);
    });

    await req.write(loginData);
    await req.end();

    await browser.sleep(5000);

    return bs_session_id;
};

module.exports.logout = async function (bs_session_id)
{
    var https = require('https');
    var options = {
        hostname: 'localhost',
        path: '/api/logout',
        method: 'POST',
        headers: { 'Content-Type': 'application/json',
            'charset': 'UTF-8',
            'bs-session-id' : Buffer.from(bs_session_id),
        }
    };

    var req = await https.request(options, (res) => {
        console.log('statusCode:', res.statusCode);
        console.log('headers:', res.headers);

        res.on('data', (d) => {
            process.stdout.write(d);
        });
    });

    req.on('error', (e) => {
        console.error(e);
    });

    await req.end();

    await browser.sleep(5000);

};

module.exports.devices_add = async function (bs_session_id, device_id)
{
    var https = require('https');

    var postData = JSON.stringify({
        "Device": {
            "id": device_id,
            "device_type_id": {
                "id": "12",
                "name": "BioStation L2"
            },
            "lan": {
                "enable_dhcp": "false",
                "ip": "192.168.12.155",
                "device_port": "51211"
            },
            "rs485": {
                "mode": "1",
                "channels": [
                    {
                        "index": "0",
                        "mode": "1"
                    }
                ]
            },
            "support_ssl": "true",
            "is_exist_root_cert": "false",
            "system": {
                "use_alphanumeric": "true"
            },
            "capacity": {
                "support_alphanumeric": "true",
                "support_ssl": "true",
                "is_exist_root_cert": "false",
                "fw_upgrade_required": "false"
            },
            "server_connected": {
                "status": "disconnected"
            },
            "name": "BioStation L2 " + device_id + " (192.168.12.155)",
            "device_group_id": {
                "id": "1",
                "name": "All Devices"
            },
            "isDisabled": false,
            "ip": [
                192,
                168,
                12,
                155
            ],
            "ipForSorting": "00192001680001200155",
            "secureModeStatus": "Connectable.",
            "status": "OK"
        }
    });

    var https = require('https');
    var options = {
        hostname: 'localhost',
        path: '/api/devices',
        method: 'POST',
        headers: { 'Content-Type': 'application/json',
            'charset': 'UTF-8',
            'Content-Length': Buffer.byteLength(postData),
            'bs-session-id' : Buffer.from(bs_session_id),
            //'Authorization': 'Basic ' + Buffer.from(Preferences.Test_user_id + ':' + Preferences.Test_user_password).toString('base64'),
        }
    };

    var req = await https.request(options, (res) => {
        console.log('statusCode:', res.statusCode);
        console.log('headers:', res.headers);

        res.on('data', (d) => {
            process.stdout.write(d);
        });
    });

    req.on('error', (e) => {
        console.error(e);
    });

    await req.write(postData);
    await req.end();

    await browser.sleep(5000);
};

1차-자바스크립트 기본요소와 변수선언

1. 자바 스크립트의 특징

  • 자바스크립트는 네스케이프사에서 개발한 HTML문서 내에 삽입되어 동적인 웹페이지를 구현할 수 있는 스크립트이다.
  • 독립된 응용프로그램의 형태를 지니지 못하는 스크립트 언어이다. (완벽한 문법적인 구조를 가지지 못함)
  • 객체를 이용하여 프로그램잉하는 객체 기반언어이다.
  • 브라우저에 대한 우수한 호환성으로 주로 Client-side에서 프로그래밍하는 스크립트로 사용된다.
  • HTML안에 삽입될때는 <script> ~  </script>안에 정의한다.

2. 자바 스크립트를 정의하는 방법

  • <script> ~ </script> 안에 정의한다.
  • <script> ~<~/script>의 위치는 <head> ~ </head > 태크 또는 <body>~</body> 태크에 모두 정의 가능