背景和需要痛点剖析
传统驾校预约形式步骤繁琐,效率低下,随着挪动互联网科技和 5G 的变革,驾校考试畛域迫切需要更加简洁、高效的预约形式,便捷人们的生存。
因而设计基于微信小程序的驾校预约零碎,改良传统驾校预约形式,实现高效的驾校学员预约。
驾校网络预约服务零碎使预约者只需坐在家中, 轻松的点几下鼠标, 就能够网上约车, 能够做到 ” 足不出户选教练 ”, 这样可能无效缩小学习者的等待时间, 从而为学员提供更优质的服务.
该零碎基于 MVC 架构,采纳基于微信小程序平台开发,校园用户操作轻松快捷:无需下载安装 APP。
功能分析与拆解
数据库定义
遇到的技术难点
一轮密集的小程序开发下来,发现有很多货色是复用的,能够形象进去,正好小程序提供了这种形象的办法和能力
于是我将预约小程序页面内的功能模块形象成自定义组件,以便当前再不同的小程序页面中重复使用;
同时还有一个更大的益处:将简单的小程序页面拆分成多个低耦合的模块,有助于代码保护。
自定义小程序组件在应用时与根底组件十分类似。
一些须要留神的细节:
- 因为 WXML 节点标签名只能是小写字母、中划线和下划线的组合,所以自定义小程序组件的标签名也只能蕴含这些字符。
- 自定义小程序组件也是能够援用自定义组件的,援用办法相似于页面援用自定义组件的形式(应用 usingComponents 字段)。
- 自定义小程序组件和页面所在我的项目根目录名不能以“wx-”为前缀,否则会报错。
留神,是否在小程序页面文件中应用 usingComponents 会使得页面的 this 对象的原型稍有差别,包含: - 应用 usingComponents 页面的原型与不应用时不统一,即 Object.getPrototypeOf(this) 后果不同。
- 应用 usingComponents 时会多一些办法,如 selectComponent。
- 出于性能思考,应用 usingComponents 时,setData 内容不会被间接深复制,即 this.setData({field: obj}) 后 this.data.field === obj。(深复制会在这个值被组件间传递时产生。)
- 如果小程序页面比较复杂,新增或删除 usingComponents 定义段时倡议从新测试一下。
总结下来我开发的有评论组件,通用列表组件,图像上传组件,详情页面组件,Footer 组件,后盾侧边组件等大的组件模块
界面设计
后盾界面设计
git 开源代码