美妆电商小程序
2026/9/12 20:13:48 网站建设 项目流程

美妆电商小程序

项目简介

这是一个完整的美妆电商平台系统,包含微信小程序端和PC管理后台。系统实现了商品展示、购物车、订单管理、地址管理、商品评价、收藏等核心电商功能,专注于美妆护肤品类,支持商品多规格SKU管理。采用前后端分离架构,适合作为微信小程序全栈开发学习项目或计算机设计参考。

技术栈

后端技术

技术版本/说明
运行环境Node.js
Web框架Express 4.16.1
数据库MySQL 5.7+
数据库驱动mysql 2.18.1
身份认证jsonwebtoken 9.0.2
文件上传multer
跨域处理cors 2.8.5
HTTP请求axios 1.6.3
热重载nodemon 3.0.2
UUID生成uuid 9.0.1

管理后台技术

技术版本/说明
前端框架Vue 2.6.11
UI组件库Element UI 2.15.6
路由管理Vue Router 3.0.7
状态管理Vuex 3.4.0
HTTP请求Axios 0.24.0
图表库ECharts 5.3.1
富文本编辑器Quill 1.3.7
CSS预处理器Less 3.0.4
粒子效果vue-particles 1.0.9

小程序端技术

技术版本/说明
开发框架微信小程序原生框架
开发语言JavaScript (ES6+)
样式语言WXSS
模板语言WXML
富文本解析wxParse

项目特点

  • 前后端分离:后端提供RESTful API,前端独立开发部署
  • 完整电商流程:涵盖商品浏览、购物车、下单、支付、评价全流程
  • 美妆专业化:专注美妆护肤品类,包含护肤、彩妆、香氛等分类
  • SKU规格管理:支持商品多规格(颜色、容量、型号等)
  • 地址管理:支持多地址管理和默认地址设置
  • 订单状态流转:待支付→已付款→待收货→已签收完整状态
  • 数据可视化:管理后台集成ECharts图表展示
  • 富文本支持:支持富文本商品详情编辑和展示

功能模块

小程序端功能

1. 首页模块 (pages/index)
  • 轮播图展示
  • 商品分类导航
  • 热门商品推荐
  • 新品上市展示
  • 搜索功能入口
2. 商品分类模块 (pages/cate)
  • 按分类浏览商品
  • 分类列表展示
  • 商品筛选
3. 商品详情模块 (pages/detail)
  • 商品图片轮播展示
  • 商品基本信息(名称、价格、规格)
  • SKU规格选择(颜色、容量等)
  • 商品详情富文本展示
  • 用户评价查看
  • 收藏功能
  • 加入购物车
  • 立即购买
4. 搜索模块 (pages/search)
  • 关键词搜索
  • 搜索结果展示
  • 搜索历史
5. 购物车模块 (pages/shopCart)
  • 购物车商品列表
  • 商品数量修改
  • 商品删除
  • 全选/取消全选
  • 价格计算
  • 去结算
6. 订单模块
  • 订单确认 (pages/comfirm)
  • 订单列表 (pages/orderList)
  • 订单详情 (pages/orderDetail)
  • 订单状态查看
7. 地址管理模块
  • 地址列表 (pages/addressList)
  • 新增/编辑地址 (pages/addressAddUpdate)
  • 设置默认地址
  • 省市区选择
8. 评价模块 (pages/comment)
  • 商品评价
  • 上传评价图片
  • 评价列表查看
9. 个人中心模块 (pages/my)
  • 用户信息展示
  • 我的收藏 (pages/star)
  • 我的订单
  • 问题反馈 (pages/question)
  • 用户信息编辑 (pages/userInfo)

管理后台功能

1. 首页仪表盘 (Welcome.vue)
  • 数据统计概览
  • 销售图表展示
  • 订单趋势分析
2. 分类管理 (Cate)
  • 商品分类列表
  • 新增/编辑/删除分类
  • 分类图标上传
  • 分类排序
3. 商品管理 (Product)
  • 商品信息列表
  • 新增/编辑/删除商品
  • 商品图片上传
  • SKU规格管理(属性键值配置)
  • 热门/新品标记
  • 富文本详情编辑
  • 库存管理
4. 订单管理 (Order)
  • 订单列表
  • 订单状态管理
  • 发货处理
  • 订单详情查看
  • 订单统计
5. 用户管理 (User.vue)
  • 用户列表
  • 用户信息查看
  • 用户状态管理
