Bean模組管理
# FastWeb Bean模組管理
# 1. 簡介
Bean模組的功能界面與設計模式與模組設計是相同的,與模組設計的不同是,Bean模組只能通過URL參數的方式來進行呼叫。而模組設計中的模組需要繫結功能表列表,通過點選功能表欄位來實現呼叫。
# 2. 設定Bean模組
點選左側功能表欄中的 云服務工具-Bean模組管理
,打開Bean模組管理的界面。模組列表中的項會根據分組進行排序,可從表格頂部的篩選框中輸入資訊來快速查詢相關模組。
# 2.1. 操作說明
新增Bean模組
如在初始狀態下,Bean模組列表中無模組可選擇,可直接點選 [新增]
按鈕打開新增Bean模組對話方塊;如模組列表中存在可選模組,則選擇要進行新增操作的分組中的任一模組,點選 [新增]
按鈕,打開新增模組的對話方塊。與之前打開的對話方塊不同之處在於此時的組別編輯框中會引入剛才選擇的分組資訊。如需要新增組別的可直接在組別編輯框中修改爲需要的組別資訊,輸入標題,選擇開發使用者,輸入完成後點選 [儲存]
按鈕即可。
修改模組
如果需要修改Bean模組列表中已有模組的分組、標題或者開發使用者資訊,則選擇要修改的模組,點選[修改]
按鈕打開修改Bean
的對話方塊,在其中修改模組的資訊,修改完成後點選[儲存]
按鈕儲存。
刪除模組
如需要刪除某個模組,選擇在模組列表中要刪除的Bean模組,點選[刪除]
按鈕,此時會彈出刪除Bean模組的提示資訊,點選[是]
可刪除選擇的模組,如不需要刪除模組,點選[否]
。
Bean設計
如需要進行Bean模組設計,首先需要選擇要進行設計操作的模組,然後點選[Bean設計]
進入至模組設計的頁面。關於Bean設計的說明請參考模組設計部分的說明。
Bean編輯
Bean編輯的功能適用於對Bean模組內容的修正。比如由於誤操作導致選擇的Bean模組不能進入至Bean模組設計頁面,或者是在不進入模組設計頁面的情況下匯入模組時,模組編輯功能將會有很大的幫助。
選擇要進行編輯的模組,點選[模組編輯]
按鈕,打開模組編輯頁面。在此頁面中,可以將導出模組的txt
檔案中的文字貼上至此並覆蓋原有的文字,點選上方右側的儲存至資料庫
按鈕將模組進行儲存。也可對存在模組問題的文字進行編輯儲存以能夠正常打開模組設計頁面。
# 2.2. Bean設計
Bean設計的說明請參考模組設計部分的說明。
# 2.3. Bean引用
Bean模組需通過Url參數來引用。引用的Url格式示例如下。
http://localhost:8888/?bean=bean-001¶mname=paramvalue&...
可使用的參數見下列表。
參數名稱 | 型別 | 描述 | 是否必選 |
---|---|---|---|
bean | String | 設定Bean模組的編號,也可使用Bean模組記錄的唯一地址 | 是 |
username | String | 登錄的使用者名稱稱 | 否 |
password | String | 登錄的使用者密碼,此密碼為加密後的密碼。可在登錄後點擊右上角的使用者圖示檢視Password 處第一個等號與倒數兩個等號之間的數值為加密後的密碼文字 | 否 |
其中引用的示例的 paramname=paramvalue
是自行定義的參數,這些自定義的參數可在Bean模組的指令碼中獲取。通過這種方式,可動態獲取參數,在指令碼中處理后實時展示。獲取參數值的指令碼示例如下。
//JScript
// s獲取到的Url參數paramname的取值為 paramvalue
var s = Uniapplication.Parameters.Values["paramname"];
2
3
//PasScript
s := Uniapplication.Parameters.Values['paramname'];
2
// Make sure to add code blocks to your code group
# 2.4. Bean監控
IsoBean提供了Bean模組運行監控的功能。
當Bean模組在打開運行的狀態中,可使用以下示例URL參數獲取到處在運行狀態的Bean模組資訊。
http://localhost:8888/?restapi=getframemaps
如果要依據Bean模組的程式碼來刪選,可額外新增一個參數 modulecode
。請求的示例如下。
http://localhost:8888/?restapi=getframemaps&modulecode=test
獲取的示例如下。
[{"ModuleGuid":"BFCBA5CA-466E-4696-80C6-EDAE88FFD9EE","ModuleCode":"test","ModuleCaption":"test","ModuleType":"WEB","JSName":"O74","SessionId":"FBE8bVTbUm10A2DDF73","UserName":"demo","Createtime":"2022-04-06T10:59:16.390+08:00"}]
獲取到的json各欄位的說明如下。
欄位名稱 | 說明 |
---|---|
ModuleGuid | Bean模組的全域性唯一ID,在Bean模組建立設計時產生 |
ModuleCode | Bean模組的編號 |
ModuleCaption | Bean模組的標題名稱 |
ModuleType | Bean模組的型別,可分為 WEB 與 APP |
JSName | Bean模組視窗運行的JS名稱 |
SessionId | Bean模組在運行時被分配的連線會話的ID |
UserName | Bean模組登錄的使用者名稱 |
Createtime | Bean模組建立的事件 |
以上json可匯入至 TUgFDMenTable
,以表格的方式呈現。以下是實現效果的示例的部分程式。
//JScript
function UgRestApi01OnResultData(sender,aaresult)
{
if (UgFDMemTable01.Active)
UgFDMemTable01.EmptyDataSet;
UgFDMemTable01.LoadFromJSONString(aaresult);
UgFDMemTable01.Filtered = false;
UgFDMemTable01.Filter = "sessionid<>"+quotedstr(UniSession.SessionId);
UgFDMemTable01.Filtered = true;
}
function UgTimer01OnTimer(sender)
{
UgRestApi01.Server = Unisession.Url;
UgRestApi01.Params.Values["restapi"] = "getframemaps";
UgRestApi01.Params.Values["ModuleCode"] = "test";
UgRestApi01.Send;
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//PasScript
procedure UgRestApi01OnResultData(sender:tobject,aresult: string);
begin
if (UgFDMemTable01.Active) then
UgFDMemTable01.EmptyDataSet;
UgFDMemTable01.LoadFromJSONString(aresult);
UgFDMemTable01.Filtered := false;
UgFDMemTable01.Filter := 'sessionid<>' + quotedstr(UniSession.SessionId);
UgFDMemTable01.Filtered := true;
end;
procedure UgTimer01OnTimer(sender: tobject);
begin
UgRestApi01.Server := Unisession.Url;
UgRestApi01.Params.Values['restapi'] := 'getframemaps';
UgRestApi01.Params.Values['ModuleCode'] := 'test';
UgRestApi01.Send;
end;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Make sure to add code blocks to your code group