跳轉至

腳本開發 / 函數頁面 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,或配合資源文件使用。