欧美午夜精品久久久久免费视/欧美黄色精品/国产一级A片在线播出/A片免费视频在线观看

(案例分析)vue的實戰項目源碼,值得收藏!
2023-06-15 09:04:10 歡樂點

序言

in

初學vue時曾在網上搜索vue的實戰項目源碼,無奈大部份都是簡單的demo,對于考量vue沒有太大的幫助,剩下的一些大部份都是像音樂播放器之類的展示型項目,交互沒有預期這么復雜。但我們實際在工作中,常常會碰到有購物車的項目,這類項目由于涉及到money,所以對邏輯嚴謹度要求高,頁面之間交互復雜,又會伴隨著登陸、注冊、用戶信息等等,經常會讓我們很難受。既然還沒人用vue寫過這樣的項目,那不如我來寫,開源下來對能見到的人也會有幫助。

這些功能性的項目很實用并且常常也很沉悶,沒有音樂播放器這么看上去艷麗,思來想去發覺餓了么是一個不錯的素材,一來它足夠復雜,開放的外賣平臺比通常的公司獨有商店愈加復雜。二來看到這么多小吃,你們也不會覺得到厭惡。

為何是餓了么,而不是百度,美團?緣由很簡單,三個外賣大鱷里,餓了么的色調和布局是最漂亮的,看上去最舒服。

此項目大大小小共45個頁面,涉及注冊、登錄、商品展示、購物車、下單等等外賣管理系統,是一個完整的流程。通常公司雖然是官網的單頁面項目都沒那么復雜,假如這個項目能駕馭的了,相信大部份公司的其他單頁面應用也就不在話下,雖然更復雜,也不會比這個高到那里去。

由于借助業余時間來做,年前就開始寫,又跨個年,周期有點長,項目從零布局到完成共用了2個多月的時間,目前項目早已完成,正在進行一些性能的優化,降低詳盡的注釋。

另外,這個項目和慕課網視頻的那種餓了么沒有任何關系,慕課網的項目只有一個頁面,我在看完vue的官方文檔后直接寫了這個項目,沒有參照任何人的代碼,請你們不要混為一談。

注:此項目純屬個人瞎搞,正常下單請選擇餓了么官方顧客端。

技術棧

vue2+vuex+vue-++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

npm run dev

另外

此項目有配套的后臺系統,假如想前后臺同時開發,可以下載對應的后臺系統:后臺項目傳送地址。

此時啟動項目使用:npmrunlocal而不是npmrundev。

假如只做后端開發,請忽視這句話。

說明

假如對您有幫助,您可以點右上角"Star"支持一下感謝!^_^

或則您可以""一下,我會不斷掉源更多的有趣的項目

開發環境macOS10.12.3566.10.0

非常謝謝辰女生@,在百忙之中抽出時間和我一起完成了這個項目,辛苦了

如有問題請直接在中提,或則您發覺問題并有特別好的解決方案,歡迎PR

項目交流群:(QQ)

推薦一個react+redux開源項目,對react感興趣的同學趕快去瞧瞧。地址在這兒

另外一個vue2+vuex的入門項目,比當前的項目簡單好多,特別適宜入門練習。地址在這兒

關于數據插口的說明2017-05-30

因為一些緣由,原先的數據插口難以使用,造成項目未能正常運行。之后改用建立的后臺系統插口,數據插口的格式保持了和官網的一致。并提供對應的后臺管理系統

療效演示

查看demo請戳這兒(請用手機模式預覽)

聯通端掃描下方二維碼

目標功能總結

1、因為并不是elm官方,但是由于要開代理,必須在pc端打開,最多只能做到下單這一步,下單成功后可以在手機顧客端查看并付款。

2、一般涉及到money的網頁邏輯都比較復雜,尤其像餓了么這樣一個開放的平臺,店家和乳品種類繁雜,頁面與頁面之間交互復雜,在講到購物車和下單功能時諸多的數據和邏輯一度讓人很難受,又沒有設計和插口api文檔,只能一步步摸索。

3、vue因其輕量級的框架在中大型項目中表現亮眼,在小型單頁面應用中由于vuex的存在外賣管理系統,表現仍然出眾,在處理復雜交互邏輯的時侯,vuex的存在是不可或缺的。所以說借助vue+vuex完全可以去做小型的單頁面項目。

4、項目講到如今,從登陸注冊到、首頁、搜索、商家列表、購物車、下單、訂單列表、個人中心一個流程走完以后、不但對vue的理解更深一層,并且對之后掌控小型項目的時侯也有特別多的幫助,做一個實際的項目能夠對自己有很大的提高。

5、曾一度懷疑,花幾個月的時間做這樣一個項目究竟有沒有意義,原本只是想做一個小項目練練手,沒想到后來越寫越多,不過堅持出來后我相信一切都是值得的。

6、項目早已完成,共45個頁面。

最終目標

1、用node.js建立一個模擬外賣平臺的后臺系統。地址在這兒

2、利用react-寫出跨和IOS的原生APP版本。地址在這兒

3、如果時間來的及,會出一店家版本。

所以我的目的是建立一個橫越前后端,聯通IOS、的完整生態圈。

。。。敬請期盼

部份截圖商鋪列表頁

商鋪篩選頁

餐廳乳品列表與購物車

確認訂單頁

搜索頁

登陸頁

個人中心

項目布局

.
├── build                                       // webpack配置文件
├── config                                      // 項目打包路徑
├── elm                                         // 上線項目文件,放在服務器即可正常訪問
├── screenshots                                 // 項目截圖
├── src                                         // 源碼目錄
│?? ├── components                              // 組件
│?? │?? ├── common                              // 公共組件
│?? │?? │?? ├── alertTip.vue                    // 彈出框組件
│?? │?? │?? ├── buyCart.vue                     // 購物車組件
│?? │?? │?? ├── computeTime.vue                 // 倒計時組件
│?? │?? │?? ├── loading.vue                     // 頁面初始化加載數據的動畫組件
│?? │?? │?? ├── mixin.js                        // 組件混合(包括:指令-下拉加載更多,處理圖片地址)
│?? │?? │?? ├── ratingStar.vue                  // 評論的五顆星組件
│?? │?? │?? └── shoplist.vue                    // msite和shop頁面的餐館列表公共組件
│?? │?? ├── 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

GPL

免責聲明:部分文章信息來源于網絡以及網友投稿,本站只負責對文章進行整理、排版、編輯,出于傳遞更多信息之目的,并不意味著贊同其觀點或證實其內容的真實性,如本站文章和轉稿涉及版權等問題,請作者在及時聯系本站,我們會盡快為您處理。

歡樂點

留言咨詢

×