6. 收藏管理 (Star.vue)
  • 收藏记录列表
  • 收藏统计分析
7. 问题反馈 (Question.vue)
  • 用户反馈列表
  • 回复处理

项目结构

beauty-all-mini-program/ ├── admin/ # 管理后台(Vue2 + Element UI) │ ├── public/ # 静态资源 │ ├── src/ │ │ ├── api/ # API接口封装 │ │ ├── assets/ # 静态资源 │ │ ├── components/ # 公共组件 │ │ ├── filters/ # 过滤器 │ │ ├── router/ # 路由配置 │ │ ├── store/ # Vuex状态管理 │ │ ├── utils/ # 工具函数 │ │ ├── views/ # 页面视图 │ │ │ ├── Cate/ # 分类管理 │ │ │ ├── Order/ # 订单管理 │ │ │ ├── Product/ # 商品管理 │ │ │ ├── Home.vue # 主布局 │ │ │ ├── Login.vue # 登录页 │ │ │ ├── Question.vue # 问题反馈 │ │ │ ├── Star.vue # 收藏管理 │ │ │ ├── User.vue # 用户管理 │ │ │ └── Welcome.vue # 首页仪表盘 │ │ ├── App.vue # 根组件 │ │ └── main.js # 入口文件 │ ├── package.json │ └── vue.config.js # Vue配置 │ ├── express/ # 后端服务(Express + MySQL) │ ├── bin/ │ │ └── www # 启动入口 │ ├── config/ │ │ ├── db.js # 数据库配置 │ │ └── index.js # 全局配置 │ ├── public/ │ │ └── images/ # 上传图片存储 │ ├── routes/ │ │ ├── admin/ # 管理端API │ │ │ ├── alldata.js # 统计数据接口 │ │ │ ├── cate.js # 分类接口 │ │ │ ├── comment.js # 评论接口 │ │ │ ├── order.js # 订单接口 │ │ │ ├── product.js # 商品接口 │ │ │ ├── question.js # 问题反馈接口 │ │ │ ├── star.js # 收藏接口 │ │ │ └── user.js # 用户接口 │ │ ├── web/ # 小程序端API │ │ │ ├── address.js # 地址接口 │ │ │ ├── cate.js # 分类接口 │ │ │ ├── comment.js # 评论接口 │ │ │ ├── order.js # 订单接口 │ │ │ ├── product.js # 商品接口 │ │ │ ├── question.js # 问题反馈接口 │ │ │ ├── shopcart.js # 购物车接口 │ │ │ ├── star.js # 收藏接口 │ │ │ └── user.js # 用户接口 │ │ ├── index.js # 路由入口 │ │ └── upload.js # 文件上传 │ ├── util/ │ │ ├── index.js # 工具函数 │ │ └── wechat.js # 微信相关工具 │ ├── app.js # Express应用配置 │ └── package.json │ ├── min/ # 微信小程序 │ ├── components/ # 自定义组件 │ │ ├── productItem/ # 商品列表项组件 │ │ └── wxParse/ # 富文本解析组件 │ ├── images/ # 图片资源 │ │ ├── order/ # 订单相关图标 │ │ └── tabbar/ # TabBar图标 │ ├── pages/ # 页面目录 │ │ ├── index/ # 首页 │ │ ├── cate/ # 分类页 │ │ ├── search/ # 搜索页 │ │ ├── detail/ # 商品详情 │ │ ├── shopCart/ # 购物车 │ │ ├── comfirm/ # 订单确认 │ │ ├── orderList/ # 订单列表 │ │ ├── orderDetail/ # 订单详情 │ │ ├── addressList/ # 地址列表 │ │ ├── addressAddUpdate/ # 地址编辑 │ │ ├── comment/ # 评价页 │ │ ├── star/ # 我的收藏 │ │ ├── my/ # 个人中心 │ │ ├── userInfo/ # 用户信息 │ │ └── question/ # 问题反馈 │ ├── utils/ │ │ ├── api.js # API接口封装 │ │ ├── request.js # 请求封装 │ │ ├── feedback.js # 反馈工具 │ │ └── util.js # 工具函数 │ ├── app.js # 小程序入口 │ ├── app.json # 小程序配置 │ ├── app.wxss # 全局样式 │ └── project.config.json # 项目配置 │ ├── 图片资源/ # 项目图片资源 ├── mzShop.sql # 数据库SQL文件 ├── mysql.sh # MySQL脚本 ├── mysql操作手册.md # MySQL操作说明 ├── 数据库创建方法.md # 数据库创建说明 ├── 新 - 运行必读.docx # 运行说明文档 ├── 电商小程序.xmind # 项目思维导图 ├── 美妆商城-小程序.mp4 # 小程序演示视频 └── 美妆商城-admin.mp4 # 管理后台演示视频

