Files
aijianhua/docs/详细设计.md

3.0 KiB
Raw Blame History

爱鉴花项目详细设计文档

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索引、识别时间索引