1.引言
接触小程序开发已经有1年多,在这期间经历了从template到组件式开发,从地狱回调到支持promise和async/await,从最开始的WEUI到现在的UI框架百花齐放…小程序一步步走向完善,早些时候就听到过“云开发”这个概念,也看到过微信开发文档的更新,一直没有机会去尝试,此次借助云开发挑战赛,将我司部分功能,做了一个demo版的云开发尝试,比起传统开发,效率上有很大提升。
2.应用场景及目标客户
中高端家庭业主,具备家电清洗、家政服务、新居装修、除螨、除甲醛等、一站式家居生活服务平台
3.实现思路
家政服务预约,其实和电商产品很类似,不过的是并没有电商那么多的sku,相对来讲简单一些,预约时间的判断是其中最复杂的一个,设计到超时未付款归还库存、后台的自定义设置以及相邻两家服务地址之间的距离时间判断,在云开发里,我们简化了不少功能,因为云开发一个商户只支持一个小程序,故也没有支付功能,所以整体项目只做日历的展示和判断。
4.架构图
5.效果图
6.功能代码展示
因为项目整体比较简单,为了不影响性能,没有使用第三方组件库,自己实现了几个组件,包括tab选择滑动切换、价格展示组件、底部弹窗组件,原生实现了3D swiper动画,以及原生js实现了跨月日历日期选择。
7.作品体验二维码
8.团队简介
美今管家小程序组
9.关于云开发的几点意见
1.首先不得不说的就是一个微信商户只支持一个云开发小程序,第二个绑定时一直报错但是又找不到原因(提示很不友好),耽误了半天时间,这个实属不应该。
2.云开发的支付查询问题,并没有现成的httpAPI可以在外部查看小程序云开发的支付订单,同属小程序支付,这个竟然归类到“服务商模式下的订单”,导致这个订单查询还需要通过httpAPI访问云函数去进行查询,然后再返回订单状态。
3.聚合查询只能在云函数调用,且不能携带where等参数,文档的坑。
4.云开发的图片cnd缓存,maxAge只有10分钟,这个参数我觉得应该由开发者来灵活调整(我找了一下没看到设置的地方)
5.云开发的cms是一个好东西,不过目前markdown语法生成的字符串并不能直接在小程序里的rich-text使用,需要自己手写转换器,而且目前不支持数组对象,本来是一个方便开发者的好东西,如果限制太多,就显得有些鸡肋。
#9.写在最后
都说serverless是未来趋势,趋不趋势我不知道,我开发这个小程序,前后大概只用了三天时间,大部分都是在下班时间来做的,最直接的就是不用开那么多编辑器,一个vscode搞定!相对于传统开发每次mysql,redis以及idea的启动等等,实在方便太多,轻量简洁,日志查看也比较方便,总体来讲很惊奇,后续会逐步尝试使用混合开发来尝试比如获取用户信息、手机等,最后,希望云开发越来越完善,至少文档要写的再棒一点_