最新下载
openaishop
思翔企(事)业单位文件柜 build 20080313
雅龙智能装备工业设备类WordPress主题1.0
卡密分发系统
store-server高仿小米商城
24小时阅读排行榜
- 1 C++ vector怎么预分配内存 C++ reserve函数提升性能技巧【优化】
- 2 Blazor 怎么实现一个通用的数据表格组件
- 3 什么是防抖和节流_如何优化事件处理性能【教程】
- 4 VTEX平台中产品创建为何跨工作区同步?原因与解决方案详解
- 5 如何在 JavaScript 中高效检测多个数值区间是否存在重叠
- 6 如何通过 JavaScript 检测用户是否已访问过首页并跳过欢迎页
- 7 Go 语言的垃圾回收机制由谁执行?深入解析运行时 GC 实现原理
- 8 Julia 中如何在结构体内部进行数据预处理
- 9 如何高效清洗 NumPy 字符串数组:批量去除空格与替换逗号为小数点
- 10 HTML 与 PHP 的混合使用:原理、实践与最佳策略
- 11 如何在 wxPython 中实现无循环无递归的变量增减操作
- 12 如何正确解析并格式化带双引号的 JSON 字符串数组为有序列表
- 13 如何用 PHP 循环构建对称星号金字塔(含递增与递减逻辑)
- 14 VTEX 平台中产品创建为何跨工作区同步?原因与解决方案
- 15 如何在 PHP 中正确遍历 JSON 数组并提取每个物品信息
最新教程
-
- Node.js 教程
- 15985 2025-08-28
-
- CSS3 教程
- 1546210 2025-08-27
-
- Rust 教程
- 23159 2025-08-27
-
- Vue 教程
- 25629 2025-08-22
-
- PostgreSQL 教程
- 22131 2025-08-21
-
- Git 教程
- 9123 2025-08-21
本项目前后端分离,前端基于Vue+Vue-router+Vuex+Element-ui+Axios,参考小米商城实现。后端基于Node.js(Koa框架)+Mysql实现。
前端包含了11个页面:首页、登录、注册、全部商品、商品详情页、关于我们、我的收藏、购物车、订单结算页面、我的订单以及错误处理页面。
实现了商品的展示、商品分类查询、关键字搜索商品、商品详细信息展示、登录、注册、用户购物车、订单结算、用户订单、用户收藏列表以及错误处理功能。
后端采取了MVC模式,根据前端需要的数据分模块设计了相应的接口、控制层、数据持久层。
技术栈
前端:Vue+Vue-router+Vuex+Element-ui+Axios
后端:Node.js、Koa框架
数据库:Mysql
功能模块
登录
页面使用了element-ui的Dialog实现弹出蒙版对话框的效果,登录按钮设置在App.vue根组件,通过vuex中的showLogin状态控制登录框是否显示。
这样设计是为了既可以通过点击页面中的按钮登录,也可以是用户访问需要登录验证的页面或后端返回需要验证登录的提示后自动弹出登录框,减少了页面的跳转,简化用户操作。
用户输入的数据往往是不可靠的,所以本项目前后端都对登录信息进行了校验,前端基于element-ui的表单校验方式,自定义了校验规则进行校验。
注册
页面同样使用了element-ui的Dialog实现弹出蒙版对话框的效果,注册按钮设置在App.vue根组件,通过父子组件传值控制注册框是否显示。
用户输入的数据往往是不可靠的,所以本项目前后端同样都对注册信息进行了校验,前端基于element-ui的表单校验方式,自定义了校验规则进行校验。
首页
首页主要是对商品的展示,有轮播图展示推荐的商品,分类别对热门商品进行展示。
全部商品
全部商品页面集成了全部商品展示、商品分类查询,以及根据关键字搜索商品结果展示。
商品详情页
商品详情页主要是对某个商品的详细信息进行展示,用户可以在这里把喜欢的商品加入购物车或收藏列表。
我的购物车
购物车采用vuex实现,页面效果参考了小米商城的购物车。
详细实现过程请看:基于Vuex实现小米商城购物车
订单结算
用户在购物车选择了准备购买的商品后,点击“去结算”按钮,会来到该页面。 用户在这里选择收货地址,确认订单的相关信息,然后确认购买。
我的收藏
用户在商品的详情页,可以通过点击加入 喜欢 按钮,把喜欢的商品加入到收藏列表。
我的订单
对用户的所有订单进行展示。
注意:
后端接口地址已经修改为线上的地址,本地运行会直接分为我部署在服务器的后端。
为了方便测试,数据库数据没有加密,注册时切记不要使用自己的常用密码。
如果需要自己运行后端,请移步到store-server clone后端项目,并修改前端的接口地址为您的服务器地址。
