```mermaid
flowchart TD
    A["登入畫面"] --> B{"選擇 server 驗證類型"}
    B -->|"一般密碼驗證"| C["無錯誤顯示 / Server 驗證中"]
    B -->|"帳密錯誤"| D["無效用戶名或密碼的提示"]
    B -->|"帳密錯誤與安裝碼"| E["因最近被嘗試過多次導致server停止服務太多次"]
    
    B --> F["驗證成功"]
    F --> G["信息 Dongle 模塊的畫面 (當用 demo 的設計)"]
    
    G --> H["需要增加連接 Dongle 的功能(可以在顯示的地方增加註冊、FW版本之類的資訊)"]
    
    H -->|"完成註冊 / 並顯結驗證"| I["無錯誤顯示 / Server 驗證中"]
    
    H --> J["插入量測的時候(可能需要有安裝的授權卡和按下確定的授權卡都要更新(反下確定按鈕只會清除這些 dongle 是只有權限)"]
    
    J --> K{"檢查 dongle 的連接"}
    
    K -->|"失敗 / 錯誤 / 未偵測到dongle"| L["顯示未偵測到的提示"]
    K -->|"檢查有連接"| M{"Check whether driver is installed"}
    
    M -->|"已經安裝對的的 Driver"| N{"Check FW version"}
    M -->|"尚未安裝"| O["顯示尚未安裝 driver的提示並詢問是否要安裝 driver"]
    
    O -->|"使用者選擇安裝(可以考慮加上權限檢查)"| P["安裝失敗 / 下載失敗"]
    O -->|"失敗 / 錯誤 / 未偵測到dongle"| L
    
    P --> I
    
    N -->|"需要更新"| Q["顯示需要更新FW的提示(包含FW版本)詢問是否要更新"]
    N -->|"確認安裝符合的 FW version"| R["Get Dongle Info(KN number)"]
    
    Q -->|"使用者選擇更新"| S["Get FW, download, and install"]
    Q -->|"失敗 / 錯誤 / 未偵測到dongle"| L
    
    S --> T["安裝失敗 / 下載失敗"]
    S --> I
    
    R -->|"成功"| U{"接受是否已經登入會註冊"}
    R -->|"失敗 / 錯誤 / 未偵測到dongle"| L
    
    U -->|"已經登入且即"| V["顯示已登註冊的提示"]
    U -->|"無錯誤重試"| I
    
    V --> W["返回至接 APP 和檢查項目"]
    
    U -->|"未註冊"| X["顯示未註冊的提示詢問是否啟定"]
    
    X -->|"無錯誤重試"| I
    X -->|"使用者選擇不重試"| Y["顯示選擇重試的提示"]
    X -->|"註冊失敗"| I
    
    X -->|"註冊成功"| Z["顯示註冊成功的提示"]
    
    Z --> W
    Y --> W
```