//--------------------API logon------------------------ var SESSIONKEY = "SESSIONKEY"; var USERNAMEKEY = "USERNAMEKEY"; var Task = Jscex.Async.Task; var APIRequestResult = function () { this.Status = 0, //0--Need Logon, >1 Success, -1 error; this.ErrorMessage = "", this.ReturnData = "" } var asyncTask = null; function AsyncRequest(url) { asyncTask = Task.create(function (t) { xhr = $.ajax({ type: 'get', url: url, beforeSend: function (xhr) { }, success: function (msg) { t.complete("success", msg); }, error: function (e) { t.complete("failure", e); }, abort: function (e) { t.complete("failure", e); }, complete: function (e) { //t.complete("complete", e); } }); }); return asyncTask; } var apiRequestTask = null; function AsyncAPIRequestTask(apiUrl, callback) { apiRequestTask = eval(Jscex.compile("async", function (ct) { var apiResult = new APIRequestResult(); try { var result = $await(AsyncRequest(apiUrl)); if (result == "0") { apiResult.Status = 0; } else { apiResult.Status = 1; apiResult.ReturnData = result; } } catch (ex) { Log(ex); apiResult.Status = -1; apiResult.ErrorMessage = ex.Message + ""; } if (callback != null) { callback(apiResult); } //return apiResult; })); //Task.whenAll(apiRequestTask().start()); //(new apiRequestTask())(); var task = new apiRequestTask(); task.start(); return task; } function APILogonRemoteServer(username, password, callback) { ClearCache(SESSIONKEY); var apiUrl = Settings.host + '/api/secure/apilogon.aspx?username=' + username + "&password=" + password + "&t=" + (new Date()).getTime(); AsyncAPIRequestTask(apiUrl, callback); } function APILogoutRemoteServer() { ClearCache(SESSIONKEY); var apiUrl = Settings.host + '/api/secure/apilogon.aspx?logoff=true&t=' + (new Date()).getTime(); AsyncAPIRequestTask(apiUrl); } function APILogoff() { if (confirm("Are you sure you want to log off your account?")) { APILogoutRemoteServer(); ClearCache(SESSIONKEY); ClearCache(USERNAMEKEY); GotoPage("logon"); } } //-----------------End Logon-------------------- //-----------------Account---------- function APIQuitApp() { if (confirm("Are you sure you want to quit this application?")) { } } function APIGetAcctBalance(callback) { var sesID = GetSesID(); var apiUrl = Settings.host + '/api/camera/GetCameraAcctBalance.aspx?sesID=' + sesID + "&t=" + (new Date()).getTime(); AsyncAPIRequestTask(apiUrl, callback); } //-----------------End Account ----- //-----------------Get camera List-------------- function APIGetCameraList(callback) { var sesID = GetSesID(); var apiUrl = Settings.host + '/api/camera/GetCameraList.aspx?sesID=' + sesID + "&t=" + (new Date()).getTime(); Log(apiUrl); AsyncAPIRequestTask(apiUrl, callback); } //-----------------End getting camera list -----