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

【源码】基于 Nestjs 框架的 XYMALL 商城 API 服务端

项目简介

XYMALL 商城 API 服务端是一个前后端分离的项目,集成了 Nestjs、Mongodb、Jwt 等技术。项目包含四端,分别为 Api 服务端、Admin 管理端、Web 前端(uniapp)、PC 端(Nuxt3)。为便于迭代和管理,采用 Nestjs monorepo 模式,将服务端 Api 分为 admin-api 和 web-api 两个项目分别开发。

项目的主要特性和功能

主要特性

  1. 采用 Nestjs 框架,利用其依赖注入机制,使代码结构清晰,便于维护和扩展。
  2. 集成 Mongodb 数据库,适合存储电商业务各类数据。
  3. 运用 Jwt 进行身份验证和授权,保障系统安全。
  4. 采用 monorepo 模式管理项目,方便多项目协同开发与迭代。

功能模块

Admin 端

已完成管理员、权限角色、商品管理、会员、Banner、素材库、分类、标签、新闻、站点设置等模块,优惠券模块正在开发中。

Web(uniapp) 端

已完成首页数据、商品相关、用户相关、购物车相关、订单相关等接口。

安装使用步骤

复制项目

bash

安装项目依赖

bash yarn 或者 npm install 或者 pnpm install

配置数据库链接字符串

修改 libs/common/config/src/db.confug.ts 文件,将数据库链接字符串替换为自己的数据库信息。需先安装配置好 Mongodb 数据库,项目默认使用密码链接,若不想配置密码链接,可将链接字符串修改为 mongodb://127.0.0.1:27017/[数据库名] 。详细配置可 点击查看配置教程

修改项目启动端口

libs/common/config/src/port.config.ts 文件中修改项目启动端口,项目分为 admin 端和 web 端,需设置两个不同端口,默认 admin 端为 3008,web 端为 3009,可根据需求自行修改。

修改项目 jwt 秘钥与失效时间

libs/common/config/src/jwt.config.ts 文件中修改 jwt 秘钥与失效时间,默认 jwt 失效时间为 1 天。

初始化数据库

由于脚本未写好,需先导入备份数据库文件 backup/nest-js.sql ,可使用 Navicat Premium 等工具导入。初始化完成后,Admin 端的默认最高权限管理员账号为 xuanyu@qq.com ,密码为 123456

运行项目

```bash npm run dev:admin

npm run dev:web-dev

npm run start:admin-prod

npm run start:admin-prod `` 项目运行完成后,控制台会输出 swagger 接口文档 api 地址,例如:http://localhost:3008/api-docs`

打包项目

```bash npm run build:admin

npm run build:web ```

下载地址

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