数据模型

用户表 (user)

字段类型说明
idint用户ID,主键自增
usernamevarchar(10)用户名
nicknamevarchar(255)昵称
avatarvarchar(1000)头像
openIdvarchar(100)微信OpenID
phonevarchar(11)手机号
passwordvarchar(100)密码
roleint角色 (0普通用户, 99管理员)
activeint状态 (0禁用, 1正常)
sexint性别
create_timetimestamp创建时间
update_timetimestamp更新时间

商品表 (product)

字段类型说明
idint商品ID,主键自增
titlevarchar(255)商品名称
contentlongtext商品详情(富文本)
covervarchar(255)封面图
imgslongtext图集
is_hotint是否热门 (0否 1是)
is_newint是否最新 (0否 1是)
is_likeint是否推荐 (0否 1是)
remarkvarchar(100)备注
cate_idint分类ID
price_mindouble最低价格
price_maxdouble最高价格
limitint限购数量
sku_lengthintSKU数量
create_timetimestamp创建时间
update_timetimestamp更新时间

分类表 (cate)

字段类型说明
idint分类ID,主键自增
titlevarchar(100)分类名称
covervarchar(100)分类图标
create_timetimestamp创建时间
update_timetimestamp更新时间

商品属性键表 (product_attr_key)

字段类型说明
idint属性键ID,主键自增
namevarchar(255)属性名称(如颜色、尺寸)
product_idint关联商品ID
created_attimestamp创建时间
updated_attimestamp更新时间

商品属性值表 (product_attr_value)

字段类型说明
idint属性值ID,主键自增
valuevarchar(255)属性值(如红色、XL)
product_attr_key_idint关联属性键ID
product_idint关联商品ID
created_attimestamp创建时间
updated_attimestamp更新时间

商品SKU表 (product_sku)

字段类型说明
idintSKU ID,主键自增
product_idint关联商品ID
pricedecimal(10,2)售价
origin_pricedecimal(10,2)原价
stockint库存
product_attr_value_idsvarchar(255)关联属性值ID
covervarchar(255)SKU封面图
specsvarchar(1000)规格信息
created_attimestamp创建时间
updated_attimestamp更新时间

订单表 (orders)

字段类型说明
idint订单ID,主键自增
user_idint用户ID
total_pricedouble订单总价
phonevarchar(100)联系电话
usernamevarchar(100)收货人
addressvarchar(100)收货地址
statusint状态 (0待支付 1已付款 2待收货 3已签收 4已取消 5已退款)
order_novarchar(30)订单号
express_numvarchar(30)快递单号
create_timetimestamp下单时间
pay_timetimestamp付款时间
send_timetimestamp发货时间
update_timetimestamp更新时间

订单详情表 (order_detail)

字段类型说明
idint详情ID,主键自增
user_idint用户ID
order_idint订单ID
product_idint商品ID
product_titlevarchar(1000)商品名称
product_covervarchar(1000)商品图片
product_pricedouble商品单价
product_countint商品数量
product_price_totaldouble商品总价
sku_idintSKU ID
specsvarchar(1000)规格信息
create_timetimestamp创建时间
update_timetimestamp更新时间

地址表 (address)

字段类型说明
idint地址ID,主键自增
user_idint用户ID
usernamevarchar(100)收货人
phonevarchar(100)联系电话
provincevarchar(100)省份
cityvarchar(100)城市
districtvarchar(100)区县
addressvarchar(1000)详细地址
address_detailvarchar(100)门牌号
is_defaultint是否默认 (0否 1是)
create_timetimestamp创建时间
update_timetimestamp更新时间

购物车表 (shop_cart)

字段类型说明
idint购物车ID,主键自增
user_idint用户ID
product_idint商品ID
product_countint商品数量
sku_idintSKU ID
create_timetimestamp创建时间
update_timetimestamp更新时间

评论表 (comment)

字段类型说明
idint评论ID,主键自增
user_idint用户ID
product_idint商品ID
order_idint订单ID
contentvarchar(1000)评论内容
covervarchar(1000)评论图片
create_timetimestamp创建时间
update_timetimestamp更新时间

