3.0 KiB
3.0 KiB
爱鉴花项目详细设计文档
1. 系统架构
爱鉴花项目采用前后端分离的架构,包含以下主要组件:
- 微信小程序 (uni-app) - 前端用户界面
- Node.js后端服务 - 提供API接口
- Vue3后台管理系统 - 管理界面
- HTML5 Bootstrap官网 - 公司展示
- 数据库 - 存储用户、商品、订单等数据
- AI识别服务 - 植物识别
2. 模块设计
2.1 微信小程序 (uni-app)
- 首页:展示推荐内容和拍照入口
- 识别结果页:显示识别结果和植物信息
- 商城:展示花卉商品
- 配送:下单和配送信息
- 工具:园艺工具
- 个人中心:用户信息和订单管理
2.2 后端接口 (Node.js)
- 植物识别接口:接收图片,调用AI服务,返回识别结果
- 用户管理接口:注册、登录、用户信息管理
- 商品管理接口:商品增删改查
- 订单管理接口:订单创建、查询、状态更新
- 支付接口:处理支付请求
2.3 后台管理系统 (Vue3)
- 用户管理模块:查看和管理用户
- 商品管理模块:添加和管理商品
- 订单管理模块:查看和处理订单
- 数据统计模块:展示业务数据
2.4 官方网站 (HTML5 Bootstrap)
- 首页:公司介绍和产品展示
- 关于我们:公司信息
- 联系我们:联系方式
3. 数据流程
- 用户在小程序拍照上传图片
- 小程序调用后端植物识别接口
- 后端服务调用AI识别服务
- AI服务返回识别结果
- 后端服务将结果返回给小程序
- 用户查看识别结果及相关信息
- 用户可在商城下单购买
- 订单信息存储在数据库中
- 后台管理系统可查看和处理订单
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索引、识别时间索引