亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

vue2 + vuex 高度還原 餓了么 App,與官方后臺(tái)真實(shí)數(shù)據(jù)交互,獲取商品信息,實(shí)現(xiàn)登陸、購

JeOam / 2276人閱讀

摘要:注此項(xiàng)目純屬個(gè)人瞎搞,正常下單請(qǐng)選擇餓了么官方客戶端。目前下單功能已經(jīng)實(shí)現(xiàn),下單功能完全采用官網(wǎng)真實(shí)數(shù)據(jù),可以控制官網(wǎng)發(fā)短信或者打電話到指定的手機(jī)號(hào)碼,下單后可以在手機(jī)中查看并且付款。

前言

vue2的發(fā)布后自己也研究了一段時(shí)間,奈何公司的技術(shù)棧是以react為主,沒有機(jī)會(huì)好好利用vue2去做一個(gè)完整的項(xiàng)目。雖然寫了幾個(gè)demo,但和寫一個(gè)完整的項(xiàng)目還是有很大差別的。于是自己想著用空余的時(shí)間寫一個(gè)項(xiàng)目,選擇了餓了么也只是因?yàn)榻?jīng)常用,熟悉它的布局。之前的餓了么官網(wǎng)是用angular寫的,最近才發(fā)現(xiàn)原來這段時(shí)間改成了vue,看來餓了么也入了vue的坑。

既然要寫一個(gè)完整的項(xiàng)目,就要認(rèn)真對(duì)待,所以除了付款其他所有功能都盡可能的實(shí)現(xiàn),包括登陸、注冊(cè)、個(gè)人中心、搜索、購物車、下單等等,也包括所有我能注意到的細(xì)節(jié)也都一并做出來,所以這絕對(duì)算是一個(gè)比較大的項(xiàng)目。

項(xiàng)目不使用模擬數(shù)據(jù),所有數(shù)據(jù)均使用從官網(wǎng)實(shí)時(shí)獲取的真實(shí)數(shù)據(jù),最大程度實(shí)現(xiàn)和官網(wǎng)一樣的功能,所以首先遇到的問題是跨域,我們啟動(dòng)本地服務(wù)器是獲取不到官網(wǎng)數(shù)據(jù)的,這是跨域的。當(dāng)然解決的方法很多,jsonp,nginx反向代理,webpack-dev-server的proxy,這里我用的是 http-proxy-middleware 原理都是一樣的。

注:此項(xiàng)目純屬個(gè)人瞎搞,正常下單請(qǐng)選擇餓了么官方客戶端。

源碼地址:

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

效果演示
(演示效果為模擬數(shù)據(jù),只做展示用,真實(shí)效果請(qǐng)下載項(xiàng)目并運(yùn)行,即可獲取真實(shí)的官網(wǎng)數(shù)據(jù));

demo地址(請(qǐng)用chrome手機(jī)模式預(yù)覽)

移動(dòng)端掃描下方二維碼

技術(shù)棧

vue2 + vue-rotuer2 + vuex + webpack + ES6/7 + fetch + sass + flex + svg + http-proxy-middleware反向代理

目標(biāo)功能

定位功能 -- 完成

選擇城市 -- 完成

搜索地址 -- 完成

展示所選地址附近商家列表 -- 完成

搜索美食,餐館 -- 完成

根據(jù)距離、銷量、評(píng)分、特色菜、配送方式等進(jìn)行排序和篩選 -- 完成

餐館食品列表頁 -- 完成

購物車功能 -- 完成

店鋪評(píng)價(jià)頁面 -- 完成

單個(gè)食品詳情頁面 -- 完成

商家詳情頁 -- 完成

登陸、注冊(cè) -- 完成

修改密碼 -- 完成

個(gè)人中心 -- 完成

發(fā)送短信、語音驗(yàn)證 -- 完成

下單功能 -- 完成 ????

訂單列表 -- 完成

訂單詳情 -- 完成

帳戶信息

上傳頭像,修改用戶名

積分商城

服務(wù)中心

添加、刪除、修改收貨地址

付款(很難實(shí)現(xiàn))

