一、为影院添加影片的逻辑和思考
首先打开在线编辑器进入我们的项目:https://editor.ivx.cn/
进入之后找到上一节中制作的页面,咱们设置点击编辑按钮后进入的页面为影院添加影片页:
接着咱们查看影院添加影片页:
在该页中,点击影片富裕后即可为当前影院添加了影片。
此时需要注意的是,影片赋予并不是对应的点击事件进行响应,而是使用选中和取消选中进行响应,当我们设置为点击进行响应时将不能响应取消影片内容,当然你也可以使用点击事件对其进行响应,但是太过麻烦,我们需要设置一个对应的一位数组,设置与当前循环出来的影片内容相同的序列值,例如这个一位数组中,0表示当前未选中,1表示当前已选中,那么此时将会很麻烦的去判断这些,咱们还需要对这个一维数组进行多次判断和设置,这明显是不明智的,所以在此处直接使用选择框组件,判断是否选中即可完成。
首先我们对这个复选项框一个事件,选中时直接调用一个服务,给这个影片赋予影院,那此时则需要创建一个服务对其进行响应,在此创建一个服务为影片影院综合操作:
此时我们还需要思考,咱们需要同时给影片数据库增加影院ID,也要给影院增加影片ID,此时是两个数据库的操作,那怎么做呢?万一有一个操作失败,那么将会造成两边数据的不统一,并且会有bug,此时咱们使用一个较为简单的操作,把这两个添加数据库的操作分离出来,在此使用一个事务即可完成。那事务是什么呢?
在此咱们使用官方对事务的定义进行说明:
事务(transaction)是一系列的数据库操作的集合,可以把多步数据库操作合成一个单元,只要其中有一个失败,就可以回滚整个执行串,确保数据操作的一致性。
那么如何创建事务呢?
事务在右侧和事件相同的面板之上:
随后咱们点击后进行添加:
随后给这个事务添加参数以及返回参数,在这里要注意,一定要添加返回参数,事务跟服务不一样,参数你需要自己进行设置:
随后事务开始后,首先给影片进行数据更新,选择对应的影院ID,随后将最新的数据列表添加到已添加影院字段之中:
随后咱们添加一个成功和一个失败回调,在成功回调之中再进行影院数据库的操作,更新的条件为当前ID等于传递过来的影院ID,并且将最新的字段列表添加到当前y拥有影片的字段之中:
随后为影院操作添加回调,当成功时就返回结果,设置成功的值为1,失败回调之下就使当前的操作进行回滚,回滚可使已经添加的内容进行回置:
当然最外侧的操作也需要添加对应的失败回调,失败时直接回滚内容即可:
二、为页面添加影片
添加完以上的准备服务后,咱们还需要准备给当前页面一个事件,当前页面在显示后,调用一个服务,这个服务将会调用一个服务,这个服务将会获取当前所有未删除的影片,这些影片显示在页面之上,随后点击对应选择框再调用刚刚创建的服务内容。
在此不止需要获取影片内容,还需要获取当前影院的信息,在之前点击当前影片后,在当前页面中创建一个数值变量“当前影片ID”记录当前的影片内容,记录之后再显示时调用影院和影片获取服务,在此不掩饰对应的内容了,跟之前内容赘述。