LingoPod管理后台开发指南

项目概述

LingoPod管理后台是一个基于React + TypeScript开发的Web管理系统,采用Material-UI组件库构建现代化的用户界面。系统主要用于管理音频处理任务、用户账户和系统配置。

核心功能

  1. 用户管理
  • 用户账户管理(CRUD操作)
  • 基于角色的权限控制(管理员/普通用户)
  • 用户状态管理(启用/禁用)
  • 个人信息设置
  1. 任务管理
  • 音频处理任务创建与监控
  • 实时任务状态和进度追踪
  • 音频和字幕文件管理
  • 支持公开/私有任务设置
  • 任务重试和删除操作
  1. 系统设置
  • 系统参数配置
  • 配置项实时更新
  • 支持配置重置

技术架构

  1. 前端技术栈
  • 核心框架: React 18
  • 开发语言: TypeScript 5.x
  • UI组件库: Material-UI v5 (MUI)
  • 状态管理: React Hooks
  • 路由管理: React Router 6
  • 网络请求: Axios
  • 日期处理: Day.js
  • 构建工具: Vite 5.x
  1. 项目特点
  • 组件化开发
  • 类型安全
  • 响应式设计
  • 实时数据更新
  • 权限控制
  • 错误处理
  • 用户友好的界面

系统架构

  1. 布局结构
管理后台
├── 顶部导航栏
│   ├── 系统标题
│   └── 退出登录
├── 侧边栏导航
│   ├── 仪表盘
│   ├── 用户管理(管理员可见)
│   ├── 任务管理
│   ├── 个人信息
│   └── 系统设置(管理员可见)
└── 主内容区
  1. 目录结构
src/
├── components/     # 组件目录
│   ├── Layout/    # 布局组件
│   └── common/    # 通用组件
├── pages/         # 页面目录
│   ├── Login/     # 登录页面
│   ├── Register/  # 注册页面
│   ├── Dashboard/ # 仪表盘
│   ├── Users/     # 用户管理
│   ├── Tasks/     # 任务管理
│   ├── Profile/   # 个人信息
│   └── Settings/  # 系统设置
├── services/      # API服务
├── hooks/         # 自定义Hooks
├── types/         # TypeScript类型定义
└── utils/         # 工具函数

功能模块

1. 登录模块 ✅

  • 用户名密码登录
  • 记住登录状态(Token管理)
  • 登录失败限制(429错误处理)
  • 注册功能
  • 退出登录
  • 获取用户信息

2. 个人信息管理模块 ✅

  • 修改个人昵称
  • 修改邮箱地址
  • 修改登录密码
  • 查看上次登录时间
  • 头像上传
  • 个人偏好设置

3. 用户管理模块 ✅

  • 用户列表(支持多条件筛选、分页)
    • 用户名搜索
    • 状态筛选
    • 分页显示
  • 用户状态管理(启用/禁用)
  • 用户删除功能
  • 权限控制(仅管理员可访问)
  • 用户详情页面
  • 导入/导出功能

4. 任务管理模块 ✅

  • 任务列表(支持分页查询)
    • 显示任务状态
    • 显示任务进度
    • 显示任务URL和标题
    • 显示音频和字幕文件链接
    • 显示创建时间
  • 任务筛选
    • 状态筛选
    • 公开性筛选
    • URL搜索
    • 标题搜索
    • 时间范围筛选
  • 任务创建
    • 支持URL输入
    • 可设置公开/私有状态
  • 任务编辑
    • 修改标题
    • 修改公开性
  • 任务文件管理
    • 支持音频文件(.mp3)下载
    • 支持字幕文件(.srt)下载
  • 任务操作
    • 支持删除任务
    • 支持重试失败任务
    • 支持任务状态自动更新
  • 复制功能
    • 支持复制任务ID
    • 支持复制任务URL

5. 系统设置模块 ✅

  • 系统参数配置
    • 支持查看所有配置项
    • 支持修改配置值
    • 支持修改配置类型
    • 支持修改配置描述
    • 支持重置为默认值
    • 实时编辑状态显示
  • 日志查看(待实现)
  • 资源使用统计(待实现)

6. 仪表盘模块 ✅

  • 显示欢迎信息
  • 显示用户基本信息
    • 用户名/昵称
    • 邮箱地址
    • 上次登录时间

运行项目

  1. 安装依赖:
npm install
  1. 启动开发服务器:
npm run dev
  1. 构建生产版本:
npm run build

部署说明

  1. 构建项目生成dist目录
  2. 配置nginx代理
  3. 设置环境变量
  4. 启动服务

贡献指南

  1. Fork项目
  2. 创建特性分支
  3. 提交代码
  4. 发起Pull Request

注意事项

  1. 遵循TypeScript类型定义
  2. 做好错误处理
  3. 注重代码性能
  4. 保持文档更新