翻譯|使用教程|編輯:王香|2019-01-17 10:53:30.000|閱讀 437 次
概述:此示例項(xiàng)目顯示如何使用用戶名和密碼登錄服務(wù)器和顯示如何運(yùn)行報(bào)表,然后獲取報(bào)表快照項(xiàng)的共享URL。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷售中 >>
相關(guān)鏈接:
此示例項(xiàng)目顯示如何使用用戶名和密碼登錄服務(wù)器。為此,您可以使用登錄 REST命令。作為參數(shù),您需要指定用戶名(電子郵件)和密碼。這些參數(shù)可以在HTTP請(qǐng)求標(biāo)頭中傳遞。
#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
首先,您需要登錄服務(wù)器。對(duì)于此操作,您可以使用登錄 REST命令。作為參數(shù),您需要指定用戶名(電子郵件)和密碼。這些參數(shù)可以在HTTP請(qǐng)求標(biāo)頭中傳遞。
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; }
在運(yùn)行報(bào)表之前,應(yīng)創(chuàng)建將用于呈現(xiàn)報(bào)表模板的報(bào)表快照項(xiàng)。您可以使用reportsnapshots REST命令來(lái)實(shí)現(xiàn)此目的。
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; ...
要運(yùn)行報(bào)表,可以使用reporttemplates命令組的run REST命令。作為參數(shù),您需要指定報(bào)表themplate密鑰和目標(biāo)報(bào)表快照密鑰。報(bào)表模板密鑰可以作為REST命令的一部分傳遞。目標(biāo)報(bào)表快照密鑰可以在HTTP請(qǐng)求標(biāo)頭中傳遞。將使用在上面的命令中創(chuàng)建的報(bào)表快照項(xiàng)密鑰。
... // 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); ...
要共享報(bào)表快照(或其他項(xiàng)目),可以使用items命令組的共享 REST命令。作為參數(shù),您需要指定共享級(jí)別并共享到期日期。這些參數(shù)可以作為請(qǐng)求發(fā)布數(shù)據(jù)傳遞。最后,您可以使用不帶參數(shù)的相同命令獲取共享項(xiàng)URL,您應(yīng)該在REST命令中僅指定共享項(xiàng)鍵。
... // 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; }
購(gòu)買(mǎi)Stimulsoft正版授權(quán),請(qǐng)點(diǎn)擊“”喲!
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn