愛招飛幫助手冊 愛招飛幫助手冊
  • FastERP-1
  • Smart
  • PinToo
  • FastWeb
  • FastERP-2 企業管理系統 (opens new window)
  • 印染業ERP (opens new window)
  • 工廠終端機 (opens new window)
  • TARS
  • MARS
  • TaskRunner
  • Flying
  • FastDesk
  • HiDesk
  • HiNAT
  • FastBPM
  • 設備故障診斷 (opens new window)
  • 設備最佳運轉效益 (opens new window)
  • 企業智能助手SmeGPT (opens new window)
  • 燈號管理 (opens new window)
  • 戰情室 (opens new window)
  • 能源管理 (opens new window)
  • 人車定位 (opens new window)
  • 戰情指揮系統 (opens new window)
  • FastERP-1
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
  • FastERP-1
  • Smart
  • PinToo
  • FastWeb
  • FastERP-2 企業管理系統 (opens new window)
  • 印染業ERP (opens new window)
  • 工廠終端機 (opens new window)
  • TARS
  • MARS
  • TaskRunner
  • Flying
  • FastDesk
  • HiDesk
  • HiNAT
  • FastBPM
  • 設備故障診斷 (opens new window)
  • 設備最佳運轉效益 (opens new window)
  • 企業智能助手SmeGPT (opens new window)
  • 燈號管理 (opens new window)
  • 戰情室 (opens new window)
  • 能源管理 (opens new window)
  • 人車定位 (opens new window)
  • 戰情指揮系統 (opens new window)
  • FastERP-1
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
  • FastWeb幫助主頁
  • 學習手冊

  • 開發手冊

    • 通訊協議

      • 通訊埠

      • ModbusTCP

      • MQTT

      • RestAPI

        • RestAPI控制LED燈(WEB)
        • RestAPI讀取溫濕度(WEB)
        • RestAPI應用(WEB)
          • 1. 說明
          • 2. 設計明細
          • 3. 程式設計
            • 3.1. 程式初始設定
            • 3.2. 事件設定
          • 4. 運行結果
        • RestAPI綜合運用1(WEB)
        • RestAPI綜合運用2(WEB)
        • RestAPI綜合運用3(WEB)
      • HTTP

    • 互動輸出

    • 媒體存取

    • 人工智慧

    • 實體運用

目录

RestAPI應用(WEB)

# FastWeb之RestAPI應用

  • 適用平臺:WEB(桌面)

# 1. 說明

  利用FastWeb提供的RestAPI功能,實現讀取數據並顯示的功能。關於RestAPI的相關功能可參考介面開發。本範例使用示例中存在的介面CustList進行演示操作。

  通過本範例學習,可以掌握在FastWeb中呼叫RestAPI進行數據讀取的功能。

# 2. 設計明細

  開啟FastWeb設計器,分別加入下插圖之控制元件。或者點選左上角的[匯入]選擇模板檔案來打開對應模板。

  ①:TUgButton元件,控制元件名稱為UgButton01。

  ②:TUgButton元件,控制元件名稱為UgButton02。

  ③:TUgContainerPanel元件,控制元件名稱為UgContainerPanel01。

  ④:TUgClientDataSet元件,控制元件名稱為UgClientDataSet01。

  ⑤:TUgDataSource元件,控制元件名稱為UgDataSource01。

  ⑥:TUgDBGrid元件,控制元件名稱為UgDBGrid01。

  ⑦:TUgMemo元件,控制元件名稱為UgMemo01。

  • UgWebRunFrame屬性設定

    • Height:設定頁面高度=600。
    • Width:設定頁面寬度=1200。
  • ①UgButton01屬性設定

    • Caption:設定標籤顯示的文字=獲取Token。
  • ②UgButton02屬性設定

    • Caption:設定標籤顯示的文字=呼叫API。
  • ③UgContainerPanel屬性設定

    • Align:設定控制元件的對齊方式=alTop。
  • ⑤UgDataSource01屬性設定

    • DataSet:設定繫結的數據集名稱=UgClientDataSet01。
  • ⑥UgDBGrid01屬性設定

    • Align:設定控制元件的對齊方式=alClient。
  • ⑦UgMemo01屬性設定

    • Align:設定控制元件的對齊方式=alRight。