項(xiàng)目布局
|-- build                            // webpack配置文件
|-- config                           // 項(xiàng)目打包路徑
|-- elm                                // 上線項(xiàng)目文件,放在服務(wù)器即可正常訪問
|-- screenshots                      // 項(xiàng)目截圖
|-- src                              // 源碼目錄
|   |-- components                   // 組件
|       |-- common                   // 公共組件
|            |-- buyCart.js           // 購物車組件
|            |-- loading.js           // 頁面初始化加載數(shù)據(jù)的動(dòng)畫組件
|            |-- mixin.js             // 組件混合(包括:指令-下拉加載更多,處理圖片地址)
|            |-- ratingStar.js        // 評(píng)論的五顆星組件
|            |-- shoplist.js          // msite和shop頁面的餐館列表公共組件
|       |-- footer                   // 底部公共組件
|       |-- header                      // 頭部公共組件
|   |-- config                       // 基本配置
|       |-- env.js                   // 環(huán)境切換配置
|       |-- fetch.js                 // 獲取數(shù)據(jù)
|       |-- mUtils.js                // 常用的js方法
|       |-- rem.js                   // px轉(zhuǎn)換rem
|   |-- images                       // 公共圖片
|   |-- pages                        // 頁面組件
|       |-- city                     // 當(dāng)前城市頁
|        |-- food                      // 食品篩選排序頁
|        |-- confirmOrder             // 確認(rèn)訂單頁
|          |--children
|            |--invoice                 //    選擇發(fā)票頁
|            |--remark                 //    訂單備注頁
|            |--payment                 //    付款頁
|            |--userValidation         //    用戶驗(yàn)證頁
|            |--chooseAddress         //    選擇地址頁
|              |--children
|                |--addAddress        //    添加地址頁
|                  |--children
|                    |--searchAddress // 搜索地址頁
|       |-- find                     // 發(fā)現(xiàn)頁
|       |-- forget                   // 忘記密碼,修改密碼頁
|       |-- home                     // 首頁
|       |-- login                    // 登陸注冊(cè)頁
|       |-- msite                    // 商鋪列表頁
|       |-- order                    // 訂單列表頁
|            |--children
|                |--orderDetail         // 訂單詳情頁
|       |-- profile                  // 個(gè)人中心
|            |--children
|                |--balance             // 我的余額
|                |--benefit             // 我的優(yōu)惠
|                |--info                 // 帳戶信息
|                |--points             // 我的積分
|                |--service             // 服務(wù)中心
|       |-- search                   // 搜索頁
| ? ? ? |-- shop ? ? ? ? ? ? ? ? ? ? // 商鋪篩選頁
|            |-- children             
|                  |-- foodDetail       // 商鋪信息頁     
|                  |-- shopDetail       // 單個(gè)商鋪信息頁
|                    |-- children             
|                          |-- shopSafe // 商鋪認(rèn)證信息頁     
|       |-- vipcard                  // vip辦理頁
|
|   |-- plugins                      // 引用的插件
|
|   |-- router                       // 路由配置
|
|   |-- service                      // 數(shù)據(jù)交互統(tǒng)一調(diào)配
|        |-- template                 // 開發(fā)階段的臨時(shí)數(shù)據(jù)
|        |-- getData.js               // 獲取數(shù)據(jù)的統(tǒng)一調(diào)配文件,對(duì)接口進(jìn)行統(tǒng)一管理
|
|   |-- store                        // vuex的狀態(tài)管理
|       |-- modules                  // store模塊
|       |-- action.js                // 配置actions
|       |-- getters.js               // 配置getters
|       |-- index.js                 // 引用vuex,創(chuàng)建store
|       |-- mutation-types.js        // 定義常量muations名
|       |-- mutations.js             // 配置mutations
|
|   |-- style                        // 各種樣式文件
|       |-- common.scss              // 公共樣式文件
| ? ? ? |-- mixin.scss ? ? ? ? ? ? ? // 樣式配置文件
|
|   |-- App.vue                      // 頁面入口文件
|
|   |-- main.js                      // 程序入口文件,加載各種公共組件
|
|-- .babelrc                         // ES6語法編譯配置
|-- .editorconfig                    // 代碼編寫規(guī)格
|-- .gitignore                       // 忽略的文件
|-- favicon.ico                      // 頁面左上角小圖標(biāo)
|-- index.html                       // 入口html文件
|-- package.json                     // 項(xiàng)目及工具的依賴配置文件
|-- README.md                        // 說明
總結(jié)

1、因?yàn)椴⒉皇莈lm官方,而且因?yàn)橐_代理,必須在pc端打開,所以預(yù)計(jì)最多只能做到下單這一步,下單成功后可以在手機(jī)客戶端查看并付款。

2、目前下單功能已經(jīng)實(shí)現(xiàn)????,下單功能完全采用官網(wǎng)真實(shí)數(shù)據(jù),可以控制官網(wǎng)發(fā)短信或者打電話到指定的手機(jī)號(hào)碼,下單后可以在手機(jī)App中查看并且付款。

3、一般涉及到money的網(wǎng)頁邏輯都比較復(fù)雜,尤其像餓了么這樣一個(gè)開放的平臺(tái),商家和食品種類繁多,頁面與頁面之間交互復(fù)雜,在寫到 購物車 和 下單 功能時(shí)眾多的數(shù)據(jù)和邏輯一度讓人很頭疼,又沒有設(shè)計(jì)和接口文檔,只能一步步摸索。

4、vue因其輕量級(jí)的框架在中小型項(xiàng)目中表現(xiàn)亮眼,在大型單頁面應(yīng)用中因?yàn)関uex的存在,表現(xiàn)依然出色,在處理復(fù)雜交互邏輯的時(shí)候,vuex的存在是不可或缺的。所以說利用 vue + vuex 完全可以去做大型的單頁面項(xiàng)目。

5、在項(xiàng)目中并沒有使用太多的插件,所有功能盡可能自己實(shí)現(xiàn),對(duì)插件依賴太多并不是一件好事。

