• 微信小程序电商实战(-)商城首页


    首先在app.json中配置页面和底部tabbar

    {
        "pages":[
            "pages/index/index",
            "pages/kind/kind",
            "pages/car/car",
            "pages/my/my" 
        ],
        "window":{
            "backgroundTextStyle": "dark",
            "navigationBarBackgroundColor": "#50a7e4",
            "navigationBarTitleText": "首页",
            "navigationBarTextStyle": "#fff",
            "enablePullDownRefresh": "true"
        },
        "tabBar": {
            "color": "#666",
            "selectedColor": "#41a5e5",
            "fontSize": "28rpx",
            "list": [
                {
                    "pagePath": "pages/index/index",
                    "text": "首页",
                    "iconPath": "pages/images/home.png",
                    "selectedIconPath": "pages/images/home_in.png"
                }, 
                {
                    "pagePath": "pages/kind/kind",
                    "text": "分类",
                    "iconPath": "pages/images/kind.png",
                    "selectedIconPath": "pages/images/kind_in.png"
                }, 
                {
                    "pagePath": "pages/car/car",
                    "text": "购物车",
                    "iconPath": "pages/images/car.png",
                    "selectedIconPath": "pages/images/car_in.png"
                }, 
                {
                    "pagePath": "pages/my/my",
                    "text": "我的",
                    "iconPath": "pages/images/mine.png",
                    "selectedIconPath": "pages/images/mine_in.png"
                }
            ]
        },
        "networkTimeout": {
            "request": 10000,
            "downloadFile": 10000
        },
        "debug": true
    }

    正式开始写代码了,首先是index.wxml

    <scroll-view scroll-y="true">
        <!-- 轮播图部分开始  -->
        <view class="banner">
            <swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}" indicator-color="rgba(228,228,228,1)" indicator-active-color="#FECA49">
                <block wx:for="{{imgUrls}}">
                    <swiper-item>
                        <image src="{{item}}" class="slide-image" width="355" height="200" />
                    </swiper-item>
                </block>
            </swiper>
        </view>
        <!-- 轮播图部分结束 -->
        <!-- 搜索部分开始 -->
        <view class="search" bindtap='search'>
            <image src="../images/search.png"></image>
            <text>搜索商品</text>
        </view>
        <!-- 搜索部分结束 -->
        <!-- 特价列表开始 -->
        <view class="specialPrice">
            <view class="title">今日特价</view>
            <block wx:for="{{goodsList}}">
                <view class="goodsList">
                    <image class="goodsPic" src='{{item.imgUrl}}' bindtap='goToDetail'></image>
                    <view class="goodsInfo">
                        <view class="goodsTitle ellipsis2">{{item.title}}</view>
                        <view class="price">
                            <text class="fl newPrice">¥{{item.newPrice}}</text>
                            <text class="fl oldPrice">¥{{item.oldPrice}}</text>
                            <view>
                                <image class="fr car1" src='../images/car1.png' bindtap='showCar' data-id="{{item.id}}"></image>
                            </view>
                        </view>
                    </view>
                </view>
            </block>
        </view>
        <!-- 特价列表结束 -->
    </scroll-view>

    接着index.wxss

    .banner {
        width: 100%;
    }
    
    swiper {
        height: 240rpx;
    }
    
    image {
        width: 100%;
        display: block;
    }
    
    .kindList {
        padding-top: 20rpx;
        background: #fff;
    }
    
    .kindList .flex-item {
        float: left;
        width: 25%;
        text-align: center;
    }
    
    .flex-item image {
        width: 100rpx;
        height: 100rpx;
        margin: 0 auto;
    }
    
    .imageGroup image {
        width: 100px;
        height: 100px;
    }
    
    .flex-item text {
        text-align: center;
        padding: 10rpx 0 20rpx;
        display: block;
        font-size: 28rpx;
    }
    
    .search {
        display: -webkit-flex;
        display: flex;
        align-items: center;
        width: 86%;
        padding: 12rpx 0;
        margin: 30rpx auto;
        border: 1px solid #d8d8d8;
        border-radius: 16rpx;
        background: #fff;
        color: #999;
    }
    
    .search image {
        width: 40rpx;
        height: 40rpx;
        margin: 0 10rpx;
    }
    
    .specialPrice {
        padding: 0 30rpx;
    }
    
    .title {
        margin: 20rpx 0;
        border-bottom: 1px solid #d8d8d8;
        padding-bottom: 10rpx;
        font-size: 36rpx;
        font-weight: bold;
    }
    
    .goodsList {
        padding: 20rpx;
        border-bottom: 1px solid #d8d8d8;
        display: -webkit-flex;
        display: flex;
    }
    
    .goodsList:last-child {
        border-bottom: none;
    }
    
    .goodsList .goodsPic {
        width: 180rpx;
        height: 180rpx;
        border: 1px solid #d8d8d8;
    }
    
    .goodsInfo {
        padding: 0 20rpx;
        position: relative;
        flex: 1;
    }
    
    .goodsTitle {
        font-size: 32rpx;
        font-family: '微软雅黑';
    }
    
    .price {
        position: absolute;
        left: 20rpx;
        bottom: 0;
        width: 100%;
        display: -webkit-flex;
        display: flex;
        align-items: flex-end;
    }
    
    .price .newPrice {
        font-size: 36rpx;
        margin-top: 10rpx;
        margin-right: 10rpx;
    }
    
    .price .oldPrice {
        text-decoration: line-through;
        color: #d8d8d8;
        font-size: 28rpx;
        margin-top: 20rpx;
        align-items: -webkit-flex-end;
    }
    
    .price view {
        flex: 1;
    }
    
    .car1 {
        width: 56rpx;
        height: 56rpx;
        background: #50a7e4;
        border-radius: 50%;
    }

    最后是index.js

    //index.js
    //获取应用实例
    var app = getApp()
    Page({
        data: {
            hidden: true,
            count: '1',
            imgUrls: [
                'http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg',
                'http://img06.tooopen.com/images/20160818/tooopen_sy_175866434296.jpg',
                'http://img06.tooopen.com/images/20160818/tooopen_sy_175833047715.jpg'
            ],
            indicatorDots: true,
            autoplay: false,
            interval: 5000,
            duration: 1000,
            goodsList: [
                {
                    id: 132,
                    imgUrl: 'https://img.alicdn.com/bao/uploaded/i1/858568558/TB2JQ.tbnAKL1JjSZFCXXXFspXa_!!858568558.jpg_b.jpg',
                    title: '特仑苏整箱装特仑苏整箱装',
                    oldPrice: 56,
                    newPrice: 40
                },
                {
                    id: 122,
                    imgUrl: 'https://img.alicdn.com/bao/uploaded/i4/725677994/TB1nWgGaHsTMeJjy1zeXXcOCVXa_!!2-item_pic.png_b.jpg',
                    title: '卫龙辣条100g装',
                    oldPrice: 4,
                    newPrice: 3
                },
                {
                    id: 302,
                    imgUrl: 'https://img.alicdn.com/bao/uploaded/i3/494858290/TB1.jYocxHI8KJjy1zbXXaxdpXa_!!0-item_pic.jpg_b.jpg',
                    title: '洁丽雅纯棉毛巾',
                    oldPrice: 9.9,
                    newPrice: 8.8
                },
                {
                    id: 498,
                    imgUrl: 'https://img.alicdn.com/bao/uploaded/i1/858568558/TB2JQ.tbnAKL1JjSZFCXXXFspXa_!!858568558.jpg_b.jpg',
                    title: '特仑苏整箱装特仑苏整箱装',
                    oldPrice: 56,
                    newPrice: 40
                },
                {
                    id: 588,
                    imgUrl: 'https://img.alicdn.com/bao/uploaded/i4/725677994/TB1nWgGaHsTMeJjy1zeXXcOCVXa_!!2-item_pic.png_b.jpg',
                    title: '卫龙辣条100g装',
                    oldPrice: 4,
                    newPrice: 3
                },
                {
    
                    id: 600,
                    imgUrl: 'https://img.alicdn.com/bao/uploaded/i3/494858290/TB1.jYocxHI8KJjy1zbXXaxdpXa_!!0-item_pic.jpg_b.jpg',
                    title: '洁丽雅纯棉毛巾',
                    oldPrice: 9.9,
                    newPrice: 8.8
                }
            ]
        },
        onLoad: function () {
            var that = this
            //调用应用实例的方法获取全局数据
            app.getUserInfo(function (userInfo) {
                //更新数据
                that.setData({
                    userInfo: userInfo
                })
            })
            wx.getSystemInfo({
                success: function (res) {
                    that.setData({
                        height: res.windowHeight + 'px'
                    });
                }
            })
        },
        search: function (e) {
            wx.navigateTo({
                url: '/pages/search/search'
            })
        }
    })

    到这里,一个精美的微信小程序商城首页就呈现给大家了,如果发现有什么问题,可以留言交流。

    后续会慢慢更新一个完整的项目。如果您看了觉得对您有帮助,请支持一下,谢谢

  • 相关阅读:
    MongoDB数据库学习总结
    windows及linux环境下永久修改pip镜像源的方法
    enumerate枚举函数
    sum求和函数
    zip拉链函数
    python实现面对面快传
    redis实现发布订阅
    python自定义classmethod
    Nginx为什么支持那么高的并发量?
    java进阶(28)--Map集合
  • 原文地址:https://www.cnblogs.com/chengkun101/p/7857202.html
Copyright © 2020-2023  润新知