Files
2026-03-03 17:09:37 +08:00

3.6 KiB

Sundynix Plant Server 项目文档

项目简介

本项目是一个基于 Go 语言 (Gin 框架) 开发的后台管理系统,主要用于植物领养、种植乐趣及周边社区的运营管理。项目采用了模块化的架构设计,集成了系统管理(RBAC、日志、OSS)与业务模块(植物图鉴、领养、订单、社区)。

目录结构

├── api             # 接口控制层 (Controller)
│   └── v1          # v1 版本接口
├── config          # 配置文件结构定义
├── core            # 核心组件初始化 (Zap, Viper, Server)
├── global          # 全局对象 (DB, Redis, Config)
├── initialize      # 初始化流程 (Router, Redis, Gorm, Validator, Timer)
├── middleware      # Gin 中间件
├── model           # 数据模型 (Structs)
├── router          # 路由定义
│   ├── plant       # 业务路由 (植物、订单、社区等)
│   └── system      # 系统路由 (用户、角色、菜单等)
├── service         # 业务逻辑层 (Service)
└── utils           # 工具函数集合

基本功能逻辑

项目主要分为 系统管理业务管理 (Plant) 两大模块:

1. 系统管理模块 (System)

  • 用户鉴权 (Auth/User): 支持用户注册、登录及 JWT 鉴权。
  • 权限管理 (RBAC): 基于角色 (Role) 和菜单 (Menu) 的权限控制体系,支持动态菜单。
  • 操作日志 (Operation Record): 记录用户的敏感操作行为,便于审计。
  • 文件上传 (OSS): 集成对象存储,用于处理图片、文件上传。
  • 客户端管理 (Client): 管理接入的客户端信息。

2. 业务管理模块 (Plant)

  • 植物图鉴 (Library/Classification): 维护植物的基础信息与分类,构建植物百科。
  • 植物领养 (Claim Plant):
    • 用户可以浏览并领养植物。
    • 支持配置领养规则。
    • 用户可查看 "我的领养" 记录。
  • 订单系统 (Order/Pay):
    • 处理领养或购买产生的订单。
    • 支持订单发货、详情查询、删除及导出功能。
    • 集成支付功能。
  • 社区互动 (Post/Comment):
    • 用户发布帖子 (Post) 分享种植心得。
    • 支持对帖子进行评论 (Comment)。
  • 其他功能:
    • 徽章系统 (Badge): 用户成就体系。
    • OCR 识别: 植物图片识别功能。
    • 个人中心 (Personal): 用户个人数据管理。

基本流程 (Workflow)

1. 植物领养流程

  1. 浏览图鉴: 用户查看植物图鉴 (Library),选择感兴趣的植物。
  2. 发起领养: 用户发起领养请求 (Claim),系统根据配置 (claimPlantApi) 处理领养逻辑。
  3. 生成记录: 成功后在 "我的领养" (MyClaim) 中生成记录,并可能关联具体的植物 ID。

2. 订单处理流程

  1. 创建订单: 用户进行支付或确认领养后生成订单。
  2. 后台发货: 管理员在后台查看订单列表 (OrderPage),核实信息后进行发货操作 (ShipOrder)。
  3. 订单完成: 用户确认收货,订单流程结束。
  4. 数据导出: 运营人员可将订单数据导出 (ExportOrder) 用于分析。

3. 内容社区流程

  1. 发布内容: 用户上传植物照片或心得,发布帖子 (Post)。
  2. 互动交流: 其他用户浏览帖子,并进行评论 (PostComment) 或点赞。
  3. 审核管理: 管理员可对违规内容进行管理或删除。

部署说明 (参考)

项目支持跨平台编译:

  • Windows: GOOS=windows GOARCH=amd64 go build -o planting-fun.exe
  • Linux: GOOS=linux GOARCH=amd64 go build -o sundynix-radio