GET /js/operation.js HTTP/1.1
Host: 192.168.***.***
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0
Accept: */*
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
DNT: 1
Referer:
http://192.168.***.***/
Cookie: yummy_magical_cookie=/
Connection: keep-alive
HTTP/1.0 200 OK
Via: 1.1 tinyproxy (tinyproxy/1.8.3)
Set-Cookie: yummy_magical_cookie=/; path=/
Content-Type: application/javascript
Server: Boa/0.94.13
Date: Tue, 23 Feb 2016 09:34:09 GMT
Last-Modified: Tue, 01 Dec 2015 06:19:24 GMT
Connection: close
Content-Length: 47879
var protocol_version = 101;
var peer_type = 4001;
var method_key = "cmd";
var operation_key = "operation";
var channel_key = "channel";
var stream_key = "stream";
var protocol_url = "/ipnc/";
var upgrade_config_url = "/uconfig/";
var callback_onkeepalive = null;
this.JSON3 = this.JSON;
this.JSON = false;
var CMD_TYPE_LOGIN = 1001;
var CMD_TYPE_LOGOUT = 1002;
var CMD_TYPE_CAPTURE_MJPEG = 1003;
var CMD_TYPE_FRAME_RATE = 1004;
var CMD_TYPE_NET_CONFIG = 1005;
var CMD_TYPE_KEEP_ALIVE = 1006;
var CMD_TYPE_VIDEO_MASK = 1007;
var CMD_TYPE_CAMERA_PARAMS = 1008;
var CMD_TYPE_USER_MANAGER = 1009;
var CMD_TYPE_SERVICE_PORT = 1010;
var CMD_TYPE_MAC_ADDRESS = 1011;
var CMD_TYPE_DDNS_CONFIG = 1012;
var CMD_TYPE_PPPOE_CONFIG = 1013;
var CMD_TYPE_FTP_CONFIG = 1014;
var CMD_TYPE_UPNP = 1015;
var CMD_TYPE_PORT_MAPPING = 1016;
var CMD_TYPE_REBOOT = 1017;
var CMD_TYPE_RESTORE_CONFIG = 1018;
var CMD_TYPE_DEVICE_NAME = 1019;
var CMD_TYPE_TIME_CONFIG = 1020;
var CMD_TYPE_IRIS_CONFIG = 1021;
var CMD_TYPE_DAYNIGHT_SWITCH = 1022;
var CMD_TYPE_MIRROR_SWITCH = 1023;
var CMD_TYPE_WDR = 1024;
var CMD_TYPE_WHITE_BALANCE = 1026;
var CMD_TYPE_PTZ_MOVE = 1027;
var CMD_TYPE_PTZ_SWITCH = 1028;
var CMD_TYPE_PTZ_PRESET = 1029;
var CMD_TYPE_PTZ_3D = 1030;
var CMD_TYPE_VA_CONFIG = 1031;
var CMD_TYPE_BITRATE_CONFIG = 1032;
var CMD_TYPE_VIDEO_QUALITY = 1033;
var CMD_TYPE_IFRAME_INTERVAL = 1034;
var CMD_TYPE_OSD = 1035;
var CMD_TYPE_PTZ_SCAN = 1036;
var CMD_TYPE_PTZ_SEQUENCE = 1037;
var CMD_TYPE_PTZ_PATTERN = 1038;
var CMD_TYPE_PTZ_GUARD = 1039;
var CMD_TYPE_MOTION_ALARM_CONFIG = 1040;
var CMD_TYPE_MOTION_ALARM_AREA = 1041;
var CMD_TYPE_ALARM_SCHEDULE = 1042;
var CMD_TYPE_ALARM_TRIGGER = 1043;
var CMD_TYPE_PORT_ALARM = 1044;
var CMD_TYPE_SEARCH_LOGS = 1045;
var CMD_TYPE_FORCE_IFRAME = 1046;
var CMD_TYPE_IP_FILTER = 1047;
var CMD_TYPE_IP_FILTER_ENABLE = 1048;
var CMD_TYPE_OUTPUT_DELAY = 1049;
var CMD_TYPE_ANONYMOUS_ACCESS = 1050;
var CMD_TYPE_UPGRADE_PROGRESS = 1051;
var CMD_TYPE_SEARCH_RECORDS = 1052;
var CMD_TYPE_NOISE_REDUCTION = 1053;
var CMD_TYPE_RTSP_AUTHENTICATION = 1054;
var CMD_TYPE_EMAIL_CONFIG = 1055;
var CMD_TYPE_RECORD_SCHEDULE = 1056;
var CMD_TYPE_RECORD_CONFIG = 1057;
var CMD_TYPE_AUDIO_ENCODER = 1059;
var CMD_TYPE_AUDIO_INPUT = 1060;
var CMD_TYPE_VIDEO_MASK_ALARM = 1061;
var CMD_TYPE_IR_LED = 1062;
var CMD_TYPE_SCHEDULE_CAPTURE = 1063;
var CMD_TYPE_STORAGE_QUOTA = 1064;
var CMD_TYPE_VIDEO_SYSTEM = 1065;
var CMD_TYPE_FOCUS_MODE = 1066;
var CMD_TYPE_LOCAL_OUTPUT = 1067;
var CMD_TYPE_RESTORE_CAMERA_PARAMS = 1068;
var CMD_TYPE_FORMAT_DEVICE = 1069;
var CMD_TYPE_EXPORT_CONFIG = 1070;
var CMD_TYPE_GET_STORAGE_DEVICES = 1071;
var CMD_TYPE_GET_DEVICE_VERSION = 1072;
var CMD_TYPE_WIRELESS_LIST = 1073;
var CMD_TYPE_WIFI_DEVICE_INFO = 1074;
var CMD_TYPE_WIRELESS_CONFIG = 1075;
var CMD_TYPE_ROI = 1076;
var CMD_TYPE_AISLE = 1077;
var CMD_TYPE_ZOOM_LIMIT = 1078;
var CMD_TYPE_RS485 = 1079;
var CMD_TYPE_RS232 = 1080;
var CMD_TYPE_TRACK_CONFIG = 1081;
var CMD_TYPE_TRACK_RET_SCENE = 1082;
var CMD_TYPE_TRACK_ENABLE = 1083;
var CMD_TYPE_TEST_FUNCTION = 1084;
var CMD_TYPE_SYS_MOBILE = 1085;
var CMD_TYPE_OSD_LANGUAGE = 1086;
var CMD_TYPE_DEFOG_MODE = 1087;
var CMD_TYPE_SNMP_CONFIG = 1088;
var CMD_TYPE_IDLE_ACTION_CONFIG = 1089;
var CMD_TYPE_IDLE_CAPTURE_SCHEDULE = 1090;
var CMD_TYPE_BIND_SESSION = 2001;
var CMD_TYPE_HEARTBEAT = 2002;
var CMD_TYPE_SERIAL_CONTROL = 2003;
var CMD_TYPE_OPEN_STREAM = 3001;
var CMD_TYPE_MEDIA_HEADER = 3002;
var CMD_TYPE_FRAME_HEADER = 3003;
var CMD_TYPE_SEARCH_DEVICE = 9990;
var CMD_TYPE_ONLINE = 9991;
var CMD_TYPE_OFFLINE = 9992;
var errCode = {
ERR_SUCCESS: 0,
ERR_USER_NOT_EXIST_ERROR: 1001,
ERR_USER_PASSWORD_ERROR: 1002,
ERR_USER_LENGTH_ERROR: 1003,
ERR_SESSION_INVALID: 1004,
ERR_SET_FAILED:1006,
ERR_INSUFFICIENT_PERMISSIONS: 1018,
ERR_IP_REFUSED: 1019,
ERR_USER_EXIST: 1021,
ERR_USER_LIMIT: 1022
};
var OP_TYPE_GET = 0;
var OP_TYPE_SET = 1;
var VEDIO_MASK_MAX = 4;
var MOTION_AREA_V_MAX = 18;
var ptzMove = {
NS_PTZ_MOVE_STOP: 0,
NS_PTZ_MOVE_UP: 1,
NS_PTZ_MOVE_DOWN: 2,
NS_PTZ_MOVE_LEFT: 3,
NS_PTZ_MOVE_RIGHT: 4,
NS_PTZ_MOVE_LEFT_UP: 5,
NS_PTZ_MOVE_RIGHT_UP: 6,
NS_PTZ_MOVE_LEFT_DOWN: 7,
NS_PTZ_MOVE_RIGHT_DOWN: 8,
NS_PTZ_MOVE_ZOOM_TELE: 20,
NS_PTZ_MOVE_ZOOM_WIDE: 21,
NS_PTZ_MOVE_FOCUS_NEAR: 22,
NS_PTZ_MOVE_FOCUS_FAR: 23,
NS_PTZ_MOVE_IRIS_CLOSE: 24,
NS_PTZ_MOVE_IRIS_OPEN: 25,
NS_PTZ_MOVE_RESET_CAMERA: 99
};
var ptzSwitchType = {
LIGHT: 0,
WIPER: 1,
POWER: 2,
AUXILIARY_FOCUS: 3,
HEAT: 4,
DEFOG: 5,
FAN: 6,
length: 7
};
var wifiSafeMode = { Encrypted: 0, WEP: 1, WPA_Personal: 2, WPA_Enterprise: 3, WPA2_Personal: 4, WPA2_Enterprise: 5 };
var storageDeviceType = { SD: 0, HD: 1 };
var storageStatus = { NOT_EXIST: 0, NOT_FORMAT: 1, IN_FORMATTING: 2, UNMOUNTED: 3, MOUNTED: 4, READY: 5 };
var dayNightMode = { DAY: 0, NIGHT: 1, AUTO: 2 };
var ptzPatternType = { SET_START: 1, SET_STOP: 2, DELETE: 3, START: 4, STOP: 5 };
var ptzScanType = { SET_LEFT: 1, SET_RIGHT: 2, SET_SPEED: 3, DELETE: 4, START: 5, STOP: 9999 };
var exposureType = { MANUAL: 0, AUTO: 1, IRIS_FIRST: 2, SHUTTER_FIRST: 3 };
var whiteBalanceType = { AUTO: 0, MANUAL: 1, LOCKED: 2, TEMPLATE: 3 };
var presetControl = { PRESET_ADD: 1, PRESET_CALL: 2, PRESET_DEL: 3 };
var sequenceControl = { ADD: 0, DELETE: 1, DELETE_PRESET: 2, COVER: 3, START: 4, STOP: 5 };
var upgradeStatus = { UPGRADE_NOACTIVE: 0, UPGRADE_STARTED: 1, UPGRADE_IN_PROGRESS: 2 };
var osdType = { OSD_DATETIME: 0, OSD_CHANNEL_NAME: 1, OSD_OVERLAY_TEXT: 2 };
var mirrorType = { MIRROR_NO: 0, MIRROR_UPDOWN: 1, MIRROR_LEFTRIGHT: 2, MIRROR_CENTER: 3 };
var userLevel = { LEVEL_ADMIN: 0, LEVEL_OPERATOR: 1, LEVEL_OBSERVER: 2 };
var alarmType = { ALARM_MOTION: 0, ALARM_MASK: 1, ALARM_PORTIN: 2, ALARM_PORTOUT: 3 };
var alarmPortType = { ALARMPORT_IN: 0, ALARMPORT_OUT: 1 };
var triggerType = { MOTION: 0, MASK: 1, ALARMIN: 2, DISK_FULL: 3, DISK_ERROR: 4, NET_DISCONNECT: 5, IP_CONFLICED: 6 };
var recordType = { SCHEDULE: 0, MOTION: 1, PORT: 2, MOTION_OR_PORT: 3, MOTION_AND_PORT: 4 };
var productType = { BULLET_CAM: 0, MINIPTZ: 1, ZOOM_CAM: 2, DOME: 3 };
var logsSubType = {
ALARM_INPUT_START: 0,
ALARM_INPUT_END: 1,
ALARM_OUTPUT: 2,
ALARM_MOTION_START: 3,
ALARM_MOTION_END: 4,
ALARM_OVERLAY_START: 5,
ALARM_OVERLAY_END: 6,
EXP_DISK_FULL: 100,
EXP_DISK_ERROR: 101,
EXP_NET_DISCONNECTED: 102,
EXP_IP_CONFLICTED: 103,
OP_BOOT: 200,
OP_SHUTDOWN: 201,
OP_REBOOT: 202,
OP_RESTORE: 203,
OP_LOGIN: 204,
OP_LOGOUT: 205,
OP_CONFIG: 206,
OP_UPGRADE: 207,
OP_PTZ: 208,
OP_DISK_FORMAT: 209,
OP_IMPORT_CONFIG: 210,
OP_EXPORT_CONFIG: 211,
OP_MODIFY_TIME: 212,
OP_MODIFY_IP: 213,
OP_FLIPMIRROR: 214,
OP_RESTORE_CAM: 215,
OP_RESTORE_MEDIA: 216,
OP_SET_RES: 217
};
var session_id = "";
var cpPlugin = null;
var keepAliveTimerId = null;
function cpplugin() {
return document.getElementById('plugin0');
}
var getCpPlugin = cpplugin;
function cpGenerate() {
var jsonObj2 = { "header": {}, "body": {} };
var jo_header = jsonObj2.header;
jo_header["version"] = protocol_version;
jo_header["seq"] = 0;
jo_header["peer_type"] = peer_type;
jo_header["local_version"] = 0;
jo_header["peer_id"] = "ffffffffffffffff0000000000000001";
var sid = $.cookie("session_id");
if (typeof (sid) == "undefined" || sid == null) {
session_id = "";
}
else {
session_id = sid;
}
jo_header["session_id"] = session_id;
tt = new Date().Format("yyyyMMddhhmmss");
jo_header["tt"] = tt;
if (getCpPlugin() != null && getCpPlugin().valid) {
jo_header["cc"] = getCpPlugin().nsstpGetCC(tt, session_id);
}
else {
jo_header["cc"] = "";
}
return jsonObj2;
}
function cpParseResponseHead(data) {
var response_obj = JSON3.parse(data);
var obj_body = response_obj.body;
var obj_header = response_obj.header;
if (typeof (response_obj) == "undefined") {
var jsonObj2 = { "header": {}, "body": {} };
var jo_header = jsonObj2.header;
jo_header["err_code"] = 101;
return jsonObj2;
}
return response_obj;
}
function cpLogin(user, password) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_LOGIN;
jbody["user"] = user;
jbody["password"] = $.md5(password);
return JSON3.stringify(jobj);
}
function cpLoginResponse(data) {
var response_obj = JSON3.parse(data);
var obj_body = response_obj.body;
var obj_header = response_obj.header;
if (obj_header["err_code"] == 0) {
session_id = obj_body["session"];
}
return response_obj;
}
function cpForceIFrame(channel, stream) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_FORCE_IFRAME;
jbody[channel_key] = channel;
jbody[stream_key] = stream;
return JSON3.stringify(jobj);
}
function cpSetFrameRate(channel, stream, framerate) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_FRAME_RATE;
jbody[operation_key] = OP_TYPE_SET;
jbody[channel_key] = channel;
jbody[stream_key] = stream;
jbody["frame_rate"] = framerate;
return JSON3.stringify(jobj);
}
function cpKeepAlive() {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_KEEP_ALIVE;
return JSON3.stringify(jobj);
}
function cpSetNetConfig(net_config_obj) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_NET_CONFIG;
jbody[operation_key] = OP_TYPE_SET;
jbody["ipv4_enable"] = net_config_obj.ipv4_enable;
jbody["ipv4_address"] = net_config_obj.ipv4_address;
jbody["ipv4_mask"] = net_config_obj.ipv4_mask;
jbody["ipv4_gateway"] = net_config_obj.ipv4_gateway;
jbody["ipv4_dns_address"] = net_config_obj.ipv4_dns_address;
jbody["ipv4_dhcp_enable"] = net_config_obj.ipv4_dhcp_enable;
jbody["ipv6_enable"] = net_config_obj.ipv6_enable;
jbody["ipv6_address"] = net_config_obj.ipv6_address;
jbody["ipv6_mask"] = net_config_obj.ipv6_mask;
jbody["ipv6_gateway"] = net_config_obj.ipv6_gateway;
jbody["ipv6_dns_address"] = net_config_obj.ipv6_dns_address;
jbody["ipv6_mode"] = net_config_obj.ipv6_mode;
return JSON3.stringify(jobj);
}
function cpSetCameraParams(obj) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_CAMERA_PARAMS;
jbody[operation_key] = OP_TYPE_SET;
jbody[channel_key] = obj.channel;
jbody["brightness"] = obj.brightness;
jbody["contrast"] = obj.contrast;
jbody["saturation"] = obj.saturation;
jbody["sharpness"] = obj.sharpness;
jbody["hue"] = obj.hue;
return JSON3.stringify(jobj);
}
function cpSetPortConfig(http_port, rtsp_port, https_port, ns_port) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_SERVICE_PORT;
jbody[operation_key] = OP_TYPE_SET;
jbody["http_port"] = http_port;
jbody["https_port"] = https_port;
jbody["rtsp_port"] = rtsp_port;
jbody["ns_port"] = ns_port;
return JSON3.stringify(jobj);
}
function cpSetSNMPConfig(obj) {
var jobj = cpGenerate();
var jbody = jobj.body;
var base64 = new Base64();
jbody[method_key] = CMD_TYPE_SNMP_CONFIG;
jbody[operation_key] = OP_TYPE_SET;
jbody["enable_v1"] = obj.enable_v1;
jbody["enable_v2"] = obj.enable_v2;
jbody["rcommunity"] = obj.rcommunity;
jbody["wcommunity"] = obj.wcommunity;
jbody["trap_host"] = obj.trap_host;
jbody["trap_port"] = parseInt(obj.tarp_port,10);
jbody["trap_community"] = obj.trap_community;
jbody["enable_v3"] = obj.enable_v3;
jbody["rsec_name"] = obj.rsec_name;
jbody["rsec_level"] = parseInt(obj.rsec_level,10);
jbody["rauth_mode"] = obj.rauth_mode;
jbody["rauth_pwd"] = base64.encode(obj.rauth_pwd);
jbody["rpriv_mode"] = obj.rpriv_mode;
jbody["rpriv_pwd"] = base64.encode(obj.rpriv_pwd);
jbody["wsec_name"] = obj.wsec_name;
jbody["wsec_level"] = parseInt(obj.wsec_level,10);
jbody["wauth_mode"] = obj.wauth_mode;
jbody["wauth_pwd"] = base64.encode(obj.wauth_pwd);
jbody["wpriv_mode"] = obj.wpriv_mode;
jbody["wpriv_pwd"] = base64.encode(obj.wpriv_pwd);
jbody["port"] = parseInt(obj.port,10);
return JSON3.stringify(jobj);
}
function cpSetFtpConfig(config_obj) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_FTP_CONFIG;
jbody[operation_key] = OP_TYPE_SET;
jbody["svr_address"] = config_obj.svr_address;
jbody["svr_port"] = config_obj.svr_port;
jbody["user_name"] = config_obj.user_name;
jbody["user_password"] = config_obj.user_password;
jbody["dir_level_count"] = config_obj.dir_level_count;
jbody["dir_level_1"] = config_obj.dir_level_1;
jbody["dir_level_2"] = config_obj.dir_level_2;
return JSON3.stringify(jobj);
}
function cpSetUpnpConfig(enable, alias) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_UPNP;
jbody[operation_key] = OP_TYPE_SET;
jbody["enable"] = enable;
jbody["alias"] = alias;
return JSON3.stringify(jobj);
}
function cpGetUpgradeResponse(response_str) {
return parseInt(response_str, 10);
}
function cpRestoreConfig(type) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_RESTORE_CONFIG;
jbody["type"] = type;
return JSON3.stringify(jobj);
}
function cpSetDeviceName(name) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_DEVICE_NAME;
jbody[operation_key] = OP_TYPE_SET;
var base64tool = new Base64();
jbody["name"] = base64tool.encode(name);
return JSON3.stringify(jobj);
}
function cpGetOSD(channel, type) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_OSD;
jbody[operation_key] = OP_TYPE_GET;
jbody[channel_key] = channel;
jbody["type"] = type;
return JSON3.stringify(jobj);
}
function cpSetOSD(obj) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_OSD;
jbody[operation_key] = OP_TYPE_SET;
jbody[channel_key] = obj.channel;
jbody["type"] = obj.type;
jbody["enable"] = obj.enable;
jbody["language"] = obj.language;
jbody["pos_x"] = obj.pos_x;
jbody["pos_y"] = obj.pos_y;
if (0 == obj.type) {
jbody["date_format"] = obj.date_format;
jbody["time_format"] = obj.time_format;
}
else {
jbody["text"] = obj.text;
}
return JSON3.stringify(jobj);
}
function cpPTZMove(obj) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_PTZ_MOVE;
jbody[channel_key] = obj.channel;
jbody["control"] = obj.control;
jbody["pan_speed"] = obj.pan_speed;
jbody["tilt_speed"] = obj.tilt_speed;
jbody["zoom_speed"] = obj.zoom_speed;
return JSON3.stringify(jobj);
}
function cpPTZPreset(channel, control, number, title) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_PTZ_PRESET;
jbody[channel_key] = channel;
jbody["control"] = control;
jbody["number"] = number;
jbody["title"] = title;
return JSON3.stringify(jobj);
}
function cpPTZSwitch(channel, type, status) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[operation_key] = OP_TYPE_SET;
jbody[method_key] = CMD_TYPE_PTZ_SWITCH;
jbody[channel_key] = channel;
jbody["type"] = type;
jbody["status"] = status;
return JSON3.stringify(jobj);
}
function cpSetVAConfig(obj) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_VA_CONFIG;
jbody[operation_key] = OP_TYPE_SET;
jbody[channel_key] = obj.channel;
jbody[stream_key] = obj.stream;
jbody["stream_type"] = obj.stream_type;
jbody["resolution_w"] = obj.resolution_w;
jbody["resolution_h"] = obj.resolution_h;
jbody["video_encoding"] = obj.video_encoding;
return JSON3.stringify(jobj);
}
function cpGetVAConfig(channel, stream) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_VA_CONFIG;
jbody[operation_key] = OP_TYPE_GET;
jbody[channel_key] = channel;
jbody[stream_key] = stream;
return JSON3.stringify(jobj);
}
function cpCmd(obj) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = obj.method;
jbody[operation_key] = OP_TYPE_GET;
if (obj.channel != null) {
jbody[channel_key] = obj.channel;
}
if (obj.stream != null) {
jbody[stream_key] = obj.stream;
}
return JSON3.stringify(jobj);
}
function cpSetVideoMask(channel, obj, enable) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_VIDEO_MASK;
jbody[operation_key] = OP_TYPE_SET;
jbody[channel_key] = channel;
var areas = { "area": [] };
for (var i = 0; i < obj.length; ++i) {
var area = { px: obj
.x, py: obj.y, w: obj.w, h: obj.h, enable: obj.enable };
areas.area.push(area);
}
jbody["area"] = areas.area;
jbody["enable"] = enable;
return JSON3.stringify(jobj);
}
function cpSetMotionAlarmArea(channel, obj) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_MOTION_ALARM_AREA;
jbody[operation_key] = OP_TYPE_SET;
jbody[channel_key] = channel;
var areas = { "area": [] };
for (var i = 0; i < obj.length; ++i) {
var area = { v: obj };
areas.area.push(area);
}
jbody["area"] = areas.area;
return JSON3.stringify(jobj);
}
function cpSetMotionAlarmConfig(obj) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_MOTION_ALARM_CONFIG;
jbody[operation_key] = OP_TYPE_SET;
jbody[channel_key] = obj.channel;
jbody["enable"] = obj.enable;
jbody["sensitivity"] = obj.sensitivity;
return JSON3.stringify(jobj);
}
function cpSetMirror(obj) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_MIRROR_SWITCH;
jbody[operation_key] = OP_TYPE_SET;
jbody[channel_key] = obj.channel;
jbody["type"] = obj.type;
return JSON3.stringify(jobj);
}
function cpUserManager(obj) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_USER_MANAGER;
jbody[operation_key] = OP_TYPE_SET;
jbody["control"] = obj.control;
jbody["user_name"] = obj.user_name;
jbody["new_name"] = obj.new_name;
var base64tool = new Base64();
jbody["user_password"] = base64tool.encode(obj.user_password); //$.md5(obj.user_password);
jbody["user_level"] = obj.user_level;
jbody["per_ch"] = obj.userch;
jbody["per_dev"] = obj.userdev;
return JSON3.stringify(jobj);
}
function cpSetAddUserSchedule() {
var per_ch = [{ video: "", ptz: "", manual_rec: "", playback: ""}];
var per_dev = { set_params: "", load_logs: "", upgrade: "", shutdown: "", alarm: "", vout: "", serial: "", talk: "" };
var usr_per = [per_ch, per_dev];
per_ch[0]["manual_rec"] = document.getElementById("RemoteManualRd").checked ? 1 : 0;
per_ch[0]["playback"] = document.getElementById("RemotePlayBack").checked ? 1 : 0;
per_ch[0]["video"] = document.getElementById("RemotePreview").checked ? 1 : 0;
per_ch[0]["ptz"] = document.getElementById("RemotePTZCtrl").checked ? 1 : 0;
per_dev.load_logs = document.getElementById("RemoteLog").checked ? 1 : 0;
per_dev.talk = document.getElementById("RemoteVtalk").checked ? 1 : 0;
per_dev.alarm = document.getElementById("RemoteAlarm").checked ? 1 : 0;
per_dev.serial = document.getElementById("RemoteRS485").checked ? 1 : 0;
per_dev.set_params = document.getElementById("RemoteSetPamar").checked ? 1 : 0;
per_dev.shutdown = document.getElementById("RemoteReboot").checked ? 1 : 0;
per_dev.upgrade = document.getElementById("RemoteUpgrade").checked ? 1 : 0;
per_dev.vout = document.getElementById("RemoteCtrlOut").checked ? 1 : 0;
return (usr_per);
}
function cpPTZ3D(obj) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_PTZ_3D;
jbody[channel_key] = obj.channel;
jbody["ox"] = obj.ox;
jbody["oy"] = obj.oy;
jbody["width"] = obj.width;
jbody["height"] = obj.height;
jbody["speed"] = obj.speed;
jbody["direction"] = obj.direction;
return JSON3.stringify(jobj);
}
function cpSetIPFilter(control, ip, enable, type) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_IP_FILTER;
jbody[operation_key] = OP_TYPE_SET;
jbody["control"] = control;
var ip_arr = { "iplist": [] };
for (var i = 0; i < ip.length; ++i) {
var info = { ip: ip };
ip_arr.iplist.push(info);
}
jbody["iplist"] = ip_arr.iplist;
if (typeof (enable) != "undefined") {
jbody["enable"] = enable;
}
if (typeof (type) != "undefined") {
jbody["type"] = type;
}
return JSON3.stringify(jobj);
}
function cpSetAnonymous(enable) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_ANONYMOUS_ACCESS;
jbody[operation_key] = OP_TYPE_SET;
jbody["enable"] = enable;
return JSON3.stringify(jobj);
}
function cpSearchRecords(obj) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_SEARCH_RECORDS;
jbody[channel_key] = obj.channel;
jbody["start_time"] = obj.start_time;
jbody["end_time"] = obj.end_time;
jbody["event_type"] = obj.event_type;
jbody["search_type"] = obj.search_type;
jbody["page_start"] = obj.page_start;
jbody["page_count"] = obj.page_count;
return JSON3.stringify(jobj);
}
function cpTimeConfig(obj) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_TIME_CONFIG;
jbody[operation_key] = OP_TYPE_SET;
jbody["timezone"] = obj.timezone;
jbody["ntp_enable"] = obj.ntp_enable;
jbody["ntp_address"] = obj.ntp_address;
jbody["ntp_port"] = obj.ntp_port;
jbody["ntp_interval"] = obj.ntp_interval;
jbody["sync_time"] = obj.sync_time;
jbody["apply_to_others"] = obj.apply_to_others;
return JSON3.stringify(jobj);
}
function jumpToMainPage() {
window.parent.location.href = "/index.html";
}
function sessionLogin(result, response_str) {
//alert(result + "-result--response_str-:" + response_str);
if (result == true) {
var login_response = cpLoginResponse(response_str);
var obj_body = login_response.body;
var obj_header = login_response.header;
var err_code = obj_header["err_code"];
if (err_code == 0) {
session_id = obj_body["session"];
$.cookie("session_id", session_id);
}
else {
//jumpToMainPage();
}
}
else {
//jumpToMainPage();
}
if (keepAliveTimerId == null) {
keepAliveTimerId = setInterval(OnTimerKeepAlive, 10 * 1000);
}
}
function sessionError(err_code) {
if (err_code != 0) {
if (err_code == errCode.ERR_SESSION_INVALID) {
if (keepAliveTimerId != null) {
clearInterval(keepAliveTimerId);
keepAliveTimerId = null;
}
session_id = "";
var userName = $.cookie("userName");
var password = $.cookie("password");
var post_content = cpLogin(userName, password);
nsstpHttpRequestPost(protocol_url, post_content, sessionLogin);
}
}
}
function CallbackDoNothing(result, response_str) {
if (result == true) {
var response = cpParseResponseHead(response_str);
var obj_body = response.body;
var obj_header = response.header;
var err_code = obj_header["err_code"];
sessionError(err_code);
}
else {
}
}
function OnKeepAlive(result, response_str) {
if (result == true) {
var response = cpParseResponseHead(response_str);
var obj_body = response.body;
var obj_header = response.header;
var err_code = obj_header["err_code"];
if (err_code == 0) {
var cpu_info = obj_body["cpu_info"];
var mem_total = obj_body["mem_total"];
var mem_free = obj_body["mem_free"];
var uptime = obj_body["uptime"];
var obj = { cpu: cpu_info, mem_total: mem_total, mem_free: mem_free, uptime: uptime };
if (callback_onkeepalive != null) {
callback_onkeepalive(obj);
}
}
sessionError(err_code);
}
else {
}
}
function OnTimerKeepAlive() {
if (session_id.length > 0) {
nsstpHttpRequestPost(protocol_url, cpKeepAlive(), OnKeepAlive);
}
}
//
function getVideoUrl(streamType, userName, password) {
var rv = "rtsp://" + userName + ":" + password + "@" + window.location.hostname + ":" + getRTSPPort();
if (streamType == 1) {
rv = rv + "/2";
}
return rv;
}
function getRecordUrl(userName, password, filename) {
var rv = "rtsp://" + userName + ":" + password + "@" + window.location.hostname + ":" + getRTSPPort() + "/playback/" + filename;
return rv;
}
function cpSetDDNS(obj) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_DDNS_CONFIG;
jbody[operation_key] = OP_TYPE_SET;
jbody["enable"] = obj.enable;
jbody["type_name"] = obj.type_name;
jbody["svr_address"] = obj.svr_address;
jbody["device_domain"] = obj.device_domain;
jbody["svr_port"] = obj.svr_port;
jbody["user_name"] = obj.user_name;
jbody["user_password"] = obj.user_password;
return JSON3.stringify(jobj);
}
function cpSetPPPOE(obj) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_PPPOE_CONFIG;
jbody[operation_key] = OP_TYPE_SET;
jbody["enable"] = obj.enable;
jbody["user_name"] = obj.user_name;
jbody["user_password"] = obj.user_password;
return JSON3.stringify(jobj);
}
function cpSetEmail(obj, mailto_list) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_EMAIL_CONFIG;
jbody[operation_key] = OP_TYPE_SET;
var base64tool = new Base64();
jbody["sender_name"] = base64tool.encode(obj.sender_name);
jbody["sender_email"] = obj.sender_email;
jbody["smtp_server"] = obj.smtp_server;
jbody["smtp_port"] = obj.smtp_port;
jbody["use_ssl"] = obj.use_ssl;
jbody["auth_enable"] = obj.auth_enable;
jbody["auth_user"] = obj.auth_user;
jbody["auth_password"] = obj.auth_password;
var mailto_arr = { "mailto": [] };
for (var i = 0; i < 4; ++i) {
var info = { name: base64tool.encode(mailto_list.name), address: mailto_list.address };
mailto_arr.mailto.push(info);
}
jbody["mailto"] = mailto_arr.mailto;
return JSON3.stringify(jobj);
}
function cpRTSPAuth(mode) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_RTSP_AUTHENTICATION;
jbody[operation_key] = OP_TYPE_SET;
jbody["mode"] = mode;
return JSON3.stringify(jobj);
}
function cpNoiseReduction(channel, mode, level_2D, level_3D) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[method_key] = CMD_TYPE_NOISE_REDUCTION;
jbody[operation_key] = OP_TYPE_SET;
jbody["mode"] = mode;
jbody["level_2D"] = level_2D;
jbody["level_3D"] = level_3D;
return JSON3.stringify(jobj);
}
function cpSetEncoder(channel, encoder) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[method_key] = CMD_TYPE_AUDIO_ENCODER;
jbody[operation_key] = OP_TYPE_SET;
jbody["encoder"] = encoder;
return JSON3.stringify(jobj);
}
function cpSetAudioInput(channel, selected, volume) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[method_key] = CMD_TYPE_AUDIO_INPUT;
jbody[operation_key] = OP_TYPE_SET;
jbody["selected"] = selected;
jbody["volume"] = volume;
return JSON3.stringify(jobj);
}
function cpSetIFrameInterval(channel, stream, interval) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[stream_key] = stream;
jbody[method_key] = CMD_TYPE_IFRAME_INTERVAL;
jbody[operation_key] = OP_TYPE_SET;
jbody["iframe_interval"] = interval;
return JSON3.stringify(jobj);
}
function cpSetBitrate(channel, stream, type, max) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[stream_key] = stream;
jbody[method_key] = CMD_TYPE_BITRATE_CONFIG;
jbody[operation_key] = OP_TYPE_SET;
jbody["bitrate_type"] = type;
jbody["bitrate_max"] = max;
return JSON3.stringify(jobj);
}
function cpSetVideoQuality(channel, stream, quality) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[stream_key] = stream;
jbody[method_key] = CMD_TYPE_VIDEO_QUALITY;
jbody[operation_key] = OP_TYPE_SET;
jbody["video_quality"] = quality;
return JSON3.stringify(jobj);
}
function cpGetAlarmTrigger(channel, type) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[method_key] = CMD_TYPE_ALARM_TRIGGER;
jbody[operation_key] = OP_TYPE_GET;
jbody["type"] = type;
return JSON3.stringify(jobj);
}
function cpSetAlarmTrigger(channel, type, obj) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[method_key] = CMD_TYPE_ALARM_TRIGGER;
jbody[operation_key] = OP_TYPE_SET;
jbody["type"] = type;
jbody["audio"] = obj.audio;
jbody["broadcast"] = obj.broadcast;
jbody["port"] = obj.port;
jbody["record"] = obj.record;
jbody["ptz_preset"] = obj.ptz_preset;
jbody["ptz_sequence"] = obj.ptz_sequence;
jbody["ptz_scan"] = obj.ptz_scan;
jbody["snapshot"] = { "enable": obj.snapshot_enable,
"ftp": obj.snapshot_ftp,
"email": obj.snapshot_email,
"sdcard": obj.snapshot_sdcard
};
return JSON3.stringify(jobj);
}
function cpGetAlarmSchedule(channel, type) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[method_key] = CMD_TYPE_ALARM_SCHEDULE;
jbody[operation_key] = OP_TYPE_GET;
jbody["type"] = type;
return JSON3.stringify(jobj);
}
function cpSetAlarmSchedule(channel, type, schedule) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[method_key] = CMD_TYPE_ALARM_SCHEDULE;
jbody[operation_key] = OP_TYPE_SET;
jbody["type"] = type;
for (var i = 0; i < 7; ++i) {
var day_key = "day" + i;
var day_obj = { day_key: [] };
for (var j = 0; j < 8; j++) {
var seg_obj = { "start": 0, "end": 0 };
seg_obj["start"] = schedule[j].start;
seg_obj["end"] = schedule[j].end;
day_obj.day_key.push(seg_obj);
}
jbody["day" + i] = day_obj.day_key;
}
return JSON3.stringify(jobj);
}
function cpSetVPicSchedule(channel, enable, schedule, id) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
if(id=="videoProgram"){
jbody[method_key] = CMD_TYPE_RECORD_SCHEDULE;
jbody["enable"] = enable;
}
if(id=="capture"){
jbody[method_key] = CMD_TYPE_IDLE_CAPTURE_SCHEDULE;
}
jbody[operation_key] = OP_TYPE_SET;
for (var i = 0; i < 7; ++i) {
var day_key = "day" + i;
var day_obj = { day_key: [] };
for (var j = 0; j < 8; j++) {
var seg_obj = { "start": 0, "end": 0 };
seg_obj["start"] = schedule[j].start;
seg_obj["end"] = schedule[j].end;
if(id!="capture"){
seg_obj["type"] = schedule[j].type;
}
day_obj.day_key.push(seg_obj);
}
jbody["day" + i] = day_obj.day_key;
}
return JSON3.stringify(jobj);
}
function cpSetRecordConfig(channel, pre, post, overwrite) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[method_key] = CMD_TYPE_RECORD_CONFIG;
jbody[operation_key] = OP_TYPE_SET;
jbody["pre_record"] = pre;
jbody["post_record"] = post;
jbody["overwrite"] = overwrite;
return JSON3.stringify(jobj);
}
function cpGetPortAlarm(channel, type) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[method_key] = CMD_TYPE_PORT_ALARM;
jbody[operation_key] = OP_TYPE_GET;
jbody["type"] = type;
return JSON3.stringify(jobj);
}
function cpSetPortAlarm(channel, type, title, status, enable) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[method_key] = CMD_TYPE_PORT_ALARM;
jbody[operation_key] = OP_TYPE_SET;
jbody["type"] = type;
jbody["enable"] = enable;
var base64tool = new Base64();
jbody["title"] = base64tool.encode(title);
jbody["status"] = status;
return JSON3.stringify(jobj);
}
function cpSetAlarmOutDelay(channel, delay) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[method_key] = CMD_TYPE_OUTPUT_DELAY;
jbody[operation_key] = OP_TYPE_SET;
jbody["delay"] = delay;
return JSON3.stringify(jobj);
}
function cpGetLogs(obj) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_SEARCH_LOGS;
jbody["main"] = obj.main_type;
jbody["sub"] = obj.sub_type;
jbody["start"] = obj.start_time;
jbody["end"] = obj.end_time;
jbody["page_start"] = obj.page_start;
jbody["page_count"] = obj.page_count;
return JSON3.stringify(jobj);
}
function cpSetMaskAlarm(channel, enable, sensitivity) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[method_key] = CMD_TYPE_VIDEO_MASK_ALARM;
jbody[operation_key] = OP_TYPE_SET;
jbody["enable"] = enable;
jbody["sensitivity"] = sensitivity;
return JSON3.stringify(jobj);
}
function cpSetPTZSequence(obj) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = obj.channel;
jbody[method_key] = CMD_TYPE_PTZ_SEQUENCE;
jbody[operation_key] = OP_TYPE_SET;
jbody["index"] = obj.index;
jbody["control"] = obj.control;
if (obj.control == sequenceControl.COVER) {
var arr = { "presets": [] };
for (var i = 0; i < obj.presets.length; ++i) {
arr.presets.push(obj.presets);
}
jbody["presets"] = arr.presets;
}
else {
jbody["preset"] = obj.preset;
jbody["delay"] = obj.delay;
jbody["speed"] = obj.speed;
}
return JSON3.stringify(jobj);
}
function cpGetPTZSequence(channel, index) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[method_key] = CMD_TYPE_PTZ_SEQUENCE;
jbody[operation_key] = OP_TYPE_GET;
jbody["index"] = index;
return JSON3.stringify(jobj);
}
function cpSetExposureConfig(channel, obj) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[method_key] = CMD_TYPE_IRIS_CONFIG;
jbody[operation_key] = OP_TYPE_SET;
jbody["type"] = obj.type;
jbody["iris"] = obj.iris;
jbody["gain"] = obj.gain;
jbody["gain_limit"] = obj.gain_limit;
jbody["smart_ir_enable"] = obj.smart_ir_enable;
jbody["shutter_times"] = obj.shutter_times;
jbody["shutter_limit"] = obj.shutter_limit;
jbody["compensation_enable"] = obj.compensation_enable;
jbody["compensation_level"] = obj.compensation_level;
return JSON3.stringify(jobj);
}
function cpGetExposureConfig(channel) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[method_key] = CMD_TYPE_IRIS_CONFIG;
jbody[operation_key] = OP_TYPE_GET;
return JSON3.stringify(jobj);
}
function cpSetVideoSystem(channel, system) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[method_key] = CMD_TYPE_VIDEO_SYSTEM;
jbody[operation_key] = OP_TYPE_SET;
jbody["system"] = system;
return JSON3.stringify(jobj);
}
function cpSetWhiteBalance(channel, type, gain_r, gain_b) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[method_key] = CMD_TYPE_WHITE_BALANCE;
jbody[operation_key] = OP_TYPE_SET;
jbody["type"] = type;
jbody["gain_r"] = gain_r;
jbody["gain_b"] = gain_b;
jbody["template"] = 0;
return JSON3.stringify(jobj);
}
function cpPTZScan(channel, obj) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[method_key] = CMD_TYPE_PTZ_SCAN;
jbody["index"] = obj.index;
jbody["control"] = obj.control;
jbody["value"] = obj.value;
return JSON3.stringify(jobj);
}
function cpPTZPattern(channel, control, index) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[method_key] = CMD_TYPE_PTZ_PATTERN;
jbody["index"] = index;
jbody["control"] = control;
return JSON3.stringify(jobj);
}
function cpSetDayNightSwitch(channel, type, sensitivity) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[method_key] = CMD_TYPE_DAYNIGHT_SWITCH;
jbody[operation_key] = OP_TYPE_SET;
jbody["type"] = type;
jbody["sensitivity"] = sensitivity;
jbody["switch_time"] = 0;
jbody["start_time"] = 0;
jbody["end_time"] = 0;
return JSON3.stringify(jobj);
}
function cpSetWDR(channel, enable, level) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[method_key] = CMD_TYPE_WDR;
jbody[operation_key] = OP_TYPE_SET;
jbody["enable"] = enable;
jbody["level"] = level;
return JSON3.stringify(jobj);
}
function cpSetFocusMode(channel, mode, min_distance) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[method_key] = CMD_TYPE_FOCUS_MODE;
jbody[operation_key] = OP_TYPE_SET;
jbody["mode"] = mode;
jbody["min_distance"] = min_distance;
return JSON3.stringify(jobj);
}
function cpSetLocalOutput(channel, enable) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[method_key] = CMD_TYPE_LOCAL_OUTPUT;
jbody[operation_key] = OP_TYPE_SET;
jbody["enable"] = enable;
return JSON3.stringify(jobj);
}
function cpSetIRLED(channel, obj) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[method_key] = CMD_TYPE_IR_LED;
jbody[operation_key] = OP_TYPE_SET;
jbody["mode"] = obj.mode;
jbody["illuminance"] = obj.illuminance;
jbody["auto_dimming"] = obj.auto_dimming;
jbody["near_power"] = obj.near_power;
jbody["far_power"] = obj.far_power;
jbody["near_compensation"] = obj.near_compensation;
return JSON3.stringify(jobj);
}
function cpSetScheduleCapture(channel, obj) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[method_key] = CMD_TYPE_SCHEDULE_CAPTURE;
jbody[operation_key] = OP_TYPE_SET;
jbody["enable"] = obj.enable;
jbody["format"] = 0;
jbody["quality"] = obj.quality;
jbody["interval_value"] = obj.interval_value;
jbody["interval_unit"] = obj.interval_unit;
jbody["trigger_ftp"] = obj.trigger_ftp;
jbody["trigger_email"] = obj.trigger_email;
jbody["trigger_sdcard"] = obj.trigger_sdcard;
return JSON3.stringify(jobj);
}
function cpSetStorageQuota(channel, capture, record) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[method_key] = CMD_TYPE_STORAGE_QUOTA;
jbody[operation_key] = OP_TYPE_SET;
jbody["capture"] = capture;
jbody["record"] = record;
return JSON3.stringify(jobj);
}
function cpFormatStorageDevice(index) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_FORMAT_DEVICE;
jbody["index"] = index;
return JSON3.stringify(jobj);
}
function cpSetPortMapping(obj) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_PORT_MAPPING;
jbody[operation_key] = OP_TYPE_SET;
jbody["enable"] = obj.enable;
jbody["type"] = obj.type;
jbody["http_o"] = obj.http_o;
jbody["https_o"] = obj.https_o;
jbody["rtsp_o"] = obj.rtsp_o;
jbody["cmd_o"] = obj.cmd_o;
return JSON3.stringify(jobj);
}
function cpSetWirelessDeviceInfo(obj) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_WIFI_DEVICE_INFO;
jbody[operation_key] = OP_TYPE_SET;
jbody["net_mode"] = obj.net_mode;
jbody["safe_mode"] = obj.safe_mode;
jbody["encrypt_type"] = obj.encrypt_type;
var base64tool = new Base64();
jbody["password"] = base64tool.encode(obj.password);
jbody["ssid"] = base64tool.encode(obj.ssid);
return JSON3.stringify(jobj);
}
function cpSetWirelessConfig(obj) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_WIRELESS_CONFIG;
jbody[operation_key] = OP_TYPE_SET;
jbody["dhcp"] = obj.dhcp;
jbody["ipv4_address"] = obj.ipv4_address;
jbody["ipv4_mask"] = obj.ipv4_mask;
jbody["ipv4_gateway"] = obj.ipv4_gateway;
jbody["multi_address"] = obj.multi_address;
jbody["dns_server1"] = obj.dns_server1;
jbody["dns_server2"] = obj.dns_server2;
return JSON3.stringify(jobj);
}
function cpSetROI(obj) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = obj.channel;
jbody[method_key] = CMD_TYPE_ROI;
jbody[operation_key] = OP_TYPE_SET;
jbody["region"] = obj.region;
jbody["ox"] = obj.ox;
jbody["oy"] = obj.oy;
jbody["width"] = obj.width;
jbody["height"] = obj.height;
jbody["enable"] = obj.enable;
jbody["quality"] = obj.quality;
return JSON3.stringify(jobj);
}
function cpGetROI(channel, region) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[method_key] = CMD_TYPE_ROI;
jbody[operation_key] = OP_TYPE_GET;
jbody["region"] = region;
return JSON3.stringify(jobj);
}
function cpSetAisle(channel, mode) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[method_key] = CMD_TYPE_AISLE;
jbody[operation_key] = OP_TYPE_SET;
jbody["aisle_mode"] = mode;
return JSON3.stringify(jobj);
}
function cpSetZoomLimit(channel, limit) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[method_key] = CMD_TYPE_ZOOM_LIMIT;
jbody[operation_key] = OP_TYPE_SET;
jbody["limit"] = limit;
return JSON3.stringify(jobj);
}
function cpSetRS485(obj) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_RS485;
jbody[operation_key] = OP_TYPE_SET;
jbody["baudrate"] = obj.baudrate;
jbody["datebit"] = obj.datebit;
jbody["stopbit"] = obj.stopbit;
jbody["parity"] = obj.parity;
jbody["flow"] = obj.flow;
jbody["cprotocol"] = 0;
jbody["caddr"] = obj.caddr;
return JSON3.stringify(jobj);
}
function cpSetRS232(obj) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_RS232;
jbody[operation_key] = OP_TYPE_SET;
jbody["baudrate"] = obj.baudrate;
jbody["datebit"] = obj.datebit;
jbody["stopbit"] = obj.stopbit;
jbody["parity"] = obj.parity;
jbody["flow"] = obj.flow;
jbody["cmode"] = 0;
return JSON3.stringify(jobj);
}
function cpSetTrackConfig(channel, obj) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_TRACK_CONFIG;
jbody[operation_key] = OP_TYPE_SET;
jbody[channel_key] = channel;
jbody["sensitivity"] = obj.sensitivity;
jbody["zoom"] = obj.zoom;
jbody["ret_secs"] = obj.ret_secs;
jbody["aux"] = obj.aux;
return JSON3.stringify(jobj);
}
function cpSetTrackEnable(channel, enable) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_TRACK_ENABLE;
jbody[channel_key] = channel;
jbody["enable"] = enable;
return JSON3.stringify(jobj);
}
function cpSetTrackScene(channel) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_TRACK_RET_SCENE;
jbody[channel_key] = channel;
return JSON3.stringify(jobj);
}
function cpTestNtp(type, server, port) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_TEST_FUNCTION;
jbody["type"] = type;
jbody["server"] = server;
jbody["port"] = port;
return JSON3.stringify(jobj);
}
function cpSetSysMobile(enable) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_SYS_MOBILE;
jbody[operation_key] = OP_TYPE_SET;
jbody["enable"] = enable;
return JSON3.stringify(jobj);
}
function cpDefogMode(channel, enable) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[channel_key] = channel;
jbody[method_key] = CMD_TYPE_DEFOG_MODE;
jbody[operation_key] = OP_TYPE_SET;
jbody["enable"] = enable;
return JSON3.stringify(jobj);
}
function cpSetidleAction(obj) {
var jobj = cpGenerate();
var jbody = jobj.body;
jbody[method_key] = CMD_TYPE_IDLE_ACTION_CONFIG;
jbody[operation_key] = OP_TYPE_SET;
jbody[channel_key] = obj.channel;
jbody["idle_time"] = obj.parktime;
jbody["mode"] = obj.actType;
jbody["index"] = obj.index;
return JSON3.stringify(jobj);
}