日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【小程序实战系列】电商平台源码及功能实现

發布時間:2023/12/9 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【小程序实战系列】电商平台源码及功能实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者:半身風雪
上一節:什么是微信小程序


零售商城模板

  • 一、業務介紹
  • 二、項目構成
  • 三、 數據模擬
  • 四、項目部分源碼
    • 4.1、頁面路由及tabBar
    • 4.2、home 首頁


一、業務介紹

零售行業模版小程序是個經典的單店版電商小程序,涵蓋了電商的黃金鏈路流程,從商品->購物車->結算->訂單等。小程序總共包含 28 個完整的頁面,涵蓋首頁,商品詳情頁,個人中心,售后流程等基礎頁面。采用 mock 數據進行展示,提供了完整的零售商品展示、交易與售后流程。頁面詳情:

主要頁面截圖如下:

二、項目構成

零售行業模版小程序采用基礎的 JavaScript + WXSS + ESLint 進行構建,降低了使用門檻。

項目目錄結構如下:

|-- mall-starter|-- README.md|-- app.js //JavaScrip文件|-- app.json // 項目配置文件,負責窗口顏色等等|-- app.wxss //類似CSS文件|-- components // 公共組件庫|-- config // 基礎配置|-- custom-tab-bar // 自定義 tabbar|-- model // mock 數據|-- pages| |-- cart // 購物車相關頁面| |-- coupon // 優惠券相關頁面| |-- goods // 商品相關頁面| |-- home // 首頁| |-- order // 訂單售后相關頁面| |-- promotion-detail // 營銷活動頁面| |-- usercenter // 個人中心及收貨地址相關頁面|-- services // 請求接口|-- style // 公共樣式與iconfont|-- utils // 工具庫

三、 數據模擬

零售小程序采用真實的接口數據,模擬后端返回邏輯,在小程序展示完整的購物場景與購物體驗邏輯。

四、項目部分源碼

4.1、頁面路由及tabBar

{"pages": ["pages/home/home","pages/usercenter/index","pages/usercenter/person-info/index","pages/usercenter/address/list/index","pages/usercenter/address/edit/index","pages/goods/list/index","pages/goods/details/index","pages/goods/category/index","pages/goods/search/index","pages/goods/result/index","pages/cart/index","pages/order/order-confirm/index","pages/order/receipt/index","pages/order/pay-result/index","pages/order/order-list/index","pages/order/order-detail/index","pages/goods/comments/index","pages/order/apply-service/index","pages/order/after-service-list/index","pages/order/after-service-detail/index","pages/goods/comments/create/index","pages/coupon/coupon-list/index","pages/coupon/coupon-detail/index","pages/coupon/coupon-activity-goods/index","pages/promotion-detail/index","pages/order/fill-tracking-no/index","pages/order/delivery-detail/index","pages/order/invoice/index","pages/usercenter/name-edit/index"],"tabBar": {"custom": true,"color": "#666666","selectedColor": "#FF5F15","backgroundColor": "#ffffff","borderStyle": "black","list": [{"pagePath": "pages/home/home","text": "首頁"},{"pagePath": "pages/goods/category/index","text": "分類"},{"pagePath": "pages/cart/index","text": "購物車"},{"pagePath": "pages/usercenter/index","text": "我的"}]},"lazyCodeLoading": "requiredComponents","usingComponents": {},"window": {"backgroundTextStyle": "light","navigationBarBackgroundColor": "#fff","navigationBarTitleText": "Weixin","navigationBarTextStyle": "black"},"sitemapLocation": "sitemap.json","permission": {"scope.userLocation": {"desc": "你的位置信息將用于小程序位置接口的效果展示"}} }

4.2、home 首頁

