demo1984s 的个人博客
本项目旨在开发一款简单的电商小程序,主要功能包括:
我们将从零开始,逐步实现这些功能,最终实现一个完整的小程序电商应用。整个项目使用微信小程序的标准开发工具和云开发功能,适合开发者通过实战掌握微信小程序的开发技巧。
本篇为《电商小程序实战》第一篇:开发环境搭建。
要开发微信小程序,首先需要安装微信开发者工具并配置开发环境。以下是详细步骤:

创建一个新的微信小程序项目后,你将看到以下的默认目录结构:

为了方便后续项目开发,我们新建部分目录如下:
/ecommerce-miniprogram
├── /assets // 存放图片、图标等静态资源
├── /components // 通用组件
├── /pages // 页面目录
│ ├── /login // 登录页面
│ ├── /profile // 用户信息管理页面
│ ├── /order // 订单管理页面
│ ├── /product // 商品展示页面
│ ├── /cart // 购物车页面
│ ├── /checkout // 结算页面
│ ├── /payment // 支付页面
│ └── /faq // FAQ 页面
├── /utils // 工具函数
├── app.js // 小程序主入口文件
├── app.json // 小程序配置文件
└── app.wxss // 小程序全局样式文件
app.json{
"pages": [
"pages/index/index",
"pages/cart/cart",
"pages/order/order"
],
"window": {
"navigationBarBackgroundColor": "#ff6600",
"navigationBarTitleText": "电商小程序",
"navigationBarTextStyle": "white"
}
}
pages:数组中列出了所有的页面路径。当我们需要新增页面模块的时候,可以在这里进行配置并保存,开发工具会自动生成对应的模块目录及文件。window:设置小程序的导航栏样式,包括背景颜色、标题文本颜色等。在 miniprogram/pages/ 目录下,我们将创建多个页面。例如:
index:商品展示页cart:购物车页order:订单提交页接下来,我们创建首页 index 页面。
在 miniprogram/pages/index/index 文件夹下,创建以下文件:
index.wxml:页面结构index.wxss:页面样式index.js:页面逻辑index.json:页面配置(可选)首先,我们创建一个简单的商品展示页面,使用 swiper 组件展示商品图片,使用 view 和 text 组件显示商品信息。
<!-- index.wxml -->
<view class="container">
<!-- 商品轮播图 -->
<swiper class="swiper-container" autoplay="true" interval="3000" circular="true">
<swiper-item wx:for="{{banner}}" wx:key="index">
<image class="swiper-image" src="{{item.imageUrl}}" mode="aspectFill"></image>
</swiper-item>
</swiper>
<!-- 商品列表 -->
<view class="product-list">
<view class="product-item" wx:for="{{products}}" wx:key="index">
<image class="product-image" src="{{item.imageUrl}}" mode="aspectFill"></image>
<view class="product-info">
<text class="product-name">{{item.name}}</text>
<text class="product-price">{{item.price}}元</text>
</view>
</view>
</view>
</view>
swiper 组件用于展示商品的轮播图。view 和 text 用于展示商品的图片、名称和价格。接下来,我们为页面添加样式。
/* index.wxss */
.container {
padding: 10px;
}
.swiper-container {
width: 100%;
height: 200px;
}
.swiper-image {
width: 100%;
height: 200px;
}
.product-list {
display: flex;
flex-wrap: wrap;
margin-top: 20px;
}
.product-item {
width: 50%;
padding: 10px;
}
.product-image {
width: 100%;
height: 150px;
}
.product-info {
margin-top: 10px;
}
.product-name {
font-size: 16px;
font-weight: bold;
}
.product-price {
font-size: 14px;
color: #ff6600;
}
设置了商品展示页面的布局、图片尺寸和文字样式。在 index.js 文件中,编写页面的 JavaScript 逻辑,加载商品数据和轮播图数据。
// index.js
Page({
data: {
banner: [
{ imageUrl: 'https://example.com/banner1.jpg' },
{ imageUrl: 'https://example.com/banner2.jpg' },
{ imageUrl: 'https://example.com/banner3.jpg' }
],
products: [
{ name: '商品1', price: 99, imageUrl: 'https://example.com/product1.jpg' },
{ name: '商品2', price: 199, imageUrl: 'https://example.com/product2.jpg' },
{ name: '商品3', price: 299, imageUrl: 'https://example.com/product3.jpg' },
{ name: '商品4', price: 399, imageUrl: 'https://example.com/product4.jpg' }
]
},
onLoad: function () {
// 模拟获取商品数据
console.log('首页加载');
}
});
data 中存储了商品和轮播图的数据。onLoad 生命周期函数会在页面加载时执行,可以用于模拟获 取数据。如果你有特殊的页面配置需求,可以在 index.json 文件中进行设置。例如,设置页面的标题:
{
"navigationBarTitleText": "首页"
}
在本篇文章中,我们:
接下来的篇章中,我们将逐步实现购物车功能、订单提交、支付集成等功能,完成这个电商小程序的开发。
在下一篇文章中,我们将实现 购物车功能,包括商品的添加、删除、修改数量等功能,并通过本地存储来管理购物车数据。