我们上一篇介绍了加油站会员管理小程序的原型,本篇我们推导一下需要的数据源。
推导数据源的办法是要从页面上提炼需要存放的数据,在提炼的过程中要考虑表和表的拆分,主要是考虑主子关系。
在数据源设计中有关联关系和主子表的区分,关联关系是一种组成关系,比如学生和班级就是一种关联。学生属于班级,班级里有学生。而订单和订单明细就是一种强关系,订单明细必须依附于订单不能独立存在。
除了考虑表和表之间的关系外,就是要考虑每个字段的类型。比如我们的地理位置就需要专门的字段存储,地理位置通常由地址、经纬度组成,如果你自己建三个字段存储未免啰嗦,这样就需要选对字段的类型进行存储。
数据源设计是一个经验的问题,当你项目越积累越多的时候,经验也就越丰富,自然就能总结出做好的设计来。当然经验另一方面就是从维护中取得,你的应用需要频繁迭代,而每一次功能迭代都在检验你的设计是否合理。良好的设计程序的可扩展性比较好,增加功能时候更快。
介绍了数据源设计的一些抽象的方法后,我们具体到我们这个示例项目上来。先从首页上开始分解数据。
首页的第一部分是轮播图,所谓的轮播图是一组图片的轮询展示,需要考虑两方面的问题,第一个是图片往哪存,第二个方面是图片可不可以点击。
微搭提供了一个在线存放图片的空间,叫云存储,凡是我们上传的图片都会存放到这个地方。具体如果希望查看的话,我们可以点击产品列表的云开发cloudbase
你上传的所有附件都会存放到这里。要理解图片,会有两个概念要理解,一个是数据源存放的路径,一个是互联网访问需要的路径
我们在微搭的数据库里,图片存放的是一个私有路径
而如果图片需要在互联网访问的时候,需要用到的是互联网的地址
https://6c6f-lowcode-4g3rs4de0a58b06e-1305601167.tcb.qcloud.la/weda-uploader/71d52457ee6b411317247f8ba2b701e7-%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20221120104138.jpg
涉及到这种业务的,就需要将数据库的私有地址转换为公网地址,转换的过程需要自己开发API,调用云开发的转换API才可以。
第二方面初学者的疑问是,如何将图片上传到微搭中,一般设计图片上传的,需要调用图片上传组件,微搭中使用的是图片上传组件
图片上传的时候有多张和单张的区别,这个区别是和你数据源设计时候字段类型相关的,如果你的字段类型选择是图片的,那么这个组件就会识别类型变成单张上传,如果你的类型选择为数组,数组里的元素类型选择为图片的,那么这个组件就可以上传多张。
理清楚图片的概念后,我们来解决第二个问题,图片点击后想跳转到其他页面该怎么办?一般跳转页面的,我们可以调用平台方法的跳转
打开页面需要设置两部分内容,第一部分是需要跳转的页面,第二部分是需要传入的参数
将鼠标移动到选择页面,可以看到真实需要传入的参数
这里需要用到pageId,那这个参数该如何获取呢?可以在页面列表里点击三个点查看到
上述这些都梳理清楚后,我们来设计我们的数据源,将轮播图单独设计一个数据源,命名为广告
数据源的建立方法是,点击控制台,点击数据模型,点击新建数据模型
输入名称广告,标识会自动生成
数据模型建立好后,要点击右上角的编辑按钮进入添加字段的模式
点击添加字段,输入字段的名称,标识会自动生成
输入字段的名称图片,我们数据类型选择图片
再次点击添加字段,字段名称输入跳转的页面,字段标识输入pageId
字段添加好之后我们点击页面上的确定完成数据源的创建
微搭中除了物理的帮我们建立好数据源后,还帮我们创建好了增删改查的后台方法
调用的时候要注意方法的入参和出参,在低码编辑器如果希望通过API的形式访问数据源的,需要注意这两个地方。
数据源创建成功后,需要录入测试数据。微搭提供了一个CMS后台,可以方便的进行数据录入。在数据模型列表上点击更多按钮,点击管理数据
这里要注意数据分为体验数据和正式数据的区别,在开发阶段,我们都需要在体验数据里录入。如果应用发布之后,所有线上产生的数据都会存放到正式数据里。体验数据和正式数据是物理隔离的,不互通。