// home.jsimport { fetchHome } from '../../services/home/home'; import { fetchGoodsList } from '../../services/good/fetchGoods'; import Toast from 'tdesign-miniprogram/toast/index';Page({data: {imgSrcs: [],tabList: [],goodsList: [],goodsListLoadStatus: 0,pageLoading: false,current: 1,autoplay: true,duration: 500,interval: 5000,navigation: { type: 'dots' },},goodListPagination: {index: 0,num: 20,},privateData: {tabIndex: 0,},onShow() {this.getTabBar().init();},onLoad() {this.init();},onReachBottom() {if (this.data.goodsListLoadStatus === 0) {this.loadGoodsList();}},onPullDownRefresh() {this.init();},init() {this.loadHomePage();},loadHomePage() {wx.stopPullDownRefresh();this.setData({pageLoading: true,});fetchHome().then(({ swiper, tabList }) => {this.setData({tabList,imgSrcs: swiper,pageLoading: false,});this.loadGoodsList(true);});},tabChangeHandle(e) {this.privateData.tabIndex = e.detail;this.loadGoodsList(true);},onReTry() {this.loadGoodsList();},async loadGoodsList(fresh = false) {if (fresh) {wx.pageScrollTo({scrollTop: 0,});}this.setData({ goodsListLoadStatus: 1 });const pageSize = this.goodListPagination.num;let pageIndex =this.privateData.tabIndex * pageSize + this.goodListPagination.index + 1;if (fresh) {pageIndex = 0;}try {const nextList = await fetchGoodsList(pageIndex, pageSize);this.setData({goodsList: fresh ? nextList : this.data.goodsList.concat(nextList),goodsListLoadStatus: 0,});this.goodListPagination.index = pageIndex;this.goodListPagination.num = pageSize;} catch (err) {this.setData({ goodsListLoadStatus: 3 });}},goodListClickHandle(e) {const { index } = e.detail;const { spuId } = this.data.goodsList[index];wx.navigateTo({url: `/pages/goods/details/index?spuId=${spuId}`,});},goodListAddCartHandle() {Toast({context: this,selector: '#t-toast',message: '點擊加入購物車',});},navToSearchPage() {wx.navigateTo({ url: '/pages/goods/search/index' });},navToActivityDetail({ detail }) {const { index: promotionID = 0 } = detail || {};wx.navigateTo({url: `/pages/promotion-detail/index?promotion_id=${promotionID}`,});}, }); // home.json {"navigationBarTitleText": "首頁","onReachBottomDistance": 10,"backgroundTextStyle": "light","enablePullDownRefresh": true,"usingComponents": {"t-search": "tdesign-miniprogram/search/search","t-loading": "tdesign-miniprogram/loading/loading","t-swiper": "tdesign-miniprogram/swiper/swiper","t-swiper-item": "tdesign-miniprogram/swiper/swiper-item","t-swiper-nav": "tdesign-miniprogram/swiper/swiper-nav","t-image": "/components/webp-image/index","t-icon": "tdesign-miniprogram/icon/icon","t-toast": "tdesign-miniprogram/toast/toast","t-tabs": "tdesign-miniprogram/tabs/tabs","t-tab-panel": "tdesign-miniprogram/tabs/tab-panel","goods-list": "/components/goods-list/index","load-more": "/components/load-more/index"} } <!-- home.wxml --> <view style="text-align: center" wx:if="{{pageLoading}}"><t-loadingtheme="circular"size="40rpx"loadingt-class-indicator="t-class-indicator"><span slot="text" class="loading-text">加載中...</span></t-loading> </view> <view class="home-page-header"><view class="search" bind:tap="navToSearchPage"><t-searcht-class-input="t-search__input"t-class-input-container="t-search__input-container"placeholder="iphone 13 火熱發售中"leftIcon=""disabled><t-iconslot="left-icon"prefix="wr"name="search"size="40rpx"color="#bbb"/></t-search></view><view class="swiper-wrap"><t-swiperwx:if="{{imgSrcs.length > 0}}"current="{{current}}"autoplay="{{autoplay}}"duration="{{duration}}"interval="{{interval}}"navigation="{{navigation}}"><t-swiper-item wx:for="{{imgSrcs}}" wx:key="index"><t-image src="{{item.img}}" t-class="t-image__swiper" bind:tap="navToActivityDetail" /></t-swiper-item></t-swiper></view> </view> <view class="home-page-container"><t-tabst-class="t-tabs"t-class-active="t-class-item"t-class-track="t-class-track"defaultValue="{{0}}"bind:change="tabChangeHandle"><t-tab-panelwx:for="{{tabList}}"wx:for-index="index"wx:key="index"label="{{item.text}}"value="{{item.key}}"/></t-tabs><goods-listwr-class="goods-list-container"goodsList="{{goodsList}}"bind:click="goodListClickHandle"bind:addcart="goodListAddCartHandle"/><load-more list-is-empty="{{!goodsList.length}}" status="{{goodsListLoadStatus}}" bind:retry="onReTry" /><t-toast id="t-toast" /> </view> /* home.wxss */page {box-sizing: border-box;padding-bottom: calc(env(safe-area-inset-bottom) + 96rpx); }.t-tabs.t-tabs--top .t-tabs__scroll {border-bottom: none !important; }.home-page-header {background: linear-gradient(#fff, #f5f5f5); }.home-page-container {background: #f5f5f5; }.home-page-container, .home-page-header {display: block;padding: 0 24rpx; }.home-page-header .t-search__input-container {border-radius: 32rpx !important;height: 64rpx !important; }.home-page-header .t-search__input {font-size: 28rpx !important;color: rgb(116, 116, 116) !important; }.home-page-header .swiper-wrap {margin-top: 20rpx; }.home-page-header .t-image__swiper {width: 100%;height: 300rpx;border-radius: 10rpx; }.home-page-container .t-tabs {background: #f5f5f5; }.home-page-container .t-tabs .t-tabs-nav {background-color: transparent;line-height: 80rpx;font-size: 28rpx;color: #333; }.home-page-container .t-tabs .t-tabs-scroll {border: none !important; }/* 半個字 */ .home-page-container .tab.order-nav .order-nav-item.scroll-width {min-width: 165rpx; } .home-page-container .tab .order-nav-item.active {color: #fa550f !important; }.home-page-container .tab .bottom-line {border-radius: 4rpx; }.home-page-container .tab .order-nav-item.active .bottom-line {background-color: #fa550f !important; }.home-page-container .t-class-item {color: #333333 !important;font-size: 32rpx; }.home-page-container .t-class-track {background-color: #fa4126 !important;height: 6rpx !important;border-radius: 4rpx !important;width: 48rpx !important; }.t-tabs.t-tabs--top .t-tabs__item, .t-tabs.t-tabs--bottom .t-tabs__item {height: 86rpx !important; }.home-page-container .goods-list-container {background: #f5f5f5 !important;margin-top: 24rpx; } .t-class-indicator, .loading-text {color: #b9b9b9 !important; }

算了,直接源碼下載

總結

以上是生活随笔為你收集整理的【小程序实战系列】电商平台源码及功能实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。