Files
aijianhua/docs/详细设计.md

73 lines
3.0 KiB
Markdown
Raw Normal View History

2025-08-30 15:52:52 +08:00
# 爱鉴花项目详细设计文档
## 1. 系统架构
爱鉴花项目采用前后端分离的架构,包含以下主要组件:
1. 微信小程序 (uni-app) - 前端用户界面
2. Node.js后端服务 - 提供API接口
3. Vue3后台管理系统 - 管理界面
4. HTML5 Bootstrap官网 - 公司展示
5. 数据库 - 存储用户、商品、订单等数据
6. AI识别服务 - 植物识别
## 2. 模块设计
### 2.1 微信小程序 (uni-app)
- 首页:展示推荐内容和拍照入口
- 识别结果页:显示识别结果和植物信息
- 商城:展示花卉商品
- 配送:下单和配送信息
- 工具:园艺工具
- 个人中心:用户信息和订单管理
### 2.2 后端接口 (Node.js)
- 植物识别接口接收图片调用AI服务返回识别结果
- 用户管理接口:注册、登录、用户信息管理
- 商品管理接口:商品增删改查
- 订单管理接口:订单创建、查询、状态更新
- 支付接口:处理支付请求
### 2.3 后台管理系统 (Vue3)
- 用户管理模块:查看和管理用户
- 商品管理模块:添加和管理商品
- 订单管理模块:查看和处理订单
- 数据统计模块:展示业务数据
### 2.4 官方网站 (HTML5 Bootstrap)
- 首页:公司介绍和产品展示
- 关于我们:公司信息
- 联系我们:联系方式
## 3. 数据流程
1. 用户在小程序拍照上传图片
2. 小程序调用后端植物识别接口
3. 后端服务调用AI识别服务
4. AI服务返回识别结果
5. 后端服务将结果返回给小程序
6. 用户查看识别结果及相关信息
7. 用户可在商城下单购买
8. 订单信息存储在数据库中
9. 后台管理系统可查看和处理订单
## 4. 数据库设计
### 4.1 核心数据表
- **用户表 (users)**: 用户ID、用户名、密码哈希、手机号、邮箱、头像、注册时间、最后登录时间、状态
- **商品表 (products)**: 商品ID、商品名称、分类ID、价格、库存、图片、描述、状态、创建时间
- **商品分类表 (categories)**: 分类ID、分类名称、父分类ID、排序、状态
- **订单表 (orders)**: 订单ID、用户ID、订单金额、支付状态、配送状态、收货地址、创建时间
- **订单商品表 (order_items)**: 订单项ID、订单ID、商品ID、数量、单价
- **识别记录表 (identifications)**: 记录ID、用户ID、图片URL、识别结果、置信度、识别时间
- **收货地址表 (addresses)**: 地址ID、用户ID、收货人、手机号、详细地址、是否默认
### 4.2 数据库技术选型
- **主数据库**: MySQL 8.0+,支持事务和复杂查询
- **缓存数据库**: Redis用于会话管理、热点数据缓存
- **字符编码**: UTF8MB4支持emoji表情
- **连接池**: 最大连接数20最小连接数5超时时间60秒
### 4.3 索引设计
- 用户表:手机号唯一索引、邮箱唯一索引
- 商品表分类ID索引、状态索引
- 订单表用户ID索引、创建时间索引
- 识别记录表用户ID索引、识别时间索引