什么是数据源
我们上一节介绍了会员管理小程序的整体规划,有了规划其实只是确定了目标,并不能够马上就拥有一款小程序。
那么我们进入到开发阶段要从哪里开始呢?需要先从数据源的设计开始。
如果想从设计开始那就需要理解啥是数据源。所谓的数据源他是包含了两个层面的意思,第一个层面首先是存数据的地方。日常我们在软件里提交的数据都需要保存到服务器里,这样你下次打开的时候才可以获取到。
那存数据的地方就像我们去超市里寄存商品一样,分为一个个的格子,每个格子里你是放包包呀还是放衣服由你自己决定。
那如果我们把东西寄存进柜子里我们怎么取出来呢?一般现在不都给你一个带二维码的小票么,你将小票对准窗口识别了之后你存东西的柜门就自动打开了。
对应到数据源里我们存数据的格子就是数据库,里边有各种各样的空间,而我们取东西的小票就对应数据源的方法,通过方法将存放的数据取出来。
数据源的分类
以前的产品是将数据源分为内部数据源和外部数据源。内部数据源是我们可以自己管理的数据源,外部数据源通常都是第三方提供的,比如像天气预报、影评之类的。除了第三方的接口外我们可能还有已经存在的系统,如果想使用微搭前端的能力的,也可以以第三方数据源的形式进行接入。
这次的更新,官方将数据源分为了三个部分,数据模型、连接器、自定义连接器。数据模型还是我们上边说的内部数据源。连接器是腾讯系的产品,可以直接调用,比如目前已经接入了腾讯会议、腾讯文档和腾讯地图。
而自定义连接器包含两个部分的内容,http请求和自定义代码。http请求其实可以理解为我们上边讲的外部数据源,是用来调用第三方接口的。而自定义代码一般是让我们可以通过代码的形式来调用数据库,这样就更自由,你可以按照自己的业务来构思代码,比较灵活。
另外需要补充的是数据模型创建的时候官方自动生成了增删改查的方法,其实如果只是简单应用用官方的方法就基本足够了。后续随着学习的深入可以继续学习连接器和自定义连接器的用法。
数据源设计
讲完了数据源的基本概念之后,我们就需要考虑我们这个会员管理小程序如何设计数据源的问题。
首先是从需求出发,我们小程序是分为两端,商家端和顾客端。那如何区分小程序里的用户是商家还是顾客呢?
传统开发里有一些基本的概念,用户、角色、菜单。如果权限控制的比较粗,那么就需要控制什么样的人可以拥有什么样的角色,角色又可以访问哪些菜单。
如果控制的细一点,有可能需要控制进入模块之后你是可以创建数据呢还是可以修改数据,又或者可以审核数据。
不同的权限需求对应着不同的设计,就像盖房子一样,你是盖个平房呢还是盖个楼房呢,是要盖多高有多少层。
那我们这个会员管理小程序的权限要如何考虑呢?可以想的比较简单,我就区分商家和普通用户,至于能看到什么样的模块我们可以在页面搭建的时候考虑。
有了以上的需求后,那么我们就需要一个管理员表,来维护谁是管理员。这里就需要考虑一个问题,如何来区分这个谁,怎么可以知道是张三还是李四。
传统开发里标识用户唯一信息的可以有多种,可以是手机号,可以是身份证号,也可以是账号。因为我们是做微信小程序,那么每个微信账号都有一个唯一的标识信息,叫openid,这个openid是跟着你的微信走的,是不变的。日后我们好些功能的开发都依赖于这个openid,你需要牢牢记住这个概念。
然后我们的思路就是小程序上线之后商家登录小程序将用户的信息记录到用户表里,知道商家的openid之后就可以往管理员表里添加一条记录,这样就有了管理员的初始化。这就是两个数据源,一个是用户数据源记录用户的基本信息,如昵称、头像、性别、省。一个是管理员数据源,只存放用户的openid。
数据源的创建
理清楚思路之后我们就开始动手创作了,第一步是从产品的注册开始。有粉丝问了,那我的账户应该注册成啥资质呢?其实看你个人的需求,如果你只是兴趣爱好学习,那么你注册成个人资质就可以,如果是企业使用,那么还是注册成企业用户比较好。
因为企业资质的用户开放的权限更多,比如后续想调用短信啦,支付啦,这些都是需要有企业资质的。
如果只是个人工具使用,那么定义成个人资质也还行。资质通过之后就可以注册微搭低代码的产品,按照提示进行试用就可以,目前是提供了三个月的免费试用期。其实三个月也足够把功能熟悉一遍,到底是否要采用这款产品基本也有了定论了。
一系列的初始化工作做好之后就可以进入到控制台,然后找到数据源
日常如果你遇到啥问题,界面上不有一个戴耳机的图标么,你直接在线提问就可以,售后还是很快的。
我们就开始创建我们前边规划的数据源,点击数据模型,点击新建数据模型
名称一般是你自己看的,用汉语填写。标识的话会根据你填写的内容自动首字母拼写,我建议用汉语的全拼或者英文来编制。创建方式分为两种,一种是空白创建,像我们这种从0开始的小程序就可以从空白创建。
如果你已经有系统或者历史数据是通过excel管理的,你就可以使用excel导入的形式操作。这样你的数据源创建好的同时历史数据也导入了,比较方便。
我们先创建第一个数据源,管理员表。
创建成功后是如下界面:
有的同学可能有疑问,怎么多了这么多字段,这个是系统自己创建的,后续组件会依赖这些系统字段。我们经常使用的是数据标识(_id)。这个字段标识这条记录的主键,它是唯一的。常用的场景如查询详情,就需要通过数据标识来查出这条数据。我们的数据更新场景也需要根据标识来更新数据。
我们点击添加字段可以添加我们自己的字段
同样的,名称是你自己看的,标识是系统用的。这个标识一般会用来做组件的数据绑定,我们在组件绑定章节再作详细介绍。
数据类型目前比较多了,有基本类型,如字符串、布尔、数字、数组、对象等等。也有业务类型比如图片、文件、主子明细和关联关系。要想搞明白每种类型的用法需要在实践中不断的摸索,需要花一定的时间。
如果你的字段是需要设置成下拉选择的,看你的下拉项是不是固定的,如果是固定的就可以设置成枚举,这样在表单页面生成的时候会自动将枚举项填充到组件里。如果是变化的由用户自主填写的,那么也可以不设置枚举类型。
我们的管理员表只有一个字段,我们设置成openid即可。
字段添加好之后可以看到模型方法,就是平台帮我们生成好的操作数据库的几种便捷操作,有新增、删除、更新、查询、查询列表。日常熟练掌握平台的方法是必备的,很多场景都遇得到。
一个方法必备的两个要素是入参和出参,初学可能对这个概念不是太理解。入参就是在方法调用的时候你需要传入的参数,比如我们烤面包时设置温度、时长这个就相当于给方法传递入参。出参的话就相当于方法调用给你返回的结果。这个比较有用,比如我们在做列表页面的时候这个列表的数据就是数据源方法调用后的出参,出参往往需要和组件结合做数据绑定。
数据源创建成功后列表页面就会多了一条数据
可以看到当前的数据源是未发布的状态,未发布的数据源不可以正式投入使用,需要我们做一下发布。点击更多->发布按钮即可
日常数据管理
那日常数据在哪可以维护呢?更多里有个管理数据,微搭提供了一套内容管理系统,可以直接维护数据
低代码的好处是测试环境和正式环境是分开的,体验数据就是我们的测试数据,正式数据就是我们的生产环境。一旦小程序上线开始运营就不要随便删除数据,保证数据的稳定运行才是最重要的事。
好了本次的课就讲解这么多,随着产品的深入我们会逐步的展开讲解。如果你是第一次接触开发,第一次接触低代码开发,可能需要将课程多看几遍。概念要理解了,更重要的是要多练习,只有多操作才可以牢固的掌握,有时候练的过程中可能卡住了,那就要克服困难。因为开发应用的过程就是逐步克服困难的过程。前进的路途有我陪伴,愿你少走点弯路,早日惊艳所有人。