littlebot
Published on 2025-04-12 / 0 Visits
0

【源码】基于AdonisJS和Vue2的电商系统

项目简介

本项目是基于AdonisJS和Vue2构建的电商系统。后端运用TypeScript、AdonisJS框架以及MySQL数据库,前端采用Vue2、TypeScript、Element UI组件库和Vite构建工具。系统采用六边形架构,将应用核心逻辑与使用分离,同时借助RabbitMQ实现消息队列,完成订单系统与库存系统的解耦。

项目的主要特性和功能

  1. 用户功能:支持用户注册与登录,未登录用户可浏览商品,登录用户能进行商品购买,购买后库存自动减少。提供商品标题和详情的模糊搜索功能。
  2. 管理功能:管理者登录后可添加商品,还能查看系统日志。
  3. 消息队列:采用串行和并行处理任务方式,将不必须的业务逻辑异步处理。订单系统下单后将消息写入消息队列,库存系统订阅消息并进行库存操作,实现订单与库存系统解耦。
  4. 安全机制:使用@adonisjs/lucid的身份验证系统,可通过会话、基本身份验证或API令牌对用户进行身份验证,同时借助@adonisjs/session使用会话或cookies登录用户。

安装使用步骤

后端

  1. 确保已安装Node.js和npm,复制项目源码到本地。
  2. 执行npm install安装依赖。
  3. 生成唯一id用于本地使用:node ace generate:key,将生成的key复制到.env文件中,并根据本地环境编辑该文件。
  4. 创建MySQL数据库:
    • 使用/usr/local/mysql/bin/mysql -u root -p登录MySQL。
    • 执行show databases;查看现有数据库,create database shoppong_web;创建新数据库。
  5. 解决MySQL版本兼容问题(若使用5.7版本):
    • 执行show variables like 'sql_mode' ;查看当前SQL模式。
    • 执行set global sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';修改SQL模式。
  6. 创建数据库表:npm run migrate-up
  7. 启动后端服务:npm run dev

RabbitMQ

  1. Mac安装:brew install rabbitmq,若依赖库安装失败,可单独安装。
  2. 启动服务:rabbitmq-server
  3. 访问管理界面:打开浏览器访问http://localhost:15672/#/,使用账号guest和密码guest登录。

前端

  1. 进入前端项目目录,执行npm install安装依赖。
  2. 启动前端开发服务器,即可在浏览器中访问系统。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】