无题
无题
SilverCat项目需求文档
2025年 上学期
项目名称:电子仓鼠
项目负责人:冯贝纳
班级:196
一,引言
1 目的
在当今数字化社会中,电脑和手机等电子产品已经成为人们日常生活和工作的必需品。从学生的学习需求到专业人士的工作需求,从娱乐设备到家庭必备工具,电子产品扮演着不可或缺的角色。然而,市场上的电子产品种类繁多,品牌、配置、价格各异,消费者在选购时往往面临以下难题:
- 信息冗杂: 消费者需要花费大量时间在多个电商平台或实体店之间对比产品信息。
- 选择困难: 对于不了解技术参数的用户,难以根据自身需求选择合适的产品。
- 价格波动: 电子产品价格波动频繁,消费者可能错过优惠活动或无法判断价格的合理性。
- 售后保障: 不同商家提供的售后政策存在差异,消费者对产品质量和售后支持的信心不足。
为了解决这些问题,“电子仓鼠”项目应运而生。该项目旨在通过构建一个智能化、易用的电子产品选购平台,帮助用户快速、准确地找到适合自己的电脑、手机等电子产品。通过大数据分析与智能推荐技术,“电子仓鼠”将简化用户的决策过程,同时提供价格监控和售后服务建议,提升购物体验。
目标:
- 帮助用户根据需求和预算找到最合适的电子产品。
- 提供电子产品的全面信息,包括价格走势、用户评价、技术参数等。
- 通过用户友好的界面和强大的推荐功能,提升消费者的购物效率和满意度。
2 功能需求
2.1 用户管理
- 1.1 用户注册与登录
- 支持用户通过手机号或邮箱注册账号,设置密码。
- 提供多种登录方式(账号密码登录、短信登录)。
- 1.2 用户权限管理
- 分为普通用户和管理员两种角色。
- 管理员可管理平台内商品信息、用户反馈和订单数据。
2.2 产品搜索与推荐
- 2.1 搜索功能
- 支持按关键字、品牌、价格范围、配置(如内存、处理器、屏幕尺寸等)筛选商品。
- 2.2 智能推荐
- 根据用户浏览记录和购买历史,提供个性化推荐。
- 利用大数据分析,推荐当前市场热销的电子产品。
2.3 商品信息展示
- 3.1 商品详情
- 展示产品的基本信息(名称、图片、价格、规格参数)。
- 提供用户评价和评分。
- 3.2 价格趋势分析
- 提供价格走势图表,帮助用户判断购买时机。
- 显示当前价格是否低于市场平均价。
2.4 购物车与订单管理
- 4.1 购物车功能
- 用户可将心仪商品加入购物车,支持批量删除、调整数量等操作。
- 4.2 订单管理
- 用户可查看订单详情,包括购买的商品、金额、配送状态等。
- 支持订单取消和申请售后服务。
2.5 对比与收藏
- 5.1 商品对比
- 用户可选择多款商品进行详细参数对比。
- 5.2 收藏功能
- 用户可将感兴趣的商品加入收藏夹,以便后续查看。
2.6 售后与评价
- 6.1 售后服务
- 用户可申请退换货或维修服务。
- 提供服务进度跟踪功能。
- 6.2 用户评价
- 用户可对已购买商品进行评价,上传图片和视频。
- 支持点赞和回复其他用户的评价。
2.7 管理员功能
- 7.1 商品管理
- 管理员可添加、编辑和删除商品信息。
- 7.2 数据分析
- 提供用户活跃度、订单量、销售额等数据的可视化分析。
- 7.3 用户反馈管理
- 查看并回复用户的意见和建议。
3 数据库
3.1 用户数据(user)
| 字段名称 | 类型 | 描述 | 示例 |
|---|---|---|---|
| user_id | INT | 用户唯一标识(主键自增长) | 1001 |
| username | VARCHAR(50) | 用户名 | SilverCat |
| password | VARCHAR(50) | 用户密码(加密存储) | **** |
| VARCHAR(100) | 用户邮箱地址 | example@domain.com | |
| phone | VARCHAR(20) | 用户手机号 | +8613700000000 |
| gender | ENUM | 性别 | 男,女,未知 |
| registration_date | DATETIME | 注册时间 | 2024-12-11 12:34:56 |
| profile_picture | VARCHAR(255) | 用户头像路径 | /images/users/1001.jpg |
3.2 管理员数据(admin)
| 字段名称 | 类型 | 描述 | 示列 |
|---|---|---|---|
| admin_id | INT | 管理员唯一标识(主键,自增) | 1 |
| admin_name | VARCHAR(50) | 管理员用户名 | adminmaster |
| password | VARCHAR(100) | 管理员密码(加密存储) | ****(加密哈希后的值) |
| phone | VARCHAR(20) | 管理员手机号 | +8613800000000 |
| VARCHAR(100) | 管理员邮箱地址 | admin@domain.com | |
| role_level | ENUM | 管理员角色等级 | super_admin或admin |
3.4 商品类型数据(product_category)
| 字段名称 | 类型 | 描述 | 示列 |
|---|---|---|---|
| category_id | INT | 类型唯一标识(主键,自增) | 1 |
| category_name | VARCHAR(100) | 类型名称 | 手机,电路板… |
| product_id | INT | 父级类型 ID,用于多级分类 | 0(顶级类型) |
3.5 商品子集类型数据(product)
| 字段名称 | 类型 | 描述 | 示列 |
|---|---|---|---|
| product_id | INT | 商品唯一标识(主键,自增) | 1001 |
| product_name | VARCHAR(100) | 商品名称 | MacBook Pro 16” |
| category_id | INT | 所属类型 ID(外键) | 2 |
| brand | VARCHAR(100) | 品牌 | Apple |
| model | VARCHAR(100) | 型号 | A2141 |
| price | DECIMAL(10,2) | 商品价格 | 18999.00 |
| description | TEXT | 商品描述 | 高性能笔记本电脑 |
| stock | INT | 库存数量 | 50 |
| create_time | DATETIME | 创建时间 | 2024-12-11 12:00:00 |
| specifications | 规格参数 | ||
| is_active | TINYINT(1) | 是否上架(1=上架,0=下架) | 1 |
3.6 购物车数据
购物车的话我使用Redis 进行存储
- 购物车数据为临时性质(如用户长时间未操作可自动清理)。
- 高并发场景,如电商活动或秒杀场景。
- 用户购物车数据不需要强一致性(最终一致性即可)。
3.7 订单数据(order)
| 字段名称 | 类型 | 描述 | 示列 |
|---|---|---|---|
| order_id | int | 订单唯一标识(主键,自增) | 202412110001 |
| user_id | int | 用户 ID(外键,关联 user 表) |
1001 |
| order_status | VARCHAR(20) | 订单状态(如:待付款、已支付等) | 待付款 |
| paymentmethod | ENUM | 支付方式 | 支付宝 |
| total_price | DECIMAL(10,2) | 订单总金额 | 28999.00 |
| create_time | DATETIME | 订单创建时间 | 2024-12-11 14:00:00 |
3.8 广告数据(advertisement)
| 字段名称 | 类型 | 描述 | 示列 |
|---|---|---|---|
| ad_id | int | 广告唯一标识(主键,自增) | 1 |
| ad_title | VARCHAR(100) | 广告标题 | 双12大促,爆款直降 |
| ad_image_url | VARCHAR(255) | 广告图片路径 | /images/ads/202412.jpg |
| ad_link_url | VARCHAR(255) | 广告跳转链接 | /product/1001 |
| is_active | TINYINT(1) | 是否激活(1=激活,0=未激活) | 1 |
| start_time | DATETIME | 广告开始时间 | 2024-12-01 00:00:00 |
4,BUG
1,切换网页后的滚动行为,定位错了,变成商品页面的定位,而不是主页划到哪就定位到哪。
2,主页的商品卡片浮出来的时候有概率出现滑条,大概率是浮动的时候最后一排和下面冲突了。
3,切换页面的加载动画奇奇怪怪的




