博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于Vue全家桶制作的的高仿美团APP
阅读量:4085 次
发布时间:2019-05-25

本文共 2030 字,大约阅读时间需要 6 分钟。

美团外卖APP

? 项目演示地址:

? GitHub:

基于 Vue 全家桶 (2.x) 制作的美团外卖APP ,一个媲美原生的移动端外卖 App,项目完整、功能完备、UI美观、UE一流。

 

 

 

技术栈

【前端】

  • Vue:构建用户界面的 MVVM 框架,核心是响应的数据绑定和组系统件
  • vue-router:为单页面应用提供的路由系统,项目上线前使用了路由懒加载技术,来异步加载路由优化性能
  • vuex:Vue 集中状态管理,在多个组件共享某些状态时非常便捷
  • vue-resource:服务端通讯,项目后期改用 axios
  • axios:服务端通讯。基于 Promise 的网络请求插件
  • vue-lazyload:第三方图片懒加载库,优化页面加载速度
  • better-scroll:iscroll 的优化版,使移动端滑动体验更加流畅
  • Mint UI:一套基于 Vue 2.0 的移动端组件库,出自饿了么前端
  • Sass(Scss):css 预编译处理器
  • ES6:ECMAScript 新一代语法,模块化、解构赋值、Promise、Class 等方法非常好用
  • Moment.js:日期时间格式化插件

【后端及数据库】

  • Node.js:利用 Express 起一个本地测试服务器
  • Express:一个自身功能极简,完全是由路由和中间件构成一个的WEB开发框架

【自动化构建及其他工具】

  • vue-cli:Vue 脚手架工具,快速初始化项目代码
  • ESLint:代码风格检查工具,规范代码书写
  • pm2:一个带有负载均衡功能的Node应用的进程管理器,此项目用于在阿里云服务器启动服务

收获

  • 对 vue 的组件、指令、选项、模版渲染、事件绑定、计算属性等有了一定了解
  • 了解了 vue 组件之间的交互、传值
  • 熟悉了在 vue 项目中使用第三方插件(组件)
  • 熟悉了组件化、模块化的开发思维
  • 熟悉了 vue-router 控制路由和子路由的方式
  • 熟悉项目开发流程:项目分析设计 -> 项目环境搭建 -> 依赖安装 -> 页面架构设计 -> 组件开发 -> 测试联调 -> 发布上线
  • 总结了一套 Vue 通用组件,可以在其它项目中复用的 10+ 个组件
  • 总结了一套常用的 SCSS mixin 库
  • 总结了一套常用的 JS 工具函数库
  • 体会到组件化、模块化开发带来的便捷
  • 体会到将对象封装成类(ES6 class) 的便捷性,以及利用工厂方式初始化类实例
  • 学会利用过渡效果及动画效果制作良好的用户交互体验

实现细节

主要功能:首页、商家模块、发现、订单、我的

首页

首页数据 mock 美团移动端数据 -

商家模块

该页面主要实现了点餐、商品评价、商家信息预览等功能,内置购物车

数据通过 axios 异步请求获取,前期使用 mock 数据,后期抓取xx数据

公告浮层中使用了移动端经典的 CSS-Sticky-Footer 布局:关闭按钮被挤下去

公告浮层设计了淡入淡出效果,并使用了针对 IOS 用户的渐进增强效果: backdrop-filter

导航栏解决移动端1像素边框问题,并设计了通用 mixin

下面三个部分使用嵌套子路由实现:

点餐

  • 布局上采用嵌套 Flex 布局。
  • 滚动效果借助 better-scroll 滚动插件实现。
  • 实现了左右菜单联动效果:右侧滚动,左侧对应菜单高亮,左侧点击,右侧滚动到对应区域。
  • 设计了迷你购物车组件
  • 利用 css 过度动画实现了购物车加减动态效果
  • 利用 js 钩子实现了加入购物车飞行小球效果

评价

  • 复用 starcross-lineratings-select 等组件,体会到组件化开发的便捷性

商家

  • 借助 better-scroll 实现了横向滚动和纵向滚动效果
  • 收藏功能使用 localstorage 本地存储,并设计了通用 store 方案

TODO

  1. 做一个node服务端,配合mongodb,实现商品的上下架、用户的登录注册等功能
  2. 丰富各个模块的深度

Build Setup

# clone the repo into your disk.$ git clone https://github.com/bxm0927/vue-meituan.git# install dependencies$ npm install# serve with hot reload at localhost:8080$ npm run dev# build for production with minification$ npm run build复制代码

License

The code is available under the .

 

作者:白小明
链接:https://juejin.im/post/59b8ea926fb9a00a636a2f48
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的文章
fastcgi_param 详解
查看>>
搞定Java面试中的数据结构问题
查看>>
React Native(一):搭建开发环境、出Hello World
查看>>
Winform多线程
查看>>
Spring AOP + Redis + 注解实现redis 分布式锁
查看>>
poj 1976 A Mini Locomotive (dp 二维01背包)
查看>>
《计算机网络》第五章 运输层 ——TCP和UDP 可靠传输原理 TCP流量控制 拥塞控制 连接管理
查看>>
二叉树深度优先遍历和广度优先遍历
查看>>
生产者消费者模型,循环队列实现
查看>>
获得github工程中的一个文件夹的方法
查看>>
《PostgreSQL技术内幕:查询优化深度探索》养成记
查看>>
PostgreSQL查询优化器详解之逻辑优化篇
查看>>
STM32中assert_param的使用
查看>>
字符串的截取
查看>>
Tensorflow入门资料
查看>>
剑指_复杂链表的复制
查看>>
CentOS操作系统下安装yum的方法
查看>>
FTP 常见问题
查看>>
zookeeper单机集群安装
查看>>
do_generic_file_read()函数
查看>>