Files
aijianhua/详细设计.md

73 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 爱鉴花项目详细设计文档
## 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 5.7+,支持事务和复杂查询
- **缓存数据库**: Redis用于会话管理、热点数据缓存
- **字符编码**: UTF8MB4支持emoji表情
- **连接池**: 最大连接数20最小连接数5超时时间60秒
### 4.3 索引设计
- 用户表:手机号唯一索引、邮箱唯一索引
- 商品表分类ID索引、状态索引
- 订单表用户ID索引、创建时间索引
- 识别记录表用户ID索引、识别时间索引