2 Star 3 Fork 0

许久 / 菜狗商城

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

菜狗商城

介绍

菜狗商城springboot+vue

Gitee地址 https://gitee.com/xujiulong/caigoumall

API地址 https://www.apifox.cn/apidoc/shared-52a9790d-b49c-41ce-ab7f-f1a560e46276/api-13546585

技术分析

整个“菜狗商城”系统采用前后端分离开发Springboot+Vue的架构,数据库表结构采用PDMan依据三范式设计。开发工具的话后端使用IntelliJ IDEA,前端使用VS Code。数据库使用Navicat对Mysql数据库进行操作。开发完后通过FinalShell将项目挂载到云服务器Linux 上运行。 前端采用Vue完成数据渲染,通过Axios实现异步访问,搭配Bootstrap和Element UI来完成页面布局的开发,通过qrcode生成支付二维码。后端使用Springboot这个轻量级的、一站式IOC框架,持久层采用MyBatisPlus完成对数据库的增删改查,一对多及多对一的复杂操作,通过Websockst建立长链接完成消息推送,采用的Quartz任务轮询框架来完成对超时未支付的订单的查询操作。API接口采用Restful风格搭配Swagger进行接口测试和文档开发编写。安全方面采用Jwt以加密加盐的方式生成Token完成用权限户验证。为了保证数据的一致性采用事物管理来实现,考虑到线程并发问题使用同步锁。

功能分析

菜狗商城”是一款B2C模式的网络电商平台购物系统,包括用户登录,商品推荐,商品搜索,用户评价,购物车,添加订单,收货地址及微信支付等功能。 游客用户可以通过在首页的商品推荐轮播图、最新商品、分类推荐等对喜欢或着比较有意思的商品来进行概查询,或者在首页商品分类栏中进行更细致的选择,也能够使用搜索栏输入的关键字来对相干的商品检索。登录过的用户可以将喜欢的商品规格如各种包装、口味的商品加入购物车中,当然也可以查看用户的有关评价信息关于当前商品,例如:商品的规格、生产日期、详细归属地、质检等信息。用户对已经收藏的商品在自己的购物车中的,对数量或规格的敲定后点击下单支付,在选择好支付方式及收货信息后进行订单的支付。同时也可以随时在个人中心中对收货地址信息进行查看、修改或者删除,以及对种种状态下订单进行更细致的信息概览,例如:未支付订单,超时未支付订单,已完成订单等。

运行环境和开发工具

操作系统:Window10,Linux CentOS 7 Java 语言的软件开发工具包:JDK1.8 服务器:apache-tomcat-8.5.57,Nginx-1.16.1 项目管理工具:apache-maven-3.6.3 数据库:Mysql8.0 浏览器:Google Chrome

代码编译工具:IntelliJ IDEA 2021.2.1,Visual Studio Code 数据库操作工具:Navicat 版本控制工具:Git 项目管理工具:Maven 远程工具:FinalShell

安装教程

  1. 后端部署springboot 数据库导入sql文件 修改.xml文件中数据库连接配置
  2. 前端 npm run serve 部署完 访问 caigoumall/caigoumall-vue/index.html
  3. 如要使用微信支付功能 需开通内网穿透 在OrdersServiceImpl文件中修改对应 微信回调地址将项目部署在云端则修改为对应公网地址即可

云端命令

NATAPP内网穿透 命令 natapp -authtoken=a611ed0fefb0ae45

linux cd /usr/local/server/nginx/sbin ./nginx cd /usr/local/caigoumall/ java -jar caigoumall-0.0.1-SNAPSHOT.jar &

101.201.78.85 (公)

功能设计

  1. 用户管理 用户注册:用户注册的账号长度必须为8-20给字符,密码长度必须为6-16给字符。后端将其保存在数据库中在MD5将密码加密后。 用户登录(cookie与session):用户输入唯一的账号密码实现登录。前端将账号密码传给后端,后端将密码进行MD5加密后与数据库对应密码进行对比,如果一致,通过JWT将密码和秘钥生成Token返回给前端。前端将Token以Json对象形式存储在sessionStorage中。
  2. 首页实现 首页轮播图:首页商品推荐轮播图。展示顺序根据商品的轮播顺序值决定。 首页分类列表展示:商品分类分为三级,将商品根据类型进行分布展示。 首页商品推荐:推荐最新上市的三款产品进行推荐展示,依据商品最新上市时间,。 首页商品搜索:首页搜索栏可进行商品关键字进行模糊查询并显示相关商品及商品所对应的品牌。
  3. 商品详情 商品详情查询与显示:商品的详情信息展示。包括商品的原价,现价,套餐,库存,展示图片,产地及生产信息, 商品评价分页实现:展示用户对商品的评价信息及商家对用户的反馈。实现分页功能,可以根据评价种类进行查看。 商品评价脱敏实现:对用户的账号及用户名信息进行脱敏处理。
  4. 购物车 添加购物车:将用户对商品的套餐,数量,口味,价格等的选择信息添加到购物车。 购物车商品列表显示:显示购物车中全部商品信详情当前用户的,包括商品种类,数量,加入购物车时价格。 选中商品实时价格计算:根据用户对购物车中的商品选择实时计算应支付的价格。 编辑购物车商品数量:用户可以随意增删购物车中种种商品的购买数量。 删除购物车某商品:可以从购物车中将任意商品删除。 提交购物车至订单结算:将选中的商品生成订单快照去结算。首先要查询每种商品库存是否充足,如果充足生成订单快照,删除购物车中对应商品信息,扣减对应商品库存。
  5. 订单管理 展示订单信息:显示当前订单中的收货地址详情和全部商品详情。包括:每个商品的下单价格,数量,规格。订单总价格。收货人电话,地址,姓名,备注信息。 订单支付(微信支付):用户可以选择使用微信支付或其他支付方式。订单支付后显示支付二维码,扫码支付完成后,提示支付完成。 超时取消订单(定时任务):通过轮询的方式查询当前用户的未支付订单(默认保留30分钟),过时间后修改订单状态为超时未支付并取消订单。
  6. 个人中心 查询用户信息:显示当前用户的账号信息。 查询当前用户的一切订单:显示一切订单详情当前用户的。 查询当前用户指定状态的订单:显示当前用户的指定状态订单信息。例如,未支付订单,已支付订单,已发货订单,未付款订单,未评价订单。
  7. 收货地址 新建地址:新建收货地址相关信息。包括:收货人姓名,电话,邮政号,详细地址,备注信息。 查看地址列表:展示当前用户所有收货地址的信息。 编辑地址信息:对当前用户某一收货地址信息进行修改编辑。 删除地址:删除当前用户某一收货地址信息。

空文件

简介

菜狗商城springboot+vue API地址 https://www.apifox.cn/apidoc/shared-52a9790d-b49c-41ce-ab7f-f1a560e46276/api-13546585 展开 收起
JavaScript 等 5 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/xujiulong/caigoumall.git
git@gitee.com:xujiulong/caigoumall.git
xujiulong
caigoumall
菜狗商城
master

搜索帮助