这篇文章分享一下之前做过的一个驾考小程序的项目,下图为模仿参考
项目要求
- 小程序端
- WEB管理后台
项目功能
参考驾考宝典、主栏目分为科目一、科目四、满分学习、注销恢复、资格证,包含小车、客车、摩托车等,功能包含视频讲解、章节练习、模拟考试、错题、收藏等等。 支持支付、分享、提成、提现等
项目选型
由于要求最快时间内上线,我们小程序选择 Serverless架构。 这里使用以下技术产品
- Bmob后端云+iview
- VUE + Bmob后端云
- Bmob后端云,自带了支付,生成二维码等接口,这里集成可以快速上线。VUE 有丰富的后台模板,可以更快的做出管理后台。
清晰了解需求
因为已经很清楚自己要做的是驾校答题小程序,这里就不做多余的介绍了。 尽量参考行业老大:驾校一点通与驾考宝典。
数据库设计
数据库参考其他驾考类小程序,优先把核心字段建立出来,尽量考虑周全, 不够后面再补。 这里注意的是,Serverless架构,主要适合做一些中小型应用,如果应用数据量很大, 尽量提前考虑分表。
用户表,由于Bmob系统自带了,我就不建立了。
- 题目表
- 题目类别表(题形)
- 错题表
- 收藏表
- 成绩表
- 用户表
数据库文档
由于使用Bmob后端云数据库,默认每条记录都带id、创建时间与更新时间,此数据表说明不带这2个字段。
- 题目表(question)
字段 | 类型 | 描述 |
---|---|---|
title | string | 题目名称 |
choseList | Array | 选择列表 [{“item”:“选选一”},{“item”:“选选二”,“isChose”:true}] |
type | int | 类型 1.单选 2.多选 3.判断 |
pic | string | 图片地址 |
video | string | 视频地址 |
help | string | 帮助描述 |
bSubjects | int | 所属科目 1.科目一 2.科目四 |
bModels | int | 所属车型 1.小车 2.货车 3.客车 4.摩托车 |
bType | string | 所属类别 关联类别表 |
- 题目类别表(questionType)
字段 | 类型 | 描述 |
---|---|---|
bSubjects | string | 所属科目 1.科目一 2.科目四 |
title | string | 类别名称 |
- 错题表
字段 | 类型 | 描述 |
---|---|---|
id | string | 题目id |
uid | string | 用户id |
- 收藏表
字段 | 类型 | 描述 |
---|---|---|
id | string | 题目id |
uid | string | 用户id |
- 成绩表
字段 | 类型 | 描述 |
---|---|---|
time | string | 用时 |
score | int | 成绩 |
设计好数据表之后,做准备工作
拿到小程序的 AppID填写到Bmob控制台,应用设置-》应用配置
把上面所有想好建立好的数据表添加到数据库
小程序开发工具新建一个空白项目,复制BmobSDK,到utils目录引入SDK,初始化。
看最终效果如下。
效果一:所写代码➕预览
效果二:数据表变化
这样我们就实现了,整个小程序开发的第一步,自动注册登陆,获取openid。 第一节就到这里,下一步就是操作业务表。