PC 手机电商(MySQL 版)

PC 手机电商(MySQL 版)

项目简介

这是一个 PC 端手机电商简易版 大作业项目,采用前后端分离架构:

层级 技术
前端 原生 HTML + CSS + JavaScript(Axios、Swiper)
后端 Node.js + Express
数据库 MySQL

功能介绍

首页(frontend/index.html

  • 顶部轮播图展示(Swiper,自动播放)
  • 从后端获取手机商品列表,以卡片形式展示图片、名称、价格
  • 点击商品卡片跳转至详情页

商品详情(frontend/detail.html

  • 根据 URL 参数 id 加载单个商品
  • 展示商品图片、分类、价格、描述及参数列表
  • 预置 5 款手机:iPhone 15 Pro Max、华为 Mate 60 Pro、小米 14 Ultra 等

用户注册(frontend/register.html

  • 输入用户名、密码完成注册
  • 校验用户名是否重复,注册成功后跳转登录页

用户登录(frontend/login.html

  • 输入用户名、密码完成登录
  • 登录成功后跳转首页(教学简化版,无 Token 会话)

后端 API(backend/server.js,默认 http://localhost:3000

方法 路径 说明
POST /api/register 用户注册
POST /api/login 用户登录
GET /api/products 获取商品列表
GET /api/products/:id 获取商品详情

数据库表(backend/sql/db_shop_phone.sql

  • products:商品表(名称、分类、价格、图片、描述、参数、库存等)
  • users :用户表(用户名、密码;含测试账号 zhangsan / lisi,密码均为 123456

文件目录

bash 复制代码
homework-pc-shop-mysql/
├── 项目说明.md                 # 本文件
├── 演示材料/
│   └── 演示视频.mp4            # 项目演示录像
├── frontend/                   # 前端静态页面
│   ├── index.html              # 首页(轮播 + 商品列表)
│   ├── detail.html             # 商品详情
│   ├── login.html              # 登录
│   └── register.html           # 注册
└── backend/                    # 后端服务
    ├── server.js               # Express API 入口
    ├── package.json            # 依赖配置
    ├── .env                    # 数据库连接配置
    └── sql/
        └── db_shop_phone.sql   # MySQL 建表及初始数据

环境准备与启动

1. 安装 MySQL 并导入数据

先确保本机已安装 MySQL,再导入 SQL 文件:

bash 复制代码
backend/sql/db_shop_phone.sql

导入后数据库名为 db_shop_phone

2. 配置后端数据库连接

编辑 backend/.env,将 DB_PASSWORD 改为本机 MySQL 密码:

env 复制代码
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=你的密码
DB_NAME=db_shop_phone
PORT=3000

3. 安装后端依赖

需先安装 Node.js 环境,在 backend/ 目录下执行:

bash 复制代码
cd backend
npm install

4. 启动后端

bash 复制代码
node server.js

启动成功后,后端运行在 http://localhost:3000

5. 启动前端

双击打开 frontend/index.html 即可访问首页。


注意事项

  • 前端通过 Axios 请求 http://localhost:3000/api,需先启动后端再访问页面。
  • 密码为明文存储,仅用于教学演示,生产环境请勿使用。
  • .env 中的 DB_NAME 须与 SQL 文件导入的库名一致(db_shop_phone)。
相关推荐
千里马学框架1 天前
一起学 Android 14:ShellTransition 屏幕旋转过程深度剖析
android·智能手机·性能优化·framework·性能·屏幕旋转·rotation
小白男神2 天前
MySQL进阶学习四(存储过程、游标、触发器)
mysql
这个DBA有点耶2 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G2 天前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备2 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远2 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
kybs19912 天前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net
2601_962218612 天前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法
程序猿_极客2 天前
【免费】分享一套优质的基于SSM的校园失物招领系统的设计与实现,源码+文档+视频详解(讲解)
java·mysql·ssm·课程设计·失物招领系统
张洛闻Eren2 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github