6、項(xiàng)目寫到現(xiàn)在,從 登陸注冊(cè)到、首頁、搜索、商家列表、購物車、下單、訂單列表、個(gè)人中心 一個(gè)流程走完之后、不但對(duì)vue的理解更深一層,而且對(duì)以后掌控大型項(xiàng)目的時(shí)候也有非常多的幫助,做一個(gè)實(shí)際的項(xiàng)目才能對(duì)自己有很大的提升。

7、項(xiàng)目已完成的頁面共 22 個(gè),最主要的購物下單功能已經(jīng)實(shí)現(xiàn),預(yù)計(jì)全部完成后總頁面數(shù)在 35 個(gè)左右。

項(xiàng)目截圖 城市列表頁

搜索地址頁

商鋪列表頁

商鋪篩選頁

搜索頁

餐館食品列表與購物車

餐館評(píng)論頁

餐館信息頁

登陸頁

個(gè)人中心

確認(rèn)訂單頁

訂單列表頁

其他頁面正在開發(fā)中。。。
最后

本項(xiàng)目主要用于熟悉如何用 vue2 構(gòu)建一個(gè)中大型項(xiàng)目

vue在開發(fā)的過程中的體驗(yàn)很不錯(cuò),上手快、運(yùn)行效率高,餓了么從angular轉(zhuǎn)向vue不是沒有道理的,看來vue會(huì)越來越火

開發(fā)環(huán)境 macOS 10.12.3 Chrome 55

另外推薦一個(gè) react + redux 開源項(xiàng)目,對(duì)react感興趣的朋友趕緊去看看。地址在這里

個(gè)人時(shí)間有限,還有其他的項(xiàng)目要做,在此感謝辰妹子,個(gè)人中心的所有頁面都由她來完成,辛苦了!?
如果覺得不錯(cuò),請(qǐng)star一下吧 ?

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/81627.html

相關(guān)文章

  • web后臺(tái) - 收藏集 - 掘金

    摘要:請(qǐng)欣賞手把手教程后端博客系統(tǒng)文章系統(tǒng)掘金本期主要是文章保存功能,涉及到草稿文章發(fā)布?xì)v史這三個(gè)要點(diǎn)。一談?wù)勥B接管理后端掘金連接管理概述最近重讀了權(quán)威指南部分章節(jié),結(jié)合來對(duì)部分內(nèi)容進(jìn)行印證并記錄下來。 Spring Boot干貨系列:(四)開發(fā)Web應(yīng)用之Thymeleaf篇 | 掘金技術(shù)征文 - 掘金原文地址:Spring Boot干貨系列:(四)開發(fā)Web應(yīng)用之Thymeleaf篇博客...

    Me_Kun 評(píng)論0 收藏0
  • 實(shí)用性前端知識(shí) - 收藏集 - 掘金

    摘要:與面向?qū)ο缶幊塘蠓较蛑阃黄魄岸松钠脚_(tái)期前端掘金無論我們從事何種職業(yè),在職業(yè)生涯的某個(gè)階段,都或多或少會(huì)遇到所謂的平臺(tái)期。目前為止,已經(jīng)有個(gè)用戶通過認(rèn)證登觀點(diǎn)年前端初學(xué)者的生存指南前端掘金逝者如斯夫,不舍晝夜。 你可能聽說過函數(shù)式編程(Functional programming),甚至已經(jīng)使用了一段時(shí)間。 但是,你能說清楚,它到底是什么嗎? 網(wǎng)上搜索一下,你會(huì)輕松找到好多答案...

    Honwhy 評(píng)論0 收藏0
  • 大前端 - 收藏集 - 掘金

    摘要:是目前唯一一個(gè)支持同步調(diào)用的跨平臺(tái)年度上最多的個(gè)項(xiàng)目前端掘金年接近尾聲,在最近的幾篇文章中,會(huì)整理總結(jié)一些年度開源項(xiàng)目。 JS 全棧教程 - 前端 - 掘金本課程是基于阮一峰的 js 全棧教程的視頻版本,免費(fèi)供大家觀看... 2016 年 10 個(gè)最佳的 CodePen 作品 - 前端 - 掘金說到 CodePen,前端開發(fā)者們肯定不會(huì)陌生。如果說 Dribbble 是設(shè)計(jì)師們聚集的圣...

    honhon 評(píng)論0 收藏0
  • Vue仿了么app項(xiàng)目總結(jié)

    摘要:前言這是我第一個(gè)基于的項(xiàng)目作品,目的很簡單,學(xué)以致用,將之前的前端知識(shí)積累加上目前流行的前端框架,以項(xiàng)目的形式展現(xiàn)出來。即將屬性和請(qǐng)求返回?cái)?shù)據(jù)對(duì)象合并到空對(duì)象,然后賦值給這里加上即提供了一種可擴(kuò)展的機(jī)制,倘若原來的屬性中有預(yù)定義的其他屬性。 前言 這是我第一個(gè)基于 Vue 的項(xiàng)目作品,目的很簡單,學(xué)以致用,將之前的前端知識(shí)積累加上目前流行的前端框架,以項(xiàng)目的形式展現(xiàn)出來。 源代碼:ht...

    FrozenMap 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<