一、為影院添加影片的邏輯和思考
首先打開在線編輯器進入我們的項目:https://editor.ivx.cn/
進入之后找到上一節中制作的頁面,咱們設置點擊編輯按鈕后進入的頁面為影院添加影片頁:
接著咱們查看影院添加影片頁:
在該頁中,點擊影片富裕后即可為當前影院添加了影片。
此時需要注意的是,影片賦予并不是對應的點擊事件進行響應,而是使用選中和取消選中進行響應,當我們設置為點擊進行響應時將不能響應取消影片內容,當然你也可以使用點擊事件對其進行響應,但是太過麻煩,我們需要設置一個對應的一位數組,設置與當前循環出來的影片內容相同的序列值,例如這個一位數組中,0表示當前未選中,1表示當前已選中,那么此時將會很麻煩的去判斷這些,咱們還需要對這個一維數組進行多次判斷和設置,這明顯是不明智的,所以在此處直接使用選擇框組件,判斷是否選中即可完成。
首先我們對這個復選項框一個事件,選中時直接調用一個服務,給這個影片賦予影院,那此時則需要創建一個服務對其進行響應,在此創建一個服務為影片影院綜合操作:
此時我們還需要思考,咱們需要同時給影片數據庫增加影院ID,也要給影院增加影片ID,此時是兩個數據庫的操作,那怎么做呢?萬一有一個操作失敗,那么將會造成兩邊數據的不統一,并且會有bug,此時咱們使用一個較為簡單的操作,把這兩個添加數據庫的操作分離出來,在此使用一個事務即可完成。那事務是什么呢?
在此咱們使用官方對事務的定義進行說明:
事務(transaction)是一系列的數據庫操作的集合,可以把多步數據庫操作合成一個單元,只要其中有一個失敗,就可以回滾整個執行串,確保數據操作的一致性。
那么如何創建事務呢?
事務在右側和事件相同的面板之上:
隨后咱們點擊后進行添加:
隨后給這個事務添加參數以及返回參數,在這里要注意,一定要添加返回參數,事務跟服務不一樣,參數你需要自己進行設置:
隨后事務開始后,首先給影片進行數據更新,選擇對應的影院ID,隨后將最新的數據列表添加到已添加影院字段之中:
隨后咱們添加一個成功和一個失敗回調,在成功回調之中再進行影院數據庫的操作,更新的條件為當前ID等于傳遞過來的影院ID,并且將最新的字段列表添加到當前y擁有影片的字段之中:
隨后為影院操作添加回調,當成功時就返回結果,設置成功的值為1,失敗回調之下就使當前的操作進行回滾,回滾可使已經添加的內容進行回置:
當然最外側的操作也需要添加對應的失敗回調,失敗時直接回滾內容即可:
二、為頁面添加影片
添加完以上的準備服務后,咱們還需要準備給當前頁面一個事件,當前頁面在顯示后,調用一個服務,這個服務將會調用一個服務,這個服務將會獲取當前所有未刪除的影片,這些影片顯示在頁面之上,隨后點擊對應選擇框再調用剛剛創建的服務內容。
在此不止需要獲取影片內容,還需要獲取當前影院的信息,在之前點擊當前影片后,在當前頁面中創建一個數值變量“當前影片ID”記錄當前的影片內容,記錄之后再顯示時調用影院和影片獲取服務,在此不掩飾對應的內容了,跟之前內容贅述。