跳轉到

指令碼開發 / 函式頁面 DFF.FUNC_PAGE

DFF.FUNC_PAGE() 用於返回自動生成的簡單函式呼叫頁面,適合將少量 Func 組合成操作頁,不必單獨開發前端頁面。

示例

在被 @DFF.API(...) 裝飾的 Func 中返回頁面物件即可:

示例
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
@DFF.API('問候')
def greeting(name='World'):
    return f'Hello, {name}!'

@DFF.API('Func Page')
def func_page():
    page = DFF.FUNC_PAGE()
    page.set_title('My Func Page')
    page.add_html('h1', 'My Func Page', color='#409EFF', bold=True)
    page.add_func(greeting, default_kwargs={'name': 'User'})
    page.add_split()
    page.add_space(20)
    return page

為 func_page 建立函式 API 後,透過瀏覽器開啟即可訪問。頁面樣式可能隨 DataFlux Func 版本更新。

func-page.png

API

方法 說明
page = DFF.FUNC_PAGE() 建立頁面物件;標題預設為當前 Func 標題
page.set_title(title) 設定頁面標題
page.add_html(tag, text=None, indent=None, space=None, color=None, bold=False, italic=False, style=None, buttons=None) 新增 HTML 塊及可選樣式和按鈕;tag 可為 h1、p、span、hr 等
page.add_func(func, default_kwargs=None) 新增可呼叫 Func 塊及可選預設引數
page.add_split() 新增分隔塊
page.add_space(size=10) 新增垂直間距

add_func(...) 的 func 引數和 buttons 中每個按鈕的 func 都可以是 Func ID,也可以是經 @DFF.API(...) 裝飾的函式。default_kwargs 必須與目標 Func 的引數保持一致。

渲染響應時,Func 塊和按鈕會從已釋出 Func 元資料中解析。未知或未釋出的 Func ID 無法解析,並可能使頁面渲染失敗,因此每個引用的 Func 都必須已經發布。

返回頁面會授予臨時呼叫能力

頁面包含可呼叫 Func 時,系統會建立一個僅限已解析 Func ID 的臨時瀏覽器授權 Token。只能將頁面訪問者確實應該執行的 Func 加入頁面,並將返回該頁面視為授予臨時呼叫能力。

style、按鈕資料和顯示文字都屬於頁面內容,不得插入不可信 HTML 或秘密值。複雜互動頁面應返回自行實現的 HTML,或配合資原始檔使用。