Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
外有很多開源商城系統(tǒng),對(duì)于做外貿(mào)電子商城系統(tǒng)是絕對(duì)的很好的開源系統(tǒng),想做外貿(mào)開源網(wǎng)店系統(tǒng)的站長(zhǎng)們,不用發(fā)愁了,下面所說的英文開源網(wǎng)店系統(tǒng)總有一款適合您,仔細(xì)研究下。
1. Magento (免費(fèi)) http://www.magentocommerce.com/
Magento設(shè)計(jì)得非常靈活,具有模塊化架構(gòu)體系和豐富的功能。易于與第三方應(yīng)用系統(tǒng)無縫集成。Magento在設(shè)計(jì)上,考慮相當(dāng)全面,以模塊化架構(gòu)體系,讓應(yīng)用組合變得相當(dāng)靈活,功能也相當(dāng)豐富。
Magento開源網(wǎng)店系統(tǒng)的特點(diǎn)主要分以下幾大類: 網(wǎng)站管理 促銷和工具、 國(guó)際化支持 、SEO搜索引擎優(yōu)化 、結(jié)賬方式、 運(yùn)輸快遞、 支付方式、 客戶服務(wù)、 用戶帳戶 目錄管理、 目錄瀏覽 、產(chǎn)品展示、 分析和報(bào)表。
Magento是一套專業(yè)開源的電子商務(wù)系統(tǒng)。Magento獲得過sourceforge的2008年最佳新項(xiàng)目獎(jiǎng)。你只需要看一下 Magent 的客戶列表就能意識(shí)到這是一款多么優(yōu)秀的開源軟件。Samsung、The North Face、Stussy 和 Nespresso 都使用它來提供他們的在線商店。它被3萬商家使用,是世界上增長(zhǎng)最快的電子商務(wù)平臺(tái)。企業(yè)版需要付費(fèi),包含了大量非常有用的功能,不過社區(qū)版本,開發(fā)者定制版本,可以免費(fèi)下載使用。
2. osCommerce (免費(fèi)) http://www.oscommerce.com/
osCommerce是一套國(guó)際著名的電子商務(wù)系統(tǒng),極好的穩(wěn)定性和運(yùn)行速度受到世界各國(guó)使用者的青睞.
項(xiàng)目開始于2000年的三月由德國(guó)團(tuán)隊(duì)開發(fā),其發(fā)布至今超過213,100個(gè)在線購(gòu)物網(wǎng)站在使用該osCommerce系統(tǒng)。其火熱的開發(fā)社區(qū)。各國(guó)程序員提供的擴(kuò)展模塊超過5,500個(gè),數(shù)量還在不斷增加中。
osCommerce 遵循通用公共許可證完全免費(fèi),可以很好地迎合大多數(shù)人的需要。一點(diǎn)都不令人吃驚,考慮到它那么容易的安裝和運(yùn)行,所以它非常流行。其良好的兼容性和擴(kuò)展性使osCommerce受到國(guó)際上幾乎所有Lunix類主機(jī)商的支持,部分主機(jī)管理平臺(tái)如:“cPanel”等將其作為默認(rèn)的安裝包只要在主機(jī)管理中稍點(diǎn)鼠標(biāo)就能實(shí)現(xiàn)其基本功能的安裝。
3. OpenCart (免費(fèi)) http://www.opencart.com/
OpenCart是國(guó)外著名的開源電子商務(wù)網(wǎng)站系統(tǒng),由英國(guó)人Daniel一人獨(dú)立開發(fā),其社區(qū)非常活躍,由各國(guó)網(wǎng)友翻譯出來的語(yǔ)言包已經(jīng)達(dá)到18種,其中包括中文,俄文,法文,西班牙文,德文,日文等等。 國(guó)內(nèi)使用Opencart程序的外貿(mào)朋友很少,基本都是Zencart。
OpenCart的優(yōu)勢(shì)在于前臺(tái)界面的設(shè)計(jì)非常適合歐美購(gòu)物者的瀏覽習(xí)慣:簡(jiǎn)潔,直觀,唯美!
后臺(tái)也非常的簡(jiǎn)潔明了,而且功能強(qiáng)大,對(duì)于初學(xué)者來說非常容易上手,對(duì)于大多數(shù)經(jīng)驗(yàn)豐富的網(wǎng)店經(jīng)營(yíng)者來說,OpenCart的后臺(tái)管理功能也基本能滿足其需求。OpenCart可以說是最適合國(guó)內(nèi)用戶建設(shè)外貿(mào)網(wǎng)店的程序!
OpenCart 不僅有著漂亮的外觀,而且還有很強(qiáng)的擴(kuò)展性。你可以創(chuàng)建無限多的分類、出售無限多的商品、接受多種貨幣、使用多語(yǔ)言,以及從20種支付方式和8種運(yùn)送方式 中進(jìn)行選擇。它既對(duì)用戶友好,也對(duì)搜索引擎友好,所以能讓你在 Google 更突出。顧客可以為出售的商品評(píng)價(jià)和評(píng)分。它不如 osCommerce 流行,所以幫助和指導(dǎo)不容易找到,不過看起來很好看。
4. Spree Commerce (免費(fèi)) http://spreecommerce.com/
Spree 是一款開源的電子商務(wù)平臺(tái),由 Ruby on Rails 開發(fā)。使用 Spree 的擴(kuò)展系統(tǒng),你就可以定制自己的店鋪并讓你從競(jìng)爭(zhēng)者中脫穎而出。許多有用的功能,包括支持超過50種支付接口、單獨(dú)頁(yè)面結(jié)賬和自定義稅項(xiàng)邏輯,可以節(jié)省客 戶的時(shí)間和勞動(dòng)。它還內(nèi)置了 Google Analytics 分析。
5. PrestaShop (免費(fèi)) http://www.prestashop.com/
PrestaShop 是另一款健壯的專業(yè)級(jí)電子商務(wù)解決方案,可以下載、安裝并免費(fèi)使用。在末端,你可以使用一個(gè)全功能的后臺(tái)辦公應(yīng)用程序?qū)崟r(shí)管理在線商務(wù)(包括庫(kù)存、訂單、運(yùn)送和客戶)。客戶的付款可以使用最新的安全技術(shù)直接發(fā)送到你的商業(yè)銀行賬戶。
PrestaShop是一款針對(duì)web2.0設(shè)計(jì)的全功能、跨平臺(tái)的購(gòu)物車套件,能夠部署在支持PHP5的服務(wù)器端。PrestaShop具有良好的自定義性,安裝方便,且體積非常輕巧,整個(gè)程序只有大約6M。PrestaShop的后臺(tái)以電子商務(wù)模式設(shè)計(jì),功能強(qiáng)大。
6. VirtueMart (免費(fèi)) http://virtuemart.net/
VirtueMart站在巨人Joomla http://joomla.org/的肩膀上,系統(tǒng)擴(kuò)展性極強(qiáng)。
Joomla不是幾個(gè)人或十幾個(gè)人開發(fā)的軟件,而是全球幾十萬人參加的一場(chǎng)浩浩蕩蕩的運(yùn)動(dòng)。Joomla是目前世界上最流行的網(wǎng)站框架,見extensions.joomla.org,有幾千個(gè)擴(kuò)展。
Joomla有不少購(gòu)物系統(tǒng)的擴(kuò)展,VirtueMart是其中最強(qiáng)大的一個(gè),流行度遠(yuǎn)遠(yuǎn)超過其它競(jìng)爭(zhēng)對(duì)手,并在2009年6月被評(píng)為用戶最喜歡的 10 個(gè) Joomla 擴(kuò)展之首。VirtueMart和Joomla一樣,完全免費(fèi)。用VirtueMart做網(wǎng)店,意味著你進(jìn)入了Joomla的大家庭,你開始熟悉Joomla,以后有可能低成本整合Joomla的其他擴(kuò)展,以應(yīng)對(duì)不斷變化的電子商務(wù)的挑戰(zhàn)。
7. Ubercart (免費(fèi)) http://www.ubercart.org/
Ubercart是用來建立電子商務(wù)網(wǎng)站的,它是Drupal http://drupal.org/的一個(gè)模塊,一個(gè)后起之秀吧,現(xiàn)在用它的人不多. Ubercart和Oscommerce有一點(diǎn)點(diǎn)淵源,或者說是里面的許多東西,都是從那里直接繼承過來的. Oscommerce像Drupal一樣,是自己領(lǐng)域的開源軟件的領(lǐng)頭羊,我不知道Ubercart的作者是不是Oscommerce的核心開發(fā)人員,但 是絕對(duì)是一個(gè)讀過Oscommerce源代碼,建過n多個(gè)Oscommerce相關(guān)的網(wǎng)站,擴(kuò)展過Oscommerce的各種功能的高級(jí)程序員了。
Ubercart 專門設(shè)計(jì)用來銷售比如文件下載、活動(dòng)注冊(cè)、站點(diǎn)訪問通行證和活動(dòng)票據(jù),而不是實(shí)體產(chǎn)品。像 VirtueMart 需要集成到 Joomla! 中使用,Ubercart 必須集成到 Drupal 中使用。選用理想的模塊和主題,Drupal 用戶會(huì)覺得很舒服,不過如果不是 Drupal 用戶,我建議還是選擇一個(gè)更直接的平臺(tái)。
8. Zeuscart (免費(fèi)) http://www.zeuscart.com/
Zeuscart 最好的是它的用戶界面,非常的豐富、迷人、用戶友好,并且跟大多數(shù)的開源界面相比不那么令人討厭。專門為中小企業(yè)設(shè)計(jì),用戶可以創(chuàng)建最 SEO 友好的鏈接、禮品卡、折扣、電郵模板以及分級(jí)定價(jià),這樣大宗訂單就可以得到降價(jià)。
9. Afcommerce (免費(fèi)) http://www.afcommerce.com/
如果想讓你的電子商務(wù)平臺(tái)非常非常簡(jiǎn)單,那么 Afcommerce 或許是你的選擇。它外觀并不很好看,不管是對(duì)顧客還是用戶,不過卻可以很快上手,對(duì)于新手來說很很理想。它有一個(gè)快速的單獨(dú)結(jié)賬頁(yè)面、顧客幫助彈出窗口,并且顧客賬戶可以通過訂單自動(dòng)生成。
10. Zen Cart (免費(fèi)) http://www.zen-cart.com/
ZenCart是一個(gè)免費(fèi)、界面友好,開放式源碼的購(gòu)物車軟件。該軟件由一些銷售商、程序員、設(shè)計(jì)師和顧問們共同開發(fā),目的就是用戶能建立風(fēng)格不同的電子商務(wù)系統(tǒng)。現(xiàn)有的一些解決方案過重于編程,而不是著眼于客戶的需求。ZenCart把銷售商和購(gòu)物者的需求放在第一位。ZenCart便于安裝、便于定制并且便于管理,Zen Cart 對(duì)那些想要一個(gè)直觀的電子商務(wù)平臺(tái)不用忙亂的人很適合。它帶有一個(gè)新聞管理器、折扣優(yōu)惠、電子禮券以及其他你期望的基礎(chǔ)功能。用戶可以可以利用大量插件中 的大多數(shù)來定制他們的店鋪,讓他們的管理體驗(yàn)更加容易。然而太多的插件,使得界面變得相當(dāng)凌亂,是這個(gè)平臺(tái)的劣勢(shì)。
11. SimpleCart js (免費(fèi)) http://simplecartjs.com/
SimpleCart(js) 2.0 不僅支持 Paypal 付款,還支持 Google Checkout。你可以在購(gòu)物車中添加增加、減少和移除按鈕,你也可以重新排列項(xiàng)目、改變 HTML 標(biāo)簽,以及一切來來呈現(xiàn)心目中的購(gòu)物車。不需要數(shù)據(jù)庫(kù),不需要辯稱,也不需要頭疼。一個(gè)不到 20kb 簡(jiǎn)單的 javascript 購(gòu)物車,幾分鐘就可以安裝好。這輕量、快速、簡(jiǎn)單易用并且完全可定制,你所需要知道的僅僅是基礎(chǔ)的 HTML。
12. Tomato Cart (免費(fèi)) http://www.tomatocart.com/
TomoatoCart 是新一代的開源購(gòu)物車解決方案。它是從 osCommerce 3 獨(dú)立出來的一個(gè)分支。隨著網(wǎng)絡(luò)應(yīng)用變得越來越精細(xì),現(xiàn)代 web 2.0 技術(shù)例如 Ajax 和富因特網(wǎng)應(yīng)用提供了顯著的可用性提高并使得與網(wǎng)絡(luò)接kou-jiao互變得更快更有效。
13. CubeCart (免費(fèi)) http://www.cubecart.com/
CubeCart 非常棒。它可以非常好的集成到各種網(wǎng)站,更具顧客立場(chǎng)的觀點(diǎn)看起來也很專業(yè)。CubeCart 3 是免費(fèi)的,CubeCart 4 高級(jí)平臺(tái)要 110 英鎊。這兩者有一些顯著的不同:CubeCart 3 有3款皮膚,CubeCart 4 有5款;CubeCart 3 付款步驟有4步,CubeCart 4 只有兩步;CubeCart 3 中用戶注冊(cè)是強(qiáng)制性的,而 CubeCart 4 中是可選的等等。如果要長(zhǎng)期使用我推薦購(gòu)買 CubeCart 4,不過在此之前建議先試試 CubeCart 3 看看是否喜歡它的感覺。
14.StoreSprite (免費(fèi)) http://www.storesprite.com/
盡管實(shí)現(xiàn)了完全免費(fèi),StoreSprite 提供的許多功能只能在一些付費(fèi)和更流行的平臺(tái)找到。這些包括顧客忠誠(chéng)度、顧客評(píng)分和評(píng)論、狀態(tài)提醒、訂單跟蹤、特價(jià)商品、暢銷商品和客戶賬戶等。這款平臺(tái) 的主要缺點(diǎn)是你的店鋪會(huì)帶有可見的 StoreSprite 版權(quán)事項(xiàng),除非你花錢購(gòu)買移除。
15.RokQuickCart (免費(fèi)) http://www.rockettheme.com/extensions-joomla/rokquickcart
RokQuickCart 是 Joomla http://joomla.org/! 上一款非常非常簡(jiǎn)單的購(gòu)物車。盡管它很簡(jiǎn)單,這既是一種幫助也是一種障礙,因此它可以在幾分鐘內(nèi)建立,不過卻缺少其他平臺(tái)的一些功能,例如,它僅接受通過 Paypal 和 Google Checkout 付款。已經(jīng)說過,他一般你看起來不錯(cuò),而且產(chǎn)品圖片展示讓人印象深刻。
多數(shù)網(wǎng)站所展示的產(chǎn)品并不是只在十來種,而是成百上千種,這就是網(wǎng)站產(chǎn)品列表頁(yè)要重點(diǎn)設(shè)計(jì)的問題。據(jù)有關(guān)方面統(tǒng)計(jì),提高公司營(yíng)業(yè)額的并不是全都來自于熱銷產(chǎn)品,而是由一堆大大小小的其它產(chǎn)品累積起來的銷售量。由于在網(wǎng)絡(luò)沒那么普及的時(shí)候,很多產(chǎn)品的銷售量比較小,沒有引起太多關(guān)注。而現(xiàn)在有了網(wǎng)站的幫助,使大量客戶前來購(gòu)買,才有了這方面的數(shù)據(jù)統(tǒng)計(jì)。
轉(zhuǎn)載于佛山鎬站網(wǎng)http://www.wangluo379.cn/zixun/yejiezixun/1663.html
這就要考慮到網(wǎng)站產(chǎn)品列表頁(yè)面的設(shè)計(jì)不能只針對(duì)熱賣產(chǎn)品或者新品推薦,而是要涵蓋所有的產(chǎn)品。就是因?yàn)楫a(chǎn)品種類多,在產(chǎn)品頁(yè)面設(shè)計(jì)上要花更多心思,這都是在為客戶服務(wù),提高客戶體驗(yàn),讓客戶能夠快速的瀏覽產(chǎn)品。這方面可以參考大型的購(gòu)物平臺(tái),同樣是以銷售產(chǎn)品為主種類多的網(wǎng)站,可以借鑒這些平臺(tái)的產(chǎn)品列表設(shè)計(jì)方式,再根據(jù)公司需求特別突出產(chǎn)品的價(jià)格、質(zhì)量和服務(wù)等,以此吸引客戶下單購(gòu)買。
假如公司沒有想到其它更新穎更方便的產(chǎn)品列表頁(yè)設(shè)計(jì),那么可以考慮仿制這些大型平臺(tái)網(wǎng)站的設(shè)計(jì)風(fēng)格。這么做是考慮到客戶對(duì)平臺(tái)網(wǎng)站的熟悉度,如果用在自己的網(wǎng)站上,那么客戶操作起來更快上手。同時(shí)也有個(gè)小缺點(diǎn),就是產(chǎn)品列表頁(yè)千篇一律,看來看去都沒有新鮮感。
不管怎樣,網(wǎng)站產(chǎn)品展示列表頁(yè)的設(shè)計(jì)需要考慮到客戶體驗(yàn)。在把頁(yè)面設(shè)計(jì)得精美方便的同時(shí),要讓客戶能快速的搜索到想要的產(chǎn)品。公司建網(wǎng)站大多數(shù)都是在為客戶提供服務(wù),人性化的產(chǎn)品列表頁(yè)面設(shè)計(jì)能提高客戶體驗(yàn)度,增加對(duì)公司的印象,最終還能為公司帶來更高的營(yíng)業(yè)額。
最后要說的是企業(yè)建網(wǎng)站的時(shí)候在產(chǎn)品列表頁(yè)可按需增加一些功能展示。拿淘寶網(wǎng)來說,當(dāng)你在瀏覽產(chǎn)品的時(shí)候會(huì)看到旁邊有個(gè)小欄目在為推薦產(chǎn)品,可以參考這樣的設(shè)計(jì)添加到你的網(wǎng)站上。可以是熱賣產(chǎn)品也可以是最新產(chǎn)品。以上就是企業(yè)建網(wǎng)站關(guān)于產(chǎn)品列表頁(yè)設(shè)計(jì)的一些想法。
本實(shí)例介紹利用Vue實(shí)現(xiàn)購(gòu)物車組件,頂部可以切換標(biāo)簽“全部”、“好評(píng)”和“買過”的數(shù)據(jù),標(biāo)簽“全部”下還可以切換不同分類顯示商品;也可對(duì)商品進(jìn)行加減,并進(jìn)行跨標(biāo)簽和跨分類的最終價(jià)合計(jì);
最終效果:
一、子組件代碼如下(shoppingCart.vue),原理分析:
1、切換標(biāo)簽函數(shù)toggleType,點(diǎn)擊時(shí),賦值this.currentIndex = index,同時(shí)利用計(jì)算屬性更新menu的值,從而實(shí)現(xiàn)切換標(biāo)簽數(shù)據(jù)的功能;而this.menuTypeIndex = 0為了解決從多分類到少分類切換報(bào)錯(cuò)的問題;
2、切換分類函數(shù)toggleGoods,點(diǎn)擊時(shí),賦值this.menuTypeIndex = index,同時(shí)利用計(jì)算屬性更新goods的值,從而實(shí)現(xiàn)切換分類數(shù)據(jù)功能;
3、添加函數(shù)clickAdd,每次點(diǎn)擊時(shí),數(shù)量加1,同時(shí)利用JQ實(shí)現(xiàn)一個(gè)商品圖片從上往下掉落到配送員箱子的過程;然后箱子的數(shù)字加1,并增加原價(jià)、優(yōu)惠價(jià)和配送費(fèi)用等;
4、減少函數(shù)clickMinus,每次點(diǎn)擊時(shí),數(shù)量減1,同時(shí)減少原價(jià)、優(yōu)惠價(jià)和配送費(fèi)用等。
<template>
<div class="sc-box">
<div class="sc-type">
<ul>
<li :class="{active:currentIndex === index}" v-for="(item, index) in goodsList" :key="index" data-index="index" @click="toggleType(index)">{{item.type}}</li>
</ul>
</div>
<div class="sc-content">
<div class="sc-leftMenu" v-if="menu.length > 1">
<ul>
<li :class="{active:menuTypeIndex === index}" v-for="(item, index) in menu" :key="index" data-index="index" @click="toggleGoods(index)">{{item.menuType}}</li>
</ul>
</div>
<div class="sc-goods">
<ul>
<li v-for="(item, index) in goods" :key="index" data-index="index">
<img :class="'goods-image'+index" :src="item.imgSrc" alt="" />
<div class="goods-mes">
<div class="goods-name">{{item.name}}</div>
<div class="goods-description">{{item.description}}</div>
<div class="goods-price"><span>¥</span>{{item.price}}<span class="originalPrice">¥{{item.originalPrice}}</span></div>
<div class="goods-buttons">
<span class="button minus" @click="clickMinus(index)" v-if="item.number !== 0"><img src="../assets/images/shoppingCart/minus.png" alt="" /></span>
<span class="number" v-if="item.number !== 0">{{item.number}}</span>
<span class="button add" @click="clickAdd(index)"><img src="../assets/images/shoppingCart/add.png" alt="" /></span>
</div>
</div>
</li>
</ul>
</div>
</div>
<div class="sc-operation">
<div class="sc-contact">
<img src="../assets/images/shoppingCart/contact.png" alt="" />
<span>聯(lián)系商家</span>
</div>
<div class="sc-deliveryMes">
<div class="deliveryNumber"><img src="../assets/images/shoppingCart/delivery.png" alt="" /><span v-if="count!==0">{{count}}</span></div>
<div class="priceMes">
<div class="totalPrice">¥{{totalPrice}}<span>¥{{originalTotalPrice}}</span></div>
<div class="deliveryMes">另需配送費(fèi)¥{{totalDeliveryCost}}<span v-if="totalDeliveryCost !== 0">¥{{totalOriginalDeliveryCost}}</span> 支持自取</div>
</div>
</div>
<div class="sc-pay" @click="clickPay">去結(jié)算</div>
</div>
</div>
</template>
<script>
import $ from 'jquery'
export default {
props: {},
data() {
return {
currentIndex: 0, // 當(dāng)前類型index
menuTypeIndex: 0, // 左邊菜單index
goodsList: [{ // 整個(gè)商品數(shù)據(jù)
type: '全部',
menu: [{
menuType: '推薦',
goods: [{
name: '排骨飯?zhí)撞?#39;,
imgSrc: require('../assets/images/shoppingCart/timg1.jpg'),
description: '物美價(jià)廉',
price: 15.50,
originalPrice: 25.36,
number: 0,
deliveryCost: 1,
originalDeliveryCost: 2,
},
{
name: '宮保雞丁套餐',
imgSrc: require('../assets/images/shoppingCart/timg2.jpg'),
description: '物美價(jià)廉',
price: 5.50,
originalPrice: 25.36,
number: 0,
deliveryCost: 2,
originalDeliveryCost: 4,
}
]
}, {
menuType: '折扣',
goods: [{
name: '排骨飯?zhí)撞?#39;,
imgSrc: require('../assets/images/shoppingCart/timg1.jpg'),
description: '物美價(jià)廉',
price: 15.50,
originalPrice: 25.36,
number: 0,
deliveryCost: 1,
originalDeliveryCost: 2,
}]
}]
},
{
type: '好評(píng)',
menu: [{
menuType: '推薦',
goods: [{
name: '排骨飯?zhí)撞?#39;,
imgSrc: require('../assets/images/shoppingCart/timg1.jpg'),
description: '物美價(jià)廉',
price: 15.50,
originalPrice: 25.36,
number: 0,
deliveryCost: 1,
originalDeliveryCost: 2,
}]
}]
},
{
type: '買過',
menu: [{
menuType: '推薦',
goods: [{
name: '排骨飯?zhí)撞?#39;,
imgSrc: require('../assets/images/shoppingCart/timg1.jpg'),
description: '物美價(jià)廉',
price: 15.50,
originalPrice: 25.36,
number: 0,
deliveryCost: 1,
originalDeliveryCost: 2,
},
{
name: '宮保雞丁套餐',
imgSrc: require('../assets/images/shoppingCart/timg2.jpg'),
description: '物美價(jià)廉',
price: 5.50,
originalPrice: 25.36,
number: 0,
deliveryCost: 2,
originalDeliveryCost: 4,
}
]
}]
}
],
count: 0, // 總數(shù)量
originalTotalPrice: 0, // 原總價(jià)
totalPrice: 0, // 總價(jià)
totalDeliveryCost: 0, // 優(yōu)惠后總運(yùn)費(fèi)
totalOriginalDeliveryCost: 0, // 總運(yùn)費(fèi)
flag: true // 用來判斷是否執(zhí)行動(dòng)畫
}
},
mounted() {},
computed: {
menu() {
return this.goodsList[this.currentIndex].menu;
},
goods() {
return this.menu[this.menuTypeIndex].goods;
}
},
methods: {
toggleType(index) {
this.currentIndex = index;
this.menuTypeIndex = 0; // 默認(rèn)menu第一個(gè),解決非第一個(gè)切換時(shí)報(bào)錯(cuò)
},
toggleGoods(index) {
this.menuTypeIndex = index;
},
clickMinus(index) {
this.goods[index].number -= 1;
this.count -= 1;
// 價(jià)格變化
this.originalTotalPrice -= parseFloat(this.goods[index].originalPrice); // 原總價(jià)增加
this.totalPrice -= parseFloat(this.goods[index].price); // 優(yōu)惠總價(jià)增加
this.totalDeliveryCost -= this.goods[index].deliveryCost; // 優(yōu)惠總配送費(fèi)增加
this.totalOriginalDeliveryCost -= this.goods[index].originalDeliveryCost; // 優(yōu)惠總配送費(fèi)增加
},
clickAdd(index) {
if (this.flag) {
this.flag = false;
this.goods[index].number += 1;
let that = this;
// 動(dòng)畫跳動(dòng)效果
let count = that.count + 1;
let originalTotalPrice = parseFloat(that.originalTotalPrice) + parseFloat(that.goods[index].originalPrice); // 原總價(jià)增加
let totalPrice = parseFloat(that.totalPrice) + parseFloat(that.goods[index].price); // 優(yōu)惠總價(jià)增加
let totalDeliveryCost = that.totalDeliveryCost + that.goods[index].deliveryCost; // 優(yōu)惠總配送費(fèi)增加
let totalOriginalDeliveryCost = that.totalOriginalDeliveryCost + that.goods[index].originalDeliveryCost; // 優(yōu)惠總配送費(fèi)增加
let $initImg = $('.goods-image' + index); // 被復(fù)制的圖片對(duì)象
let $targetLocation = $('.deliveryNumber img'); // 目標(biāo)購(gòu)物車的圖片對(duì)象
let $moveImg = $initImg.clone().css({ // 生成點(diǎn)擊添加行的圖片副本,并變成圓形
'position': 'absolute',
'z-index': 99,
'width': $initImg.width() * 0.5,
'height': $initImg.height() * 0.5,
'border-radius': '50%'
}).css($initImg.offset()).appendTo('body'); // 并把位移到圖片位置且添加到body
$moveImg
.animate({ // 先勻速向左上
left: $initImg.offset().left - 30,
top: $initImg.offset().top - 50
}, 200, 'linear')
.animate({ // 然后慢慢移到目標(biāo)位置
left: $targetLocation.offset().left + $targetLocation.width() - $moveImg.width() * 1.5,
top: $targetLocation.offset().top + $targetLocation.height() - $moveImg.height() * 1.5
}, 600, () => {
$moveImg.fadeOut(100, () => { // 最后慢慢消失
$moveImg.detach(); // 刪除掉移動(dòng)對(duì)象$moveImg
that.count = count;
// 價(jià)格變化
that.originalTotalPrice = originalTotalPrice.toFixed(2);
that.totalPrice = totalPrice.toFixed(2);
that.totalDeliveryCost = totalDeliveryCost;
that.totalOriginalDeliveryCost = totalOriginalDeliveryCost;
this.flag = true;
});
})
};
},
clickPay() {
console.log(this.totalPrice, this.totalDeliveryCost);
}
}
}
</script>
<style lang="less" scoped>
.sc-box {
position: relative;
margin: 20px;
width: 375px;
height: 667px;
background-color: #fff;
.sc-type {
li {
display: inline-block;
background-color: #f5f5f5;
color: #616161;
margin-right: 10px;
height: 32px;
line-height: 32px;
width: 80px;
text-align: center;
border-radius: 8px;
cursor: pointer;
transition: all 0.3s;
&.active {
background-image: linear-gradient(to right, #fedb39, #febb2e);
color: #000;
font-weight: bold;
}
}
}
.sc-content {
margin-top: 30px;
height: 546px;
display: flex;
overflow-y: auto;
.sc-leftMenu {
height: 100%;
width: 80px;
text-align: center;
background-color: #f5f9fc;
color: #616161;
li {
cursor: pointer;
transition: all 0.3s;
height: 50px;
line-height: 50px;
&.active {
background-color: #fff;
font-weight: bold;
color: #000;
}
}
}
.sc-goods {
margin: 0 10px;
width: 100%;
li {
position: relative;
display: flex;
margin-bottom: 15px;
img {
width: 70px;
height: 70px;
border-radius: 8px;
}
.goods-mes {
margin-left: 8px;
.goods-name {
font-size: 16px;
font-weight: bold;
}
.goods-description {
margin-top: 6px;
color: #616161;
font-size: 12px;
}
.goods-price {
margin-top: 10px;
color: #ff6262;
font-size: 16px;
span {
font-size: 12px;
&.originalPrice {
color: #b4b4b4;
margin-left: 4px;
text-decoration: line-through;
}
}
}
.goods-buttons {
position: absolute;
bottom: 0;
right: 0;
.button {
display: inline-block;
width: 20px;
height: 20px;
line-height: 20px;
text-align: center;
border-radius: 50%;
cursor: pointer;
img {
width: 10px;
height: 10px;
}
}
.minus {
border: 1px solid #d0d0d0;
}
.number {
display: inline-block;
margin: 0 5px;
}
.add {
background-image: linear-gradient(to right, #fedb39, #febb2e);
}
}
}
}
}
}
.sc-operation {
position: absolute;
bottom: 0;
width: 100%;
font-size: 12px;
color: #949494;
display: flex;
.sc-contact {
display: flex;
flex-direction: column;
padding: 10px 10px 10px 15px;
background-color: #000;
border-top-left-radius: 30px;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
border-bottom-left-radius: 30px;
img {
width: 20px;
height: 20px;
margin: 0 auto 3px;
}
}
.sc-deliveryMes {
margin-left: 3px;
padding-right: 15px;
background-color: #000;
display: flex;
border-top-left-radius: 5px;
border-bottom-left-radius: 5px;
align-items: center;
.deliveryNumber {
position: relative;
img {
position: absolute;
top: -58px;
left: -18px;
width: 100px;
height: 100px;
}
span {
display: inline-block;
width: 20px;
height: 20px;
line-height: 20px;
text-align: center;
border-radius: 50%;
background-color: #ff6262;
color: #fff;
position: absolute;
left: 35px;
top: 0;
}
}
.priceMes {
margin-left: 66px;
.totalPrice {
color: #fff;
font-size: 16px;
margin-bottom: 3px;
span {
color: #949494;
margin-left: 3px;
font-size: 12px;
text-decoration: line-through;
}
}
.deliveryMes {
span {
text-decoration: line-through;
margin: 0 6px 0 3px;
}
}
}
}
.sc-pay {
font-size: 14px;
font-weight: bold;
color: #000;
line-height: 59px;
flex: 1;
text-align: center;
background-image: linear-gradient(to right, #fedb39, #febb2e);
border-top-right-radius: 30px;
border-bottom-right-radius: 30px;
cursor: pointer;
}
}
}
</style>
二、父組件代碼如下(shoppingCartPage.vue),原理分析:
父組件比較簡(jiǎn)單,主要用來調(diào)用子組件。
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。