首页 >> 牛刀云小程序开发教程 >> 第1篇 制作模式 >> 服务制作 >> 创建服务

6.2.4 处理逻辑

每个请求的目标都是解决某个特定的问题,解决问题需要有思路,这个思路用代码表现出来便是逻辑。与初中、高中证明数学题一样,逻辑清晰,并把它表达出来是最终的目标。画代码只是把原本程序员一行行手写的代码,改为使用画流程图的方式实现而已。

画代码是实现逻辑的手段,其实也是用一种特殊的语言——程序语言,而不是文字来表达一段意思。平时写文章需要注意分段,分层,分条理。画代码也是一样,要求思路清晰、结构清晰。在画代码的时候,要仔细想想,如何把变量名取得清楚一些,如何把逻辑表现地清晰一些。

                                                                            

1、开始和结束

    一段代码必须有一个开始,如图6-8所示,可以有一个或多个结束,也可以没有结束,如图6-9所示。

6-8  代码开始

    “开始”标识代码的起点。有没有“结束”取决于请求有没有返回值。如果请求设置为“无返回”,就不需要“结束”。否则,就需要“结束”,并在结束中设置“返回值”,这个值就作为请求的返回值,返回给调用请求的地方。

6-9  代码结束

 

2、动作

“动作”就是设置要执行的动作,如图6-10所示。动作包括系统API和自定义数据方法。根据动作的不同,在选择“执行动作”后,可能会设置“目标对象”;在“输入设置”中设置“变量初始值”、“变量类型”;在“输出设置”中设置“返回值类型”、“变量名称”、“使用返回值”和“新增变量”等信息。

6-10  代码动作

    在设置“动作”时,会出现两种页面,一个是选择动作的页面,如图6-12所示。一个是选择值的页面,如图6-11所示。选择动作就是选择一个要执行的动作;选择值就是给动作的某个属性设置值。这两个页面完全不同,即使都显示上下文变量,前者选择变量的方法,后者选择变量的值。

6-11  设置动作时设置值

单击“执行动作”右侧的…按钮,打开选择动作页面。在这里,可以选择已定义的服务请求、数据集API、自定义的数据方法、上下文变量的方法、系统工具类和辅助方法。

 

1)选择服务请求动作

    在“服务”下面列出的是本项目中已定义的服务和请求,如图6-12所示,说明请求既可以在页面中调用,也可以在服务请求中调用。

6-12  服务动作

 

2)选择数据集动作

    在“数据操作”下面列出了已定义的数据集,这里名为仓库。在每个数据仓库的下面列出了自定义的数据方法和系统数据集API。如图6-13所示,“根据商品ID查询”是自定义的数据方法;“批量删除全部”是系统API

6-13  数据集动作

 

3)选择上下文变量方法

    在声明变量、创建对象、使用动作返回值之后,这些变量就成为上下文变量,即在当前代码中可以访问的变量,根据变量的类型不同,变量的方法也不同。如图6-14所示,购物车是数据行对象,拥有列赋值和列取值的方法。

6-14  上下文变量的动作

 

4)选择数据行动作

    “数据”中显示的变量,也会在“上下文变量”中显示。为了方便使用将数据行对象放在“数据”分组下显示,如图6-15所示。

6-15  数据行动作

 

5)选择工具类方法动作

    “工具”中列出的都是系统API,如图6-16所示,包括数据类型转换、日期时间、加解密等方法。

6-16  工具类的动作

 

6)选择辅助动作

    “辅助动作”下面的5个动作是常用动作,如图6-17所示。声明变量是新建一个简单类型的变量;创建对象是新建一个数据集类型的变量。调用原生函数是扩展能力,通过手写方法名调用java方法。

6-17  辅助动作

 

3、条件分支和分支合并

    在加入购物车时,判断购物车中是否已经有此商品,有此商品就直接修改购物车中的数量,没有此商品,则在购物车中新增一条记录。这个场景就是条件分支,根据不同的条件,执行不同的动作。条件分支的条件就设置为:判断购物车中是否有此商品。在条件分支后面增加两个动作,分别用两根连接线连接这两个动作。在上面连接线的条件值中选择真,如图6-18所示,表示条件为真时执行这条连接线后面的动作,那么动作就应该设置为修改数量列的值。两条连接线只在一条上标注条件值即可。没有标注条件值的连接线连接的动作,表示条件为假时执行的动作,此时应该设置为创建购物车数据对象。

6-18  条件分支

分支各自结束后,还需要汇聚到一起,继续往下执行,就需要在两条分支的后面连接一个分支合并,在分支合并后再添加新的动作。

 

4、循环

    在“牛刀小店”中,客户支付成功后更新商品库存的方法是:查询出订单中的所有商品,循环查询出的所有商品,依次修改每个商品的库存。这个场景就是循环,循环对象就是查询出的所有商品。在循环中添加动作,获取循环变量的商品ID,再更新商品库存。

    在循环中添加动作的操作有些特殊。如果选中循环,添加动作,动作就会添加到循环的后面。在循环内添加动作的方法是,在设计区中的网格线上单击,使得设计区的所有图形都处于非选中状态。此时,单击工具栏中的动作,放入循环中,就可以将动作放到循环内,如图6-19所示。

6-19  循环

 

5、连接线

    当一个图形被选中,再单击工具栏上面的一个图形,系统会在被选中图形后面绘制新选择的图形,并且生成连接线,因此通常不需要手工添加连接线。其实图形可以任意放置,连接线也可以重新添加。添加连接线的方法是:在工具栏上选择连接线,将鼠标滑动到连接线起点的图形上,图形会显示出3个大定位点,按住鼠标左键不松手,拖曳到连接线的终点图形,终点图形会出现1个大定位点,拖曳到定位点,松开鼠标,连接线添加完成。

 

6、查看代码

    画代码是使用画流程图的方式,代替手写代码,因此画代码的结果就是生成代码。有兴趣的话,可以单击“查看代码”看看生成的代码。