翻譯|使用教程|編輯:王香|2019-01-17 10:53:30.000|閱讀 442 次
概述:此示例項目顯示如何使用用戶名和密碼登錄服務器和顯示如何運行報表,然后獲取報表快照項的共享URL。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
此示例項目顯示如何使用用戶名和密碼登錄服務器。為此,您可以使用登錄 REST命令。作為參數,您需要指定用戶名(電子郵件)和密碼。這些參數可以在HTTP請求標頭中傳遞。
#region Login
url = "//localhost:40010/1/login";
var request = WebRequest.Create(url);
request.Headers.Add("x-sti-UserName", "1@1.com";);
request.Headers.Add("x-sti-Password", "111111");
var stream = request.GetResponse().GetResponseStream();
var sr = new StreamReader(stream);
string Out = sr.ReadToEnd();
sr.Close();
var json = JObject.Parse(Out);
// Get session key
var sessionKey = (string)json["ResultSessionKey"];
#endregion首先,您需要登錄服務器。對于此操作,您可以使用登錄 REST命令。作為參數,您需要指定用戶名(電子郵件)和密碼。這些參數可以在HTTP請求標頭中傳遞。
function Connect()
{
var req = new XMLHttpRequest();
req.open('GET', '//localhost:40010/1/login', false);
req.setRequestHeader("x-sti-UserName", "1@1.com";);
req.setRequestHeader("x-sti-Password", "111111");
req.send();
var data = JSON.parse(req.responseText);
return data.ResultSessionKey;
}在運行報表之前,應創建將用于呈現報表模板的報表快照項。您可以使用reportsnapshots REST命令來實現此目的。
function RunReport()
{
// Create snapshot
var sessionKey = Connect();
var req_createSnap = new XMLHttpRequest();
req_createSnap.open('POST', '//localhost:40010/1/reportsnapshots', false);
req_createSnap.setRequestHeader("x-sti-SessionKey", sessionKey);
var expiriesDate = new Date();
expiriesDate = new Date(expiriesDate.getTime() + 5*60000);
var event = {'Ident': 'ReportSnapshotItem', 'Name': '001', 'Description': '001', 'Expires': expiriesDate};
event = JSON.stringify(event);
req_createSnap.send(event);
var resultCreateSnapshot = JSON.parse(req_createSnap.responseText);
var reportKey = '30bca27f62594b27b46d6f000b50f717';
var snapshotKey = resultCreateSnapshot.ResultItems[0].Key;
...要運行報表,可以使用reporttemplates命令組的run REST命令。作為參數,您需要指定報表themplate密鑰和目標報表快照密鑰。報表模板密鑰可以作為REST命令的一部分傳遞。目標報表快照密鑰可以在HTTP請求標頭中傳遞。將使用在上面的命令中創建的報表快照項密鑰。
...
// Run report to the snapshot
var req_runReport = new XMLHttpRequest();
req_runReport.open('PUT', '//localhost:40010/1/reporttemplates/' + reportKey + '/run', false);
req_runReport.setRequestHeader("x-sti-SessionKey", sessionKey);
req_runReport.setRequestHeader("x-sti-DestinationItemKey", snapshotKey);
req_runReport.send();
var data = JSON.parse(req_runReport.responseText);
...要共享報表快照(或其他項目),可以使用items命令組的共享 REST命令。作為參數,您需要指定共享級別并共享到期日期。這些參數可以作為請求發布數據傳遞。最后,您可以使用不帶參數的相同命令獲取共享項URL,您應該在REST命令中僅指定共享項鍵。
...
// Share snapshot
var req_shareItem = new XMLHttpRequest();
req_shareItem.open('PUT', '//localhost:40010/1/items/' + snapshotKey + '/share', false);
req_shareItem.setRequestHeader("x-sti-SessionKey", sessionKey);
var event = {'ShareLevel':'Public', 'ShareExpires': expiriesDate};
event = JSON.stringify(event);
req_shareItem.send(event);
// Get share url
var req_shareGetUrl = new XMLHttpRequest();
req_shareGetUrl.open('GET', '//localhost:40010/1/items/' + snapshotKey + '/share', false);
req_shareGetUrl.setRequestHeader("x-sti-SessionKey", sessionKey);
req_shareGetUrl.send();
var resultShareGetUrl = JSON.parse(req_shareGetUrl.responseText);
var url = resultShareGetUrl.ResultUrl
// open report by the share url
location.href = url;
}購買Stimulsoft正版授權,請點擊“”喲!
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@ke049m.cn