收藏表 (star)

字段类型说明
idint收藏ID,主键自增
user_idint用户ID
product_idint商品ID
create_timetimestamp创建时间
update_timetimestamp更新时间

问题反馈表 (question)

字段类型说明
idint反馈ID,主键自增
user_idint用户ID
covervarchar(2000)图片
remarkvarchar(1000)反馈内容
emailvarchar(100)邮箱
replyvarchar(1000)回复内容
create_timetimestamp创建时间
update_timetimestamp更新时间

美妆商品分类

分类名称说明
臻享高端臻品系列
护肤护肤品类(洁面、爽肤水、精华、面霜等)
彩妆彩妆品类(粉底、眼影、腮红等)
香氛香水香氛类
礼物礼盒套装
健康健康美容类
口红口红唇膏类
香水香水类

订单状态说明

状态码状态名称说明
0待支付订单已创建,等待支付
1已付款支付成功,等待发货
2待收货已发货,等待收货
3已签收订单完成
4已取消订单已取消
5已退款订单已退款

运行环境要求

后端环境

  • Node.js 14.0+
  • MySQL 5.7+ / 8.0+
  • npm 或 yarn

管理后台

  • Node.js 14.0+
  • npm 或 yarn
  • 现代浏览器(Chrome、Firefox、Edge等)

小程序端

  • 微信开发者工具(最新稳定版)
  • 基础库版本 2.19.0+
  • 需要有效的AppID

快速开始

1. 数据库配置

  1. 创建MySQL数据库
CREATEDATABASEmzShopCHARACTERSETutf8mb4COLLATEutf8mb4_general_ci;
  1. 导入数据库文件
mysql-uroot-pmzShop<mzShop.sql
  1. 修改数据库配置
    编辑express/config/db.js,修改数据库连接信息:
{database:"mzShop",port:"3306",host:"localhost",user:"root",password:"你的密码"}

2. 启动后端服务

# 进入后端目录cdexpress# 安装依赖npminstall# 启动服务(开发模式)npmrun dev

后端服务默认运行在http://localhost:5002

3. 启动管理后台

# 进入管理后台目录cdadmin# 安装依赖npminstall# 启动开发服务器npmrun dev

管理后台默认运行在http://localhost:8080

4. 运行小程序

  1. 打开微信开发者工具
  2. 选择"导入项目"
  3. 选择min目录
  4. 填入AppID(可使用测试号)
  5. 点击"导入"

5. 配置小程序API地址

编辑min/utils/request.js,修改API基础地址:

constbaseUrl='http://localhost:5002';// 修改为你的后端地址

默认账号

管理后台

  • 手机号:1871502XXXX
  • 密码:123456

小程序端

  • 支持微信授权登录
  • 或使用手机号登录

界面预览

项目包含演示视频文件:

  • 美妆商城-小程序.mp4- 小程序端完整功能演示
  • 美妆商城-admin.mp4- 管理后台完整功能演示

扩展建议

如需进一步完善项目,可考虑以下扩展:

  1. 微信支付:集成微信支付功能
  2. 肌肤测试:AI肌肤检测和产品推荐
  3. 美妆教程:视频教程和美妆技巧
  4. 会员等级:VIP会员体系和积分系统
  5. 优惠券系统:优惠券领取和使用
  6. 拼团功能:多人拼团购买
  7. 直播带货:直播购物功能
  8. AR试妆:虚拟试妆功能
  9. 社区功能:用户分享和互动
  10. 物流追踪:接入物流查询API

注意事项

  1. 本项目为学习演示项目,部分数据为模拟数据
  2. 生产环境部署需要配置HTTPS
  3. 小程序上线需要完成微信认证和相关资质审核
  4. 涉及电商交易需符合相关法规要求
  5. 建议定期备份数据库数据

常见问题

Q: 数据库连接失败?

A: 检查MySQL服务是否启动,数据库配置是否正确

Q: 图片无法显示?

A: 检查后端服务是否启动,图片路径配置是否正确

Q: 小程序无法请求后端?

A: 检查request.js中的baseUrl配置,开发时需在微信开发者工具中关闭"不校验合法域名"

Q: 管理后台登录失败?

A: 确认数据库中user表有管理员账号(role=99)

Q: 商品SKU无法选择?

A: 检查商品是否正确配置了SKU规格信息(属性键和属性值)

许可证

本项目仅供学习交流使用,请勿用于商业用途。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询