(Translated by https://www.hiragana.jp/)
GitHub - bailicangdu/vue2-elm: Large single page application with 45 pages built on vue2 + vuex. 基于 vue2 + vuex 构建一个具有 45 个页面的大型单页面应用
Skip to content

Large single page application with 45 pages built on vue2 + vuex. もと于 vue2 + vuex 构建いち具有ぐゆう 45 个页めんてき大型おおがた单页めん应用

License

Notifications You must be signed in to change notification settings

bailicangdu/vue2-elm

Repository files navigation

前言ぜんげん

README in English

初学しょがくvue时曾ざい网上搜索そうさくvueてき实战项目げん码,无奈だい部分ぶぶん简单てきdemo,对于ふかきわむvueぼつゆうふとだいてき帮助,あましたてき一些大部分都是像音乐播放器之类的展示型项目,交互こうごぼつゆう预期么复杂。ただしわが们实际在工作こうさくちゅう,经常かいぐういたゆう购物车的项目,这类项目いん为涉及到money,所以ゆえん对逻辑严谨度要求ようきゅうだか,页面交互こうご复杂,またかいともずいとう录、ちゅうさつよう户信いきとうとうつね常会じょうかい让我们很头疼。すんでしか还没じんようvueうつし过这样的项目,如我らいうつし,开源出来でき对能いたてきじん也会ゆう帮助。

这种こうのうせいてき项目很实ようただしこれ往往おうおう也很枯燥,ぼつゆうおん乐播放么看おこりらい绚丽,おもえらいおもえ发现饿了么是一个不错的素材,一来它足够复杂,开放てきそと卖平だい一般的公司独有商店更加复杂。らい 见到么多美食びしょく大家たいか也不かいかん觉到厌烦。

为啥饿了么,而不团?原因げんいん很简单,饿了么的しょく调和ぬのきょくさい漂亮てきおこりさい舒服。

此项だい大小だいしょうしょうども 45 个页めんわたる及注さつとう录、商品しょうひん展示てんじ、购物车、しも单等とう一个完整的流程。一般公司即便是官网的单页面项目都没这么复杂,如果这个项目のう驾驭てきりょうそうしんじだい部分ぶぶん公司こうしてき其他单页めん应用也就不在ふざい话下,そく便びんさら复杂,也不かい这个だかいた哪里

いん利用りよう业余时间らい做,ねんまえ就开はじめうつしまたまたが个年,周期しゅうきゆうてん长,项目从零ぬのきょくいた完成かんせい共用きょうようりょう2个多がつてき时间。

另外,这个项目慕课网视频的个饿りょう么没ゆうにんなん关系,慕课网的项目ただゆういち个页めんわがざいかんvueてきかんかたぶん档后ちょく接写せっしゃりょう这个项目,ぼつゆう参照さんしょうにん何人なんにんてきだい码,请大不要ふようこん为一谈。

ちゅう1:此项纯属个人瞎搞,正常せいじょう单请选择饿了么官かたきゃく户端。

ちゅう2:项目预览せっこう需要じゅよう使用しようhttps访问哦!

わざ术栈

vue2 + vuex + vue-router + webpack + ES6/7 + fetch + sass + flex + svg

项目运行

注意ちゅういよし于涉及大量的りょうてき ES6/7 とうしん属性ぞくせい,node 需要じゅよう 6.0 以上いじょう版本はんぽん

git clone https://github.com/bailicangdu/vue2-elm.git  

cd vue2-elm

npm install ある yarn(推荐)

npm run dev

关于せっ口数くちかずすえ

此项目的もくてき所有しょゆうせっ口数くちかずすえらいげん于配套的きさきだいけい统,きさきだい项目传送

如果そうたい验前きさきだいどう时开发,以下いか载后だいけい统。

此时启动ほん目的もくてき命令めいれい为:npm run local 而不 npm run dev。

どう时我们也提供ていきょうりょうもとelement-ui搭建てききさきだい管理かんり页面

如果ただ做前はし开发,请忽りゃく上面うわつら这几话哟~

说明

如果对您ゆう帮助,您可以点みぎ上角うえすみ "Star" 支持しじいち 谢谢! ^_^

あるもの您可以 "follow" いちわがかい不断ふだん开源さらてきゆうおもむきてき项目

开发环境 macOS 10.12.3 Chrome 56  nodejs 6.10.0

とく别感谢@bailichen, @iceRaoざい百忙之中抽出时间和我一起完成了这个项目,辛苦しんくりょう🌹

如有问题请直接ちょくせつざい Issues ちゅうひっさげあるもの您发现问题并ゆう非常ひじょうこのみてきかい决方あん,欢迎 PR 👍

项目交流こうりゅうぐん

推荐いち个 react + redux 开源项目,对reactかん兴趣てき朋友ほうゆう赶紧去ざい这里

另外いち个 vue2 + vuex てきいれ门项とうまえてき项目简单很多,非常ひじょう适合にゅう门练习。ざい这里

效果こうかえんじしめせ

查看demo请戳这里(请用chromeしゅつくえしき预览)

うつり动端扫描下方かほう维码

标功のう

  • 定位ていいこうのう -- 完成かんせい
  • 选择城市じょうし -- 完成かんせい
  • 搜索そうさく -- 完成かんせい
  • 展示てんじしょ选地附近ふきん商家しょうかれつひょう -- 完成かんせい
  • 搜索そうさく美食びしょく,餐馆 -- 完成かんせい
  • すえ距离、销量、评分、特色とくしょくさい配送はいそう方式ほうしきとう进行はいじょ筛选 -- 完成かんせい
  • 餐馆食品しょくひんれつひょう页 -- 完成かんせい
  • 购物车功のう -- 完成かんせい
  • みせ铺评价页めん -- 完成かんせい
  • 单个食品しょくひん详情页面 -- 完成かんせい
  • 商家しょうか详情页 -- 完成かんせい
  • とう录、ちゅうさつ -- 完成かんせい
  • おさむあらためみつ码 -- 完成かんせい
  • 个人中心ちゅうしん -- 完成かんせい
  • 发送短信たんしん、语音验证 -- 完成かんせい
  • しも单功のう -- 完成かんせい ✨✨🎉🎉
  • 订单れつひょう -- 完成かんせい
  • 订单详情 -- 完成かんせい
  • しも载App -- 完成かんせい
  • 添加てんか、删除、おさむあらためおさむ货地 -- 完成かんせい
  • 帐户しんいき -- 完成かんせい
  • ふく中心ちゅうしん -- 完成かんせい
  • 红包 -- 完成かんせい
  • うえ传头ぞう -- 完成かんせい
  • づけ款 -- しんわらわ做不いた啊~~

总结

1、一般いっぱんわたる及到moneyてき网页逻辑较复杂,ゆう其像饿了么这样一个开放的平台,商家しょうか食品しょくひん种类繁多はんた,页面あずか页面交互こうご复杂,ざいうつしいた 购物车 こうのう时众てきすうすえ逻辑一度让人很头疼,またぼっゆう设计せっこうapiぶん档,ただのういち摸索もさく

2、vueいん其轻りょう级的かまち在中ざいちゅう小型こがた项目中表なかおもて现亮ざい大型おおがた单页めん应用ちゅういん为vuexてき存在そんざいおもて现依しか出色しゅっしょくざい处理复杂交互こうご逻辑てき时候,vuexてき存在そんざい不可ふかあるかけてき所以ゆえん利用りよう vue + vuex 完全かんぜん以去做大がたてき单页めん项目。

3、项目うつしいた现在,从 とう录注さついたくび页、搜索そうさく商家しょうかれつひょう、购物车、しも单、订单れつひょう、个人中心ちゅうしん 一个流程走完之后、ただし对vueてき理解りかいさらふかいち层,而且对以きさきてのひらひかえ大型おおがた目的もくてき时候也有やゆう非常ひじょうてき帮助,做一个实际的项目才能对自己有很大的提升。

4、曾いち怀疑,はな几个がつてき时间做这样一个项目到底有没有意义,本来ほんらいただそう做一个小项目练练手,ぼつ想到そうとうきさきらいえつうつしえつ过坚らいきさきしょうしん一切いっさい值得てき

5、项目やめ完成かんせいきょう45个页めん

さい终目标

1、ようnode.js构建一个模拟外卖平台的后台系统。ざい这里

2、うつしまたが Android IOS てき原生げんせいAPP版本はんぽんざい这里

3、如果时间らいてき及,かいいち卖家版本はんぽん

所以ゆえんてき目的もくてき构建一个横跨前后端,うつり动IOS、Androidてきかんせいなま态圈。

。。。けい期待きたい

部分ぶぶん截图

しょう铺列ひょう

しょう铺筛选页

餐馆食品しょくひんれつひょうあずか购物车

确认订单页

搜索そうさく

とう录页

个人中心ちゅうしん

项目ぬのきょく

.
├── build                                       // webpack配置はいちぶんけん
├── config                                      // 项目つつみみち
├── elm                                         // うえ线项ぶんけんざいふく务器そく正常せいじょう访问
├── screenshots                                 // 项目截图
├── src                                         // みなもと码目录
│   ├── components                              // 组件
│   │   ├── common                              // 公共こうきょう组件
│   │   │   ├── alertTip.vue                    // 弹出かまち组件
│   │   │   ├── buyCart.vue                     // 购物车组けん
│   │   │   ├── computeTime.vue                 // たおせ计时组件
│   │   │   ├── loading.vue                     // 页面はつはじめ载数すえてき动画组件
│   │   │   ├── mixin.js                        // 组件混合こんごう(包括ほうかつ指令しれい-したひしげ载更,处理图片)
│   │   │   ├── ratingStar.vue                  // 评论てき颗星组件
│   │   │   └── shoplist.vue                    // msiteshop页面てき餐馆れつひょう公共こうきょう组件
│   │   ├── footer
│   │   │   └── footGuide.vue                   // 底部ていぶ公共こうきょう组件
│   │   └── header
│   │       └── head.vue                        // 头部公共こうきょう组件
│   ├── config                                  // 基本きほん配置はいち
│   │   ├── env.js                              // 环境きり配置はいち
│   │   ├── fetch.js                            // 获取すうすえ
│   │   ├── mUtils.js                           // 常用じょうようてきjs方法ほうほう
│   │   └── rem.js                              // px转换rem
│   ├── images                                  // 公共こうきょう图片
│   ├── page
│   │   ├── balance
│   │   │   ├── balance.vue                     // あまり额页
│   │   │   └── children
│   │   │       └── detail.vue                  // あまり额说あかり
│   │   ├── benefit
│   │   │   ├── benefit.vue                     // 红包页
│   │   │   └── children
│   │   │       ├── commend.vue                 // 推荐ゆう奖
│   │   │       ├── coupon.vue                  // 代金だいきんけん说明
│   │   │       ├── exchange.vue                // 兑换红包
│   │   │       ├── hbDescription.vue           // 红包说明
│   │   │       └── hbHistory.vue               // 历史红包
│   │   ├── city
│   │   │   └── city.vue                        // とうぜん城市じょうし页
│   │   ├── confirmOrder
│   │   │   ├── children
│   │   │   │   ├── children
│   │   │   │   │   ├── addAddress.vue          // 添加てんか页
│   │   │   │   │   └── children
│   │   │   │   │       └── searchAddress.vue   // 搜索そうさく页
│   │   │   │   ├── chooseAddress.vue           // 选择页
│   │   │   │   ├── invoice.vue                 // 选择发票页
│   │   │   │   ├── payment.vue                 // づけ款页
│   │   │   │   ├── remark.vue                  // 订单备注页
│   │   │   │   └── userValidation.vue          // よう户验证页
│   │   │   └── confirmOrder.vue                // 确认订单页
│   │   ├── download
│   │   │   └── download.vue                    // しも载App
│   │   ├── find
│   │   │   └── find.vue                        // 发现页
│   │   ├── food
│   │   │   └── food.vue                        // 食品しょくひん筛选はいじょ页
│   │   ├── forget
│   │   │   └── forget.vue                      // 忘记みつ码,おさむあらためみつ码页
│   │   ├── home
│   │   │   └── home.vue                        // くび页
│   │   ├── login
│   │   │   └── login.vue                       // とう录注さつ页
│   │   ├── msite
│   │   │   └── msite.vue                       // しょう铺列ひょう页
│   │   ├── order
│   │   │   ├── children
│   │   │   │   └── orderDetail.vue             // 订单详情页
│   │   │   └── order.vue                       // 订单れつひょう页
│   │   ├── points
│   │   │   ├── children
│   │   │   │   └── detail.vue                  // 积分说明
│   │   │   └── points.vue                      // 积分页
│   │   ├── profile
│   │   │   ├── children
│   │   │   │   ├── children
│   │   │   │   │   ├── address.vue             // 
│   │   │   │   │   └── children
│   │   │   │   │       ├── add.vue             // しんぞう
│   │   │   │   │       └── children
│   │   │   │   │           └── addDetail.vue   // 搜索そうさく
│   │   │   │   ├── info.vue                    // 帐户しんいき
│   │   │   │   └── setusername.vue             // じゅうおけよう户名
│   │   │   └── profile.vue                     // 个人中心ちゅうしん
│   │   ├── search
│   │   │   └── search.vue                      // 搜索そうさく页
│   │   ├── service
│   │   │   ├── children
│   │   │   │   └── questionDetail.vue          // 问题详情
│   │   │   └── service.vue                     // ふく中心ちゅうしん
│   │   ├── shop
│   │   │   ├── children
│   │   │   │   ├── children
│   │   │   │   │   └── shopSafe.vue            // しょう铺认证信いき页
│   │   │   │   ├── foodDetail.vue              // しょう铺信いき页
│   │   │   │   └── shopDetail.vue              // 单个しょう铺信いき页
│   │   │   └── shop.vue                        // しょう铺筛选页
│   │   └── vipcard
│   │       ├── children
│   │       │   ├── invoiceRecord.vue           // 购买记录
│   │       │   ├── useCart.vue                 // 使用しよう卡号购买
│   │       │   └── vipDescription.vue          // かい员说あかり
│   │       └── vipcard.vue                     // かい员卡办理页
│   ├── plugins                                 // 引用いんようてき插件
│   ├── router
│   │   └── router.js                           // みちよし配置はいち
│   ├── service                                 // かずすえ交互こうご统一调配
│   │   ├── getData.js                          // 获取すうすえてき统一调配ぶんけん,对接こう进行统一管理かんり
│   │   └── tempdata                            // 开发阶段てき临时すうすえ
│   ├── store                                   // vuexてきじょう管理かんり
│   │   ├── action.js                           // 配置はいちactions
│   │   ├── getters.js                          // 配置はいちgetters
│   │   ├── index.js                            // 引用いんようvuex,创建store
│   │   ├── modules                             // store块
│   │   ├── mutation-types.js                   // てい义常りょうmuationsめい
│   │   └── mutations.js                        // 配置はいちmutations
│   └── style
│       ├── common.scss                         // 公共こうきょう样式ぶんけん
│       ├── mixin.scss                          // 样式配置はいちぶんけん
│       └── swiper.min.css
│   ├── App.vue                                 // 页面入口いりくちぶんけん
│   ├── main.js                                 // ほどじょ入口いりくちぶんけん载各种公共こうきょう组件
├── favicon.ico                                 // 图标
├── index.html                                  // 入口いりくちhtmlぶんけん
.

56 directories, 203 files

License

GPL

About

Large single page application with 45 pages built on vue2 + vuex. もと于 vue2 + vuex 构建いち具有ぐゆう 45 个页めんてき大型おおがた单页めん应用

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages