Skip to content

辣椒卫士 - 技术架构

状态:测试中

系统架构

辣椒卫士由三个核心项目组成,形成完整的技术体系:

项目技术栈用途
lajiao-mini微信小程序原生框架农场主、消费者使用的移动端
lajiao-frontendVue 3 + TypeScript平台运营人员使用的管理后台
lajiao-backendSpring Boot + Java 21后端API服务与业务逻辑

技术架构图

接入层

微信小程序Web管理后台

网关层

NginxSpring Gateway

服务层

用户服务识别服务商城服务农场服务溯源服务

数据层

MySQLInfluxDBRedisOSS

一、小程序端 (lajiao-mini)

核心功能模块

1. 首页与AI识别

  • AI智能识别入口(拍照识别病虫害)
  • 识别历史记录
  • 今日农事提醒

2. 农场管理

  • 地块管理(添加、编辑、查看地块)
  • 种植计划(制定、跟踪种植计划)
  • 农事记录(施肥、打药、灌溉记录)
  • 环境监测(传感器数据展示)

3. 农资商城

  • 商品浏览与搜索
  • 购物车与订单管理
  • 物流查询与售后

4. 溯源管理

  • 采收记录
  • 溯源码生成
  • 产品销售

5. 个人中心

  • 我的订单、地址管理
  • 优惠券、积分商城
  • 分销中心、会员中心

页面清单

模块主要页面
首页index(首页)、camera(拍照)、diagnosis(诊断结果)
农场farm(农场首页)、field-list(地块列表)、planting-edit(种植计划)、record-edit(农事记录)
商城marketplace(商城首页)、product(商品详情)、cart(购物车)、orders(订单列表)
溯源trace(溯源首页)、harvest(采收记录)、sell(产品销售)
个人profile(个人中心)、address(地址管理)、points-mall(积分商城)、distribute(分销中心)

二、管理后台 (lajiao-frontend)

核心功能模块

1. 工作台

  • 数据概览(今日订单、新增用户、识别次数)
  • 待办事项(待审核、待处理订单)

2. AI中心

  • 识别记录管理
  • 识别结果复核
  • 样本数据集管理

3. 智慧农业

  • 农场管理、地块管理
  • 种植计划审核
  • 设备管理(IoT设备)

4. 商品与交易

  • 商品管理(上架、下架、库存)
  • 订单管理(处理订单、发货)
  • 售后管理、供应商管理

5. 会员与运营

  • 用户管理、会员等级
  • 积分管理、优惠券
  • 营销活动、分销管理

6. 数据中心

  • 用户分析(增长、留存、活跃)
  • 交易分析(销售额、订单量)
  • 农业分析(识别统计、农场活跃度)

7. 系统管理

  • 角色权限(RBAC)
  • 菜单管理、操作日志

三、后端服务 (lajiao-backend)

技术栈

层级技术说明
框架Spring Boot 3.2主框架
语言Java 21 LTS开发语言
ORMMyBatis-Plus 3.5数据访问
安全Spring Security + JWT认证授权
数据库MySQL 8.0业务数据
缓存Redis 7.0热点数据
时序数据InfluxDB传感器数据
文件存储阿里云OSS图片、视频
AITensorFlow病虫害识别

核心服务

服务职责核心功能
用户服务用户管理微信登录、JWT认证、权限控制
识别服务AI识别图像上传、AI模型调用、防治方案推荐
农场服务农场管理农场CRUD、地块管理、农事记录
商城服务电商交易商品管理、订单管理、支付集成
溯源服务溯源管理批次管理、溯源码生成、扫码查询
消息服务消息推送模板消息、短信通知

识别服务流程

1. 接收图片接收小程序上传的图片
2. 上传OSS将图片存储到阿里云OSS
3. AI识别调用TensorFlow模型进行识别
4. 返回结果返回病害名称、置信度、防治建议

数据库设计

MySQL 业务表

  • sys_user - 用户表
  • farm / farm_field - 农场/地块表
  • product / order - 商品/订单表
  • recognition_task / recognition_result - 识别任务/结果表
  • trace_batch / trace_record - 溯源批次/记录表

InfluxDB 时序数据

  • temperature / humidity / light - 环境数据

四、接口规范

请求规范

http
Content-Type: application/json
Authorization: Bearer {jwt_token}
X-Request-Id: {uuid}
X-Device-Type: wechat-miniprogram

响应格式

json
{
  "code": 200,
  "message": "success",
  "data": {},
  "timestamp": 1700000000
}

状态码

状态码说明处理方式
200成功正常处理
400参数错误提示用户检查输入
401未授权跳转登录页
403权限不足提示无权限
404资源不存在提示内容不存在
500服务器错误提示系统繁忙

五、部署架构

生产环境
├── CDN (静态资源加速)
├── Nginx (负载均衡)
├── 小程序端 (微信服务器)
├── 管理后台 (Docker容器)
├── 后端服务 (Docker容器集群)
│   ├── app服务 (4核8G × 3)
│   └── 识别服务 (GPU服务器)
├── MySQL (主从架构)
├── Redis (主从+哨兵)
├── InfluxDB (时序数据库)
└── OSS (对象存储)

六、快速开始

本地开发环境搭建

1. 启动后端服务

bash
cd lajiao-backend
./mvnw spring-boot:run -pl app
# API文档: http://localhost:8080/swagger-ui

2. 启动管理后台

bash
cd lajiao-frontend
pnpm install
pnpm dev
# 访问: http://localhost:5173

3. 配置小程序

bash
cd lajiao-mini
# 使用微信开发者工具打开
# 修改 utils/api.js 中的 API_BASE_URL

默认账号:admin / admin123


返回项目概览 | 查看业务介绍 | 查看业务链流程 | 查看角色体系

客户留存与增长 · 企业数字化解决方案