README.md 4.6 KB
Newer Older
C
cangdu 已提交
1
## 前言
M
udpata  
maguohua 已提交
2

C
cangdu 已提交
3
vue2的发布后自己也研究了一段时间,奈何公司的技术栈是以react为主,没有机会好好利用vue2去做一个完整的项目。虽然写了几个demo,但和写一个完整的项目还是有很大差别的。于是自己想着用空余的时间写一个项目,选择了饿了么web端也只是因为经常用,熟悉它的布局。之前的饿了么官网是用angular1写的,最近才发现原来这段时间改成了vue1,看来饿了么也入了vue的坑。
C
cangdu 已提交
4

C
cangdu 已提交
5

C
cangdu 已提交
6
首先遇到的问题当然是跨域,我们启动本地服务器是获取不到官网数据的,这是跨域的。当然解决的方法很多,jsonp,nginx反向代理,webpack-dev-server的proxy。这里我用的是 http-proxy-middleware 其实它们的原理是一样的。
C
cangdu 已提交
7

M
udpata  
maguohua 已提交
8 9

__注:此项目纯属个人瞎搞,正常下单请选择饿了么官方客户端。__
C
cangdu 已提交
10

C
cangdu 已提交
11

C
cangdu 已提交
12
## 技术栈
C
cangdu 已提交
13
vue2 + vue-rotuer2 + vuex2 + webpack + ES6 + fetch + scss + flex + http-proxy-middleware反向代理 
C
cangdu 已提交
14

C
cangdu 已提交
15
## 目标功能
C
cangdu 已提交
16

C
cangdu 已提交
17
- [ ] 定位功能
C
cangdu 已提交
18
- [ ] 选择城市
C
cangdu 已提交
19
- [ ] 搜索附近餐馆或食品
C
cangdu 已提交
20 21 22 23 24
- [ ] 附近商家列表展示
- [ ] 根据距离、销量、评分、特色菜等进行排序和筛选
- [ ] 单个餐馆的详细信息展示,商品列表,优惠活动
- [ ] 餐馆及单个商品的评价列表展示、筛选
- [ ] 购物车功能
C
cangdu 已提交
25 26
- [ ] 登陆、注册
- [ ] 修改密码
C
cangdu 已提交
27 28 29
- [ ] 个人中心
- [ ] 帐户信息
- [ ] 服务中心
C
cangdu 已提交
30
- [ ] 新增、修改收货地址
C
cangdu 已提交
31
- [ ] 订单列表
C
cangdu 已提交
32
- [ ] 下单功能
C
cangdu 已提交
33
- [ ] 付款(很难实现)
C
cangdu 已提交
34

C
cangdu 已提交
35

C
cangdu 已提交
36
说明:因为并不是elm官方,而且因为要开代理,必须在pc端打开,所以预计最多只能做到下单这一步,下单成功后可以在手机客户端查看并付款。
C
cangdu 已提交
37

M
udpata  
maguohua 已提交
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
## 项目布局
```
|-- build                            // webpack配置文件
|-- config                           // 项目打包路径
|-- elm                           	 // 上线项目文件,放在服务器即可正常访问
|
|-- src                              // 源码目录
|   |-- components                   // 组件
|       |-- common                   // 公共组件
|       |-- footer                   // 底部公共组件
|       |-- header                 	 // 头部公共组件
|
|   |-- config                       // 基本配置
|       |-- env.js                   // 环境切换配置
|       |-- fetch.js                 // 获取数据
|       |-- rem.js                   // px转换rem
|
|   |-- images                       // 公共图片
|
|   |-- pages                        // 页面组件
|       |-- checkout                 // 确认订单页
|       |-- city                     // 当前城市页
|       |-- forget                   // 忘记密码,修改密码页
|       |-- home                     // 首页
|       |-- login                    // 登陆注册页
|       |-- msite                    // 商铺列表页
|       |-- order                    // 订单列表页
|       |-- profile                  // 个人中心
|       |-- search                   // 搜索页
|       |-- shop                     // 商铺详情页
|       |-- vipcard                  // vip卡办理页
|
|   |-- plugins                      // 引用的插件
|
|   |-- router                       // 路由配置
|
|   |-- service                      // 数据交互统一调配
|
|   |-- store                        // vuex的状态管理
|       |-- modules                  // 加载各种store模块
|       |-- action.js                // 配置根actions
|       |-- getters.js               // 配置根getters
|       |-- index.js                 // 引用vuex,创建store
|       |-- mutation-types.js        // 定义常量muations名
|       |-- mutations.js             // 配置根mutations
|
|   |-- style                        // 各种样式文件
|       |-- common.scss              // 公共样式文件
|
|   |-- App.vue                      // 页面入口文件
|
|   |-- main.js                      // 程序入口文件,加载各种公共组件
|
|-- .babelrc                         // ES6语法编译配置
|-- .editorconfig                    // 代码编写规格
|-- .gitignore                       // 忽略的文件
|-- favicon.ico                      // 页面左上角小图标
|-- index.html                       // 入口html文件
|-- package.json                     // 项目及工具的依赖配置文件
|-- README.md                        // 说明
```



C
cangdu 已提交
102
## 项目运行
M
updata  
maguohua 已提交
103 104
```
git clone https://github.com/bailicangdu/elm.git
C
cangdu 已提交
105

C
cangdu 已提交
106
cd elm
C
cangdu 已提交
107

M
udpata  
maguohua 已提交
108
npm install
M
updata  
maguohua 已提交
109
```
M
udpata  
maguohua 已提交
110

C
cangdu 已提交
111
### 编译环境
M
updata  
maguohua 已提交
112
```
M
udpata  
maguohua 已提交
113
npm run dev
M
updata  
maguohua 已提交
114 115
```

M
udpata  
maguohua 已提交
116

C
cangdu 已提交
117
### 线上版本
M
updata  
maguohua 已提交
118
```
M
udpata  
maguohua 已提交
119
npm run build
M
updata  
maguohua 已提交
120 121
```

M
udpata  
maguohua 已提交
122