//--------------------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 -----