# 3. 程式設計

  點選程式設計界面右下角的按鈕,切換至單元選擇界面,勾選需要使用的單元。該程式的程式需要引用Rest.Api單元。

# 3.1. 程式初始設定

  該程式無程式初始設定。

# 3.2. 事件設定

  • ①UgButton01-OnClick事件

  點選[獲取Token]按鈕,獲取目前目前登錄使用者的Token並返回結果。

    //JScript
    function UgButton01OnClick(sender)
    //獲取Token
    {
      UgMemo01.Lines.Insert(0,DateTimeToStr(Now()) + UGMM.LT(": 獲取Token :") + GetToKen);
    }
    
    1
    2
    3
    4
    5
    6
    //PasScript
    procedure UgButton01OnClick(sender: tobject);
    //獲取Token
    begin
      UgMemo01.Lines.Insert(0,DateTimeToStr(Now()) + ': 獲取Token :' + GetToKen);
    end;
    
    1
    2
    3
    4
    5
    6
    // Make sure to add code blocks to your code group
    • ②UgButton02-OnClick事件

      點選[呼叫API]按鈕,呼叫指定API,將返回的結果顯示在頁面上。

      //JScript
      function UgButton02OnClick(sender)
      //獲取數據
      {
        var h=TIDHttp.Create(Nil);
        var l=TStringList.Create;
        Try{
          h.HandleRedirects = true;
          h.ReadTimeout = 5000;
          l.Values["RestApi"]  = "Script";
          l.Values["Token"]  = GetToKen;
          l.Values["ApiName"] = "CustList";
          //l.UGValues["Param1"] = "Value1"; 如果該介面需要傳遞參數可使用該方式進行填寫,數字型別的參數值不需要新增引號
          //l.UGValues["Param2"] = "Value2";
          TextToHTTPEncode(l);
          //showmessage(l.Text);
          //showmessage(h.Post(UniSession.URL,l));
          P_JSONToClientDataSet(h.Post(UniSession.URL,l),UgClientDataSet01);
          UgMemo01.Lines.Insert(0,DateTimeToStr(Now()) + UGMM.LT(": 獲取數據集"));
          //d = JSONToData(h.Post(UniSession.URL,l));
          //UgDataSource01.DataSet = d;
          }
          Finally{
          h.Free;
          l.Free;
        }
      }
      
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      //PasScript
      procedure UgButton02OnClick(sender: tobject);
      Var
        h:TIDHttp;
        l:TStringList;
        d:TClientDataSet;
      Begin
        h:=TIDHttp.Create(Nil);
        l:=TStringList.Create;
        Try
          h.HandleRedirects := true;
          h.ReadTimeout := 5000;
          l.Values['RestApi']  := 'Script';
          l.Values['Token']  := GetToKen;
          l.Values['ApiName'] := 'CustList';
          //l.UGValues['Param1'] := 'Value1'; 如果該介面需要傳遞參數可使用該方式進行填寫,數字型別的參數值不需要新增引號
          //l.UGValues['Param2'] := 'Value2';
          TextToHTTPEncode(l);
          //showmessage(l.Text);
          //showmessage(h.Post(UniSession.URL,l));
          P_JSONToClientDataSet(h.Post(UniSession.URL,l),UgClientDataSet01);
          UgMemo01.Lines.Insert(0,DateTimeToStr(Now()) + ': 獲取數據集');
        Finally
          h.Free;
          l.Free;
          d.Free;
        end;
      end;
      
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      // Make sure to add code blocks to your code group

      # 4. 運行結果

        使用滑鼠在FastWeb功能表,點選[儲存至資料庫]按鈕,將其儲存至資料庫,點選[除錯運行]確認能夠正常打開。

        在打開的程式中,點選[獲取Token]以及[呼叫API]按鈕,返回對應的結果。

      RestAPI讀取溫濕度(WEB)
      RestAPI綜合運用1(WEB)

      ← RestAPI讀取溫濕度(WEB) RestAPI綜合運用1(WEB)→

      Copyright © 2021-2025 愛招飛IsoFace | ALL Rights Reserved
      • 跟随系统
      • 浅色模式
      • 深色模式
      • 阅读模式