0.1.22 • Published 2 years ago

log8000v3 v0.1.22

Weekly downloads
-
License
-
Repository
-
Last release
2 years ago

1. 安裝部屬

  1. 將建置後檔案直接架設至 Web Server 後,即可使用
  2. 無須安裝其餘套件及配置
  3. 對應的 WebApi 需能透過相同 IP:Port 呼叫,並且 WebApi根目錄為 /log8000webapi_v3
  • 在 IIS 的 Web 底下 新增應用程式,別名固定設為 log8000webapi_v3,實體路徑指向對應的公版 WebAPI

2. 開發

以下指令皆由 VSCode Console 輸入,或者命令提示字元 cd 至專案目錄後輸入

2.1. 事前安裝

  1. 需安裝 VSCode 進行開發
  2. 需安裝 NodeJS 來使用 npm 功能
  3. 下指令 npm install 來安裝所有使用到的套件

2.2. 執行程式

  • 下指令 npm start 來執行程式,並透過 http://localhost:3000 開啟網頁

2.3. 偵錯

  • 在執行程式狀態下按 F5,開啟偵錯模式

2.4. 發佈

  • 下指令 npm run build 將程式編譯並打包至 build 目錄

3. 提供定義資料

3.1. 頁面代碼

  1. hypermediaDemo : Hypermedia 展示 (試做頁面)
  2. versionHistory : 版本歷程頁面
  3. systemConfig : 系統參數頁面
  4. department : 組織清單
  5. employee : 人員清單
  6. employeeProxy : 代理人清單
  7. role : 角色管理
  8. employeeFileImport : 人員匯出與匯出
  9. record : 索引管理
  10. recordParameter : 錄音參數管理
  11. recordGroup : 調聽群組清單及調聽群組設定
  12. recordQuery : 錄音查詢
  13. recordPlayer : 錄音播放順序
  14. audit : 稽核紀錄
  15. licenseManagement : 授權管理
  16. serverManagement : 伺服器管理
  17. alarmTemplate : 告警範本清單
  18. alarmLog : 告警查詢
  19. hypermediaViewer : Hypermedia 預覽畫面
  20. recordSaveManagement: 音檔儲存管理
  21. scheduleTemplate: 錄音排程設定
  22. cti: 分機設定
  23. channelFormwork: 頻道樣板
  24. rec: 頻道設定
  25. channelGroup: 頻道監控群組
  26. ctiGroup: 分機監控群組
  27. domainServer: 網域登入
  28. channelMonitor: 頻道監控
  29. ctiMonitor: 分機監控
  30. channelFileImport: 頻道匯入匯出
  31. keyStore: 密碼清單
  32. emailManagement: 電子郵件告警參數管理
  33. recordExpiredate: 音檔保存年限
  34. extensionManagement: 組織所屬分機清單
  35. extensionCallStatistics: 分機通話統計報表
  36. employeeReport: 人員帳號權限報表
  37. systemState: 系統狀態
  38. channelStatistics: 頻道使用峰值統計報表

3.2. 語系代碼結構

直接參考 LanguageStructure.ts

3.3. 動態載入Icon代碼

  1. organizationIcon : npm.io
  2. staffIcon : npm.io
  3. rulesIcon : npm.io
  4. configIcon : npm.io
  5. tableIcon : npm.io
  6. monitorIcon : npm.io
  7. reportIcon : npm.io
  8. licensesIcon : npm.io

3.4. HypermediaDemo 相關設定

  1. Menu 需設定 parameter.hypermediaUrl 為取得 Hypermedia 模板的 URL,page 為 HypermediaDemo,範例如下 :
{
	"prompt": "",
	"auditId": 0,
	"page": "HypermediaDemo",
	"key": 0,
	"path": "",
	"scopes": [],
	"parameter": {
		"hypermediaUrl": "test/Hypermedia.json"
	}
}
  1. 模板的 events 提供的狀態點為 :
  • loaded : 頁面載入時執行
  • saved : 編輯畫面儲存時執行
  1. 模板的 links 提供的 actionTag 為 :
  • query : 分為兩步驟,第一步驟需透過 POST 取得 uid,第二步驟需透過 GET 在 URL 帶入 uid 取得查詢結果
  • edit : 只有一個步驟,透過 GET 帶入項目資訊取得詳細資料
  • save : 只有一個步驟,透過 PUT 帶入修改結果,更新資料
  • cancelEdit : 暫無作用

3.5 Hypermedia 元件定義

  1. Template :
  • systemConfig
  • serviceSetting
  1. Component :
  • card

    區塊容器

{
	"component": "card",
	"dataProps": {
		"informationMessage": [
			{
				"key": "[欄位順序,數值格式]",
				"value": "[說明訊息,畫面上需點+(加號)才能展開訊息]"
			}
		],
		"importantMessage": [
			{
				"key": "[欄位順序,數值格式]",
				"value": "[重要訊息,畫面上顯著圖示,滑鼠移入才會呈現訊息]"
			}
		],
		"testButton": {
			"columnName": "[測試功能名稱]",
			"prompt": "[語系標籤]",
			"dataProps": {
				"isDisplay": "[是否顯示,布林格式,true:顯示,預設值:false]",
				"isVerification": "[是否驗證通過才能儲存,布林格式,true:測試連線收到成功訊息才能儲存,預設值:false]"
			}
		},
		"content": [{"[內容元件]"}]
	},
}
  • input(TXT-01、TXT-04)

    輸入框

{
	"component": "input",
	"dataProps":{
		"isMasking":"[是否隱碼,布林格式,true:隱碼,預設值:false]",
		"isReadOnly":"[是否唯讀,布林格式,true:唯讀,預設值:false]"
	},
	"rule":[{"Ant Design檢驗規則"}]                    
}
  • textarea(TXT-03)

    輸入區塊,寬度滿版

{
	"component": "textarea",
	"dataProps":{
		"isReadOnly":"[是否唯讀,布林格式,true:唯讀,預設值:false]"
	},
	"rule":[{"Ant Design檢驗規則"}]                    
}
  • select(SEL-01)

    下拉式選單

{
	"component": "select",
	"dataProps":{
		"mode":"[下拉選單模式,'multiple':多選(SEL-02),'tags':自行輸入內容並可透過逗號分隔(TXT-05),null:單選(SEL-01),預設值:null]",
		"items":{
			"[顯示文字]":"[實際值]"
		}
	}                  
}
  • switch(SEL-04)

    開關

{
	"component": "switch",
	"dataProps":{
		"items":{
			"enable":"[啟用時的實際值,預設值:'true']",
			"disable":"[停用時的實際值,預設值:'false']",
			"enablePrompt":"[啟用時顯示的文字語系標籤,預設值:'components.switch.enable'(啟用)]",
			"disablePrompt":"[停用時顯示的文字語系標籤,預設值:'components.switch.disable'(停用)]"
		}
	}                  
}
  • timeRange(DT-05)

    時間區間

{
	"component": "timeRange",
	"dataProps":{
		"format":"[時間顯示格式,可參照 moment.js 官方格式設定,預設值:'HH:mm:ss']",
		"valueFormat":"[傳輸值時間格式,可參照 moment.js 官方格式設定,預設值:依 format 當前值]"
	}                  
}
  • numberRange

    數值區間

{
	"component":"numberRange"
}