[AI線上應用實戰] Bubble.io Plugin製作: Element

[AI線上應用實戰] Bubble.io Plugin製作: Element

ECOE-avatar-img
發佈於資訊、程式 個房間
更新於 發佈於 閱讀時間約 5 分鐘

系列文章傳送門:[AI線上應用實戰] 如何快速建立你的AI線上應用 使用Bubble.io #Bubble.io教學


[AI線上應用實戰] Bubble.io Plugin製作: 基礎篇我們介紹了Plugin的三種功能。然而實際製作上有很多細節要注意,在這篇文章中,將更詳細介紹如何使用Plugin建立Element元件


實際案例

Fields

這個部分最簡單,會作為update(每次元件的field或元件內容有任何更新就會call)、preview(editor中預覽)這兩個函數的input,並可以使用properties.field_name來存取。要注意,你沒辦法透過設定properties.field_name回傳值(需透過state)

raw-image



State

任何想在bubble workflow存取的plugin回傳或狀態,都可以透過此來創建。以下圖來說,你就可以在workflow中使用plugin_element.export_root這個資料

raw-image


Actions

如果想要在workflow觸發此元件的某個客製化動作,就可以設定Action,以下圖為例。你可以在workflow加入一個Action動作: plugin_element->Start (max=.., bitrate=..., ..),要注意此時properties會是action的fields,不會是上面Fields所設定的(存取上面設定的field會undefined)

raw-image


Element Code: Header

如果有使用CSS或JS套件,請在header指名

raw-image

Element Code: Initialize

每次元件被載入,此處的函數會執行一次。任何想要顯示在頁面上的物件,需要加到instance.canvas裡,任何想在Update使用的,都可以放到instance.data

function(instance, context) {

const id = "class_A"+Math.round(Math.random()*1000000) + 1;
$(instance.canvas).append(`<div id="${id}" class="class_A"></div>`);
element = document.getElementById(id);
element.style.height = "100%";
instance.data.classA_element = new ...;
}

Element Code: Update

每次元件被更新,此處的函數會執行一次。

function(instance, properties, context) {
instance.data.classA_element.classA_element = ...
...
instance.publishState('export_data', new_value);
}

Element Code: Preview

Editior Preview用,基本上與initialize八成像即可

function(instance, context) {
const id = "class_A"+Math.round(Math.random()*1000000) + 1;
$(instance.canvas).append(`<div id="${id}" class="class_A"></div>`);
element = document.getElementById(id);
element.style.height = "100%";
}

Action Code

基本上很好理解,與Update差不多,只是要注意properties會與Update的properties不同

function(instance, properties, context) {

//Load any data

...

//Do the operation

...

}


想要更有系統的學習嗎?

歡迎至Google BooksReadmoo購買《零基礎開發AI應用: Bubble實戰指南》。在本書中我們深入淺出的教您使用Bubble平台,並結合最新最潮的AI技術,讓你輕鬆完成你的創業夢。

raw-image













avatar-img
ECOE的沙龍
3會員
41內容數
留言
avatar-img
留言分享你的想法!
ECOE的沙龍 的其他內容
如果自行撰寫應用後端,光是使用者管理就是挺麻煩的一件事。筆者之前撰寫Fastapi+OAuth+database就花上不少時間。Bubble.io可以則可以快速完成登入機制 此外,我們也可以搭配OAuth,允許使用者使用第三方登入,這樣甚至可以不用在Bubble應用中,處理reset passwo
Bubble簡單歸簡單,但遇到想要更大的自由度的時候,處理起來的複雜度可不比自架來的好處理,雖然Bubble有強大的Plugin支援,但如果你很窮、沒有免費好用的Plugin,或是功能太冷門,只好自己寫囉。
AWS Lambda是? AWS Lambda 就像是開發者的救星,因為它是一種 Serverless 服務,意思是你不用再為架設和維護伺服器煩惱了。對於每天都忙得焦頭爛額的開發者來說,產品開發已經夠讓人抓狂了,還要處理伺服器的設定和維運(e.g. OS、Network、機器管理、防火牆),想想就
在這系列文章中,將會深入淺出介紹,如何整合下列工具,快速建立你的AI線上應用 Bubble.io 主網站及伺服器 AWS - Lambda: 快速架設簡單邏輯的API,寫個小小的python function立刻就上線,不需要大費周章額外架backend - S3: 提供檔案存取,可透過Pr
隨著科技的發展,程式代寫已成為一個快速增長的市場。從簡單的程式到複雜的專案開發,程式代寫的範圍極為廣泛。這篇文章討論了選擇代寫服務的原因以及一元賣場詐騙的相關議題。
當提到程式和代寫,多數人可能會立刻想到學生尋找代寫作業的情境,或者是專業人士為某一專案尋找代寫程式的服務。不過,當你真正涉入這個領域,你會驚訝地發現:程式代寫的價格範圍實在是天差地遠,從幾百到數十萬都有。但是,為什麼會有如此大的價差呢?
如果自行撰寫應用後端,光是使用者管理就是挺麻煩的一件事。筆者之前撰寫Fastapi+OAuth+database就花上不少時間。Bubble.io可以則可以快速完成登入機制 此外,我們也可以搭配OAuth,允許使用者使用第三方登入,這樣甚至可以不用在Bubble應用中,處理reset passwo
Bubble簡單歸簡單,但遇到想要更大的自由度的時候,處理起來的複雜度可不比自架來的好處理,雖然Bubble有強大的Plugin支援,但如果你很窮、沒有免費好用的Plugin,或是功能太冷門,只好自己寫囉。
AWS Lambda是? AWS Lambda 就像是開發者的救星,因為它是一種 Serverless 服務,意思是你不用再為架設和維護伺服器煩惱了。對於每天都忙得焦頭爛額的開發者來說,產品開發已經夠讓人抓狂了,還要處理伺服器的設定和維運(e.g. OS、Network、機器管理、防火牆),想想就
在這系列文章中,將會深入淺出介紹,如何整合下列工具,快速建立你的AI線上應用 Bubble.io 主網站及伺服器 AWS - Lambda: 快速架設簡單邏輯的API,寫個小小的python function立刻就上線,不需要大費周章額外架backend - S3: 提供檔案存取,可透過Pr
隨著科技的發展,程式代寫已成為一個快速增長的市場。從簡單的程式到複雜的專案開發,程式代寫的範圍極為廣泛。這篇文章討論了選擇代寫服務的原因以及一元賣場詐騙的相關議題。
當提到程式和代寫,多數人可能會立刻想到學生尋找代寫作業的情境,或者是專業人士為某一專案尋找代寫程式的服務。不過,當你真正涉入這個領域,你會驚訝地發現:程式代寫的價格範圍實在是天差地遠,從幾百到數十萬都有。但是,為什麼會有如此大的價差呢?