# mingketangbug **Repository Path**: hs205118/mingketangbug ## Basic Information - **Project Name**: mingketangbug - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-30 - **Last Updated**: 2026-07-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 名课堂企业管理培训网 — 系统技术文档 > **文档版本**:V1.0     **日期**:2026年3月29日 > **项目状态**:核心功能主体框架已完成,持续迭代优化中 --- ## 目录 1. [项目概述](#1-项目概述) 2. [技术架构](#2-技术架构) 3. [前台模块(游客/访客端)](#3-前台模块游客访客端) - 3.1 [首页](#31-首页) - 3.2 [公开课列表与详情](#32-公开课列表与详情) - 3.3 [内训课程列表与详情](#33-内训课程列表与详情) - 3.4 [培训讲师](#34-培训讲师) - 3.5 [培训资讯](#35-培训资讯) - 3.6 [培训动态](#36-培训动态) - 3.7 [热门资讯](#37-热门资讯) - 3.8 [搜索与报名](#38-搜索与报名) 4. [后台管理系统](#4-后台管理系统) - 4.1 [登录与权限体系](#41-登录与权限体系) - 4.2 [仪表盘](#42-仪表盘) - 4.3 [公开课管理](#43-公开课管理) - 4.4 [内训课管理](#44-内训课管理) - 4.5 [培训动态管理](#45-培训动态管理) - 4.6 [热门资讯管理](#46-热门资讯管理) - 4.7 [分类管理](#47-分类管理) - 4.8 [其他管理模块](#48-其他管理模块) 5. [角色与权限设计](#5-角色与权限设计) 6. [数据流转逻辑](#6-数据流转逻辑) 7. [后续规划与待沟通事项](#7-后续规划与待沟通事项) --- ## 1. 项目概述 ### 项目定位 名课堂企业管理培训网是一个 **B2B 企业培训服务平台**,面向三类用户群体: | 用户类型 | 说明 | |---------|------| | **游客/企业HR** | 浏览课程、查看讲师、搜索培训资源、在线报名 | | **培训机构** | 注册账号后自助发布公开课,管理自己的课程和排期 | | **培训讲师** | 注册账号后自助发布内训课,管理自己的课程内容 | | **平台管理员** | 审核内容、管理数据、运营平台 | ### 核心目标 1. **信息展示**:将公开课、内训课、讲师信息以专业的方式呈现给游客,引导咨询报名 2. **内容管理**:管理员可以方便地管理所有培训相关数据 3. **自助发布**:机构和讲师可以自己登录后台发布课程(需管理员审核后才公开) 4. **数据安全**:使用"禁用"而非"删除"的逻辑,保护历史数据完整性 --- ## 2. 技术架构 ``` ┌──────────────────────────────────────────────────────┐ │ 用户浏览器 │ │ 前台(游客端) ←→ 后台(管理端) │ └─────────────────────┬────────────────────────────────┘ │ HTTP API ┌─────────────────────┴────────────────────────────────┐ │ 前端 (React + Vite) │ │ Ant Design UI 组件 + TailwindCSS 样式 │ │ 端口 5173 (开发) / 静态部署 │ └─────────────────────┬────────────────────────────────┘ │ /api/* ┌─────────────────────┴────────────────────────────────┐ │ 后端 (Python FastAPI) │ │ SQLAlchemy ORM + JWT 认证 │ │ 端口 8000 │ └─────────────────────┬────────────────────────────────┘ │ ┌─────────────────────┴────────────────────────────────┐ │ 数据库 (MySQL 8.4) │ │ 25+ 数据表,涵盖课程/讲师/机构/文章等 │ └──────────────────────────────────────────────────────┘ ``` **为什么选择这套技术栈?** - **FastAPI**:Python 生态最现代的 Web 框架,自动生成 API 文档,开发效率高 - **React + Vite**:主流前端技术,构建速度快,组件化开发 - **Ant Design**:企业级 UI 组件库,自带中文支持,表格/表单/弹窗等开箱即用 - **MySQL**:稳定可靠的关系型数据库,适合结构化培训数据 --- ## 3. 前台模块(游客/访客端) 前台是面向普通游客的展示页面,目标是让企业 HR 或培训负责人能快速找到需要的课程和讲师。 ### 3.1 首页 首页是整个网站的门户,集中展示平台核心内容。目前包含以下区块: ![首页顶部](screenshots/01b_homepage_top.png) **① Hero 区域 + 搜索框** - 突出平台定位"专注企业管理培训" - 搜索框支持课程/讲师/关键词搜索 - 底部展示热门城市快捷入口 **② 数据统计栏** - 展示平台规模数据:20,000+ 课程、5,000+ 讲师、200+ 城市、300,000+ 学员 - **设计目的**:增强访客信任感 **③ 培训课程分类** - 14 个大类 + 对应小类(如"销售技巧培训"下有"市场营销培训""大客户销售培训"等) - 点击任意分类跳转到对应课程列表 - **数据来源**:后台"分类管理"模块,管理员可新增/修改/禁用分类 ![首页完整](screenshots/01_homepage_full.png) **④ 热门公开课**(2 列布局,随机展示) - 管理员在后台标记"热门"的课程会优先显示 - 每次访问随机排序,动态刷新 - 展示课程名、价格、地点、简介 **⑤ 公开课板块**(3 列卡片布局) - 价格、地点和标题在同一行,方便快速比较 - 展示更多课程简介内容 - 从已审核课程中随机抽取 12 门展示 **⑥ 内训课程版块**(3 列卡片布局) - 主讲老师和课程名称在同一行 - 从已审核内训课中随机抽取 12 门展示 **⑦ 金牌讲师**(4 列人物卡片) - 管理员标记为"金牌"的讲师优先展示 - 显示讲师头像、姓名、课程数量 - 随机排序展示 **⑧ 热门资讯**(3 列) - 管理员在后台录入的培训行业资讯 - 展示标题、摘要、发布日期 **⑨ 培训动态**(3 列带封面图) - 近期培训活动记录 **⑩ 关键词 + 友情链接** > **为什么首页用"随机排序"?** > 每次刷新页面看到的内容不完全相同,一方面让更多课程获得曝光机会,另一方面给游客"内容丰富"的感觉。管理员标记的"热门课程"和"金牌讲师"会优先出现,兼顾了运营控制和动态展示。 --- ### 3.2 公开课列表与详情 ![公开课列表](screenshots/02_open_courses.png) **公开课列表页**: - 左侧分类导航面板:按大类 → 小类筛选 - 支持按城市筛选、关键词搜索 - 每张课程卡片展示:名称、价格、地点、日期、机构名 ![课程详情](screenshots/02b_course_detail.png) **课程详情页**: - 面包屑导航(首页 > 公开课 > 课程名) - 课程完整大纲(富文本内容) - 排期信息(时间、地点、价格) - 报名入口 --- ### 3.3 内训课程列表与详情 ![内训课列表](screenshots/03_house_courses.png) - 展示内训课程名称、主讲讲师、课程简介 - 支持筛选和搜索 - 详情页包含完整课程大纲 > **公开课 vs 内训课的区别**: > - **公开课**:由培训机构发布,有明确的时间/地点/价格,任何企业可报名 > - **内训课**:由讲师发布,没有固定排期,企业联系后定制培训方案 --- ### 3.4 培训讲师 ![讲师列表](screenshots/04_lecturers.png) - 讲师卡片展示:头像、姓名、擅长领域 - 支持搜索 ![讲师详情](screenshots/04b_lecturer_detail.png) - 讲师完整简历 - 关联的课程列表 --- ### 3.5 培训资讯 ![培训资讯](screenshots/05_articles.png) - 培训行业文章列表 - 展示标题、阅读次数、日期 - 点击查看文章全文 --- ### 3.6 培训动态 ![培训动态](screenshots/06_dynamics.png) **设计理念**:展示"我们最近做了什么培训",增强平台可信度。 - 培训活动记录:时间、客户、课程、现场照片 - 每条动态可以关联具体的公开课或内训课程(底部显示关联链接) - 游客看到培训动态后,如果感兴趣可以直接点击关联课程去了解详情 > **为什么要做培训动态?** > 这个模块相当于平台的"案例展示"。让游客看到平台真实做过的培训,包括在哪里、为哪个客户、上了什么课、现场什么样。这比单纯罗列课程更有说服力。 --- ### 3.7 热门资讯 ![热门资讯](screenshots/07_hot_news.png) - 管理员发布的培训行业热点资讯 - 3 列卡片布局,标题 + 摘要 + 日期 - 点击进入详情阅读全文 --- ### 3.8 搜索与报名 - **统一搜索**:可同时搜索公开课、内训课、讲师、文章 - **在线报名**:填写企业和联系人信息提交报名 --- ## 4. 后台管理系统 后台是面向管理员和授权用户(机构/讲师)的内容管理系统。 ### 4.1 登录与权限体系 ![登录页](screenshots/10_admin_login.png) - 用户名+密码登录 - JWT Token 认证 - 四种角色:管理员、审核员、机构用户、讲师用户 - 不同角色看到不同的菜单(详见第 5 节) --- ### 4.2 仪表盘 ![仪表盘](screenshots/11_dashboard.png) - 展示核心统计数据:课程总数、讲师总数、机构总数、客户总数等 - 管理员登录后的首页概览 --- ### 4.3 公开课管理 公开课管理是一个完整的流程体系,包含四个子模块: #### 4.3.1 机构管理 ![机构管理](screenshots/12_org_management.png) **功能说明**: - 管理培训机构的基础信息(名称、所在城市、网站等) - **自动创建关联账号**:添加机构时自动创建对应的登录账号,机构可以自己登录后台发布课程 - 查看机构关联的用户名 - 支持搜索和分页 **设计思路**: > 机构管理融合了"机构信息"和"用户账号"。管理员添加一个机构 = 注册了一个机构账号。机构方拿到账号后可以自己登录后台发布公开课。 #### 4.3.2 待审核公开课 - 机构用户自己登录后,在"我的发布"中创建课程 - 创建的课程初始状态为"待审核" - 管理员在此模块审核:通过 / 驳回 #### 4.3.3 已通过课程 ![已通过课程](screenshots/13_open_courses_admin.png) - 管理员自己也可以直接创建课程(无需审核) - 管理课程排期(开课时间、地点、价格) - 富文本编辑器编辑课程大纲 - 支持搜索、分页 #### 4.3.4 热门课程标记 ![热门课程](screenshots/14_hot_courses.png) - 列出所有已审核通过的公开课 - 管理员通过开关标记哪些课程为"热门" - 被标记为热门的课程会在首页"热门公开课"区块优先展示 > **为什么要"热门标记"而不是自动推荐?** > 给管理员主动控制权,可以根据运营策略手动推荐特定课程,比如合作深的机构课程、近期主推课程等。 --- ### 4.4 内训课管理 内训课管理的思路和公开课一样,**讲师相当于机构的角色**。 #### 4.4.1 讲师管理 ![讲师管理](screenshots/15_lecturer_mgmt.png) **功能说明**: - 管理讲师基础信息(姓名、擅长领域、简历) - **自动创建关联账号**:添加讲师时自动创建登录账号 - **金牌讲师标记**:通过开关标记金牌讲师,金牌讲师会在首页优先展示 - 查看讲师的课程数量 **设计思路**: > 和机构管理一样,管理员添加讲师 = 创建讲师账号。讲师可以自己登录后台发布内训课程。 #### 4.4.2 讲师审核 - 讲师也可以自主注册 - 注册后处于"待审核"状态 - 管理员审核通过后讲师才能使用后台 #### 4.4.3 待审核内训课 - 讲师发布的内训课需要管理员审核 - 审核通过后才在前台展示 #### 4.4.4 已通过内训课 ![内训课管理](screenshots/16_house_courses_admin.png) - 管理所有已审核通过的内训课 - 富文本编辑课程内容 - 搜索、分页 --- ### 4.5 培训动态管理 ![培训动态管理](screenshots/17_dynamics_admin.png) **功能说明**: - 管理员添加/编辑培训活动记录 - 每条记录包含:标题、客户名称、培训时间、现场图片、富文本详情 - **关联课程功能**:底部可以添加关联的公开课或内训课,前端会展示课程链接 - 支持排序 **设计思路**: > 培训动态是平台的"案例展示"。管理员做完一次培训后,在这里记录下来。这个模块与课程没有必然关联——核心是"我做了一个培训,现在展示给游客看"。底部的关联课程是引导游客从"看案例"到"找课程"的桥梁。 --- ### 4.6 热门资讯管理 ![热门资讯管理](screenshots/18_hot_news_admin.png) **功能说明**: - 管理员录入培训行业资讯 - 富文本编辑器编写内容 - 添加封面图、摘要 - 支持排序控制显示顺序 **设计目的**: > 让首页不全是课程列表和链接。资讯板块可以展示更多文字内容,让首页看起来内容更丰富、更有深度。同时也有助于 SEO 收录。 --- ### 4.7 分类管理 ![分类管理](screenshots/19_categories.png) **功能说明**: - 管理 14 个培训大类和对应的小类 - 树形展开显示(大类展开可以看到下面的小类) - 支持:新增大类、新增小类、编辑、搜索 - **禁用/启用**(不是删除!):禁用一个大类会自动禁用它下面所有小类 **为什么"禁用"而不是"删除"?** > 如果直接删除一个分类,以前归在这个分类下的课程、文章就会出问题(分类字段变成空或者报错)。使用"禁用"机制,历史数据保持完整,只是被禁用的分类不再出现在前台导航和筛选中。 **分类数据结构**: | 大类 | 包含小类 | |------|---------| | 销售技巧培训 | 市场营销、大客户销售、销售管理、渠道管理、新媒体营销、终端销售、客户关系管理 | | 生产管理培训 | 生产计划、班组长、一线主管、生产现场、质量管理、生产成本、设备管理、精益生产、安全生产 | | 人力资源培训 | 人力资源规划、招聘面试、培训管理、绩效管理、薪酬设计、劳动关系、企业文化、人事管理 | | 采购管理培训 | 采购谈判、供应商管理、采购成本、招投标、采购合同 | | 物流管理培训 | 仓储管理、物流管理、供应链管理 | | 行政管理培训 | 行政文秘、档案管理、公文写作、办公软件、AI培训、新闻宣传 | | 财税会计培训 | 成本管理、预算管理、财务战略 | | 研发管理培训 | 产品经理、IPD | | 管理技巧培训 | 角色认知、沟通技巧、领导力、执行力、问题分析与解决、七个习惯、时间管理、会议管理 | | 客服礼仪培训 | 客户服务、商务礼仪 | | 战略管理培训 | 战略规划、经营管理 | | 国际贸易培训 | 进出口、商品归类 | | 内控审计培训 | 内部审计、内部控制、流程管理、风险管理、合规管理 | | 体系认证培训 | ISO9001、ISO14001、IATF16949 | --- ### 4.8 其他管理模块 #### 文章管理 ![文章管理](screenshots/20_articles_admin.png) - 培训行业文章的增删改查 - 可以关联到分类 #### 客户管理 ![客户管理](screenshots/21_customers.png) - 管理报名客户信息 - 记录联系方式、状态 #### 用户管理 ![用户管理](screenshots/22_users.png) - 管理所有系统用户(管理员、审核员、机构、讲师) - 创建用户、重置密码、启用/停用 - 审核自注册的机构和讲师账号 #### 系统配置 ![系统配置](screenshots/23_system_config.png) - 动态配置项管理(角色名称映射、状态名称映射等) - 无需修改代码即可调整系统行为 #### 其他 - **广告管理**:管理首页和站内广告位 - **友情链接**:管理友情链接 - **联系人管理**:管理平台客服/联系人信息(展示在页面头部和底部) --- ## 5. 角色与权限设计 系统采用 **四角色** 设计,不同角色登录后看到不同的菜单和数据: ### 管理员(admin)— 完整权限 ``` ├─ 仪表盘 ├─ 公开课管理 │ ├─ 机构管理(含账号创建) │ ├─ 待审核公开课 │ ├─ 已通过课程(含排期管理) │ └─ 热门课程(标记热门) ├─ 内训课管理 │ ├─ 讲师管理(含金牌标记、账号创建) │ ├─ 讲师审核 │ ├─ 待审核内训课 │ └─ 已通过课程 ├─ 客户管理 ├─ 文章管理 ├─ 培训动态(含关联课程) ├─ 热门资讯 ├─ 数据管理 → 分类管理 ├─ 广告管理 ├─ 友情链接 ├─ 联系人管理 ├─ 用户管理 └─ 系统配置 ``` ### 机构用户(org)— 只看到自己的内容 ``` ├─ 仪表盘 ├─ 公开课管理 │ └─ 我的发布(发布/编辑/删除自己的课程) └─ 我的培训动态 ``` > 机构用户发布的课程需要管理员审核后才会公开展示。 ### 讲师用户(lecturer)— 只看到自己的内容 ``` ├─ 仪表盘 ├─ 内训课管理 │ └─ 我的发布(发布/编辑/删除自己的课程) └─ 我的培训动态 ``` > 讲师发布的内训课同样需要管理员审核。 ### 审核员(auditor)— 与管理员类似但权限略有限制 - 可以审核课程、管理内容等 - 但不能管理系统配置和用户 --- ## 6. 数据流转逻辑 ### 公开课从发布到展示的完整流程 ``` 管理员创建机构 → 自动创建机构账号 ↓ 机构登录后台 → 发布公开课 ↓ 管理员审核公开课 ├─ 通过 → 课程在前台展示 │ 管理员可标记"热门" → 首页热门区块优先展示 └─ 驳回 → 机构修改后重新提交 ``` ### 内训课从发布到展示的完整流程 ``` 管理员添加讲师 → 自动创建讲师账号 ↓ 讲师登录后台 → 发布内训课 ↓ 管理员审核内训课 ├─ 通过 → 课程在前台展示 └─ 驳回 → 讲师修改后重新提交 ↓ 管理员标记"金牌讲师" → 首页金牌讲师区块优先展示 ``` ### 分类数据在各处的关联关系 ``` 分类管理(大类 + 小类) ↓ 关联到 公开课 ←→ 分类(多对多,一门课可以属于多个分类) 内训课 ←→ 分类 文 章 ←→ 分类 讲 师 ←→ 分类(擅长领域) ↓ 影响 首页分类导航、课程列表筛选、搜索 ↓ 禁用分类 → 前台不再显示该分类(但历史数据不受影响) ``` --- ## 7. 后续规划与待沟通事项 ### 已完成的核心功能 | 模块 | 前台 | 后台 | 状态 | |------|------|------|------| | 首页展示(9大区块) | ✅ | ✅ | 主框架完成 | | 公开课(列表/详情/搜索/筛选) | ✅ | ✅ | 完成 | | 公开课管理(机构/审核/发布) | — | ✅ | 完成 | | 内训课(列表/详情/搜索/筛选) | ✅ | ✅ | 完成 | | 内训课管理(讲师/审核/发布) | — | ✅ | 完成 | | 培训讲师(列表/详情) | ✅ | ✅ | 完成 | | 金牌讲师标记 | ✅ | ✅ | 完成 | | 热门公开课标记 | ✅ | ✅ | 完成 | | 培训动态(含关联课程) | ✅ | ✅ | 完成 | | 热门资讯 | ✅ | ✅ | 完成 | | 培训资讯/文章 | ✅ | ✅ | 完成 | | 分类管理(禁用不删除) | ✅ | ✅ | 完成 | | 搜索功能 | ✅ | ✅ | 完成 | | 报名表单 | ✅ | ✅ | 完成 | | 用户/权限管理 | — | ✅ | 完成 | ### 待进一步沟通的事项 1. **首页右侧轮播图** - 右侧的图片滚动区域如何维护? - 是否单独做一个"首页轮播图管理"模块? - 目前已有"广告管理"模块,可以扩展使用 2. **首页各区块的细节样式** - 大方向框架已搭好,每个区块的具体布局细节可以继续调整 - 如分类是"每行放 2 个大类"还是其他布局 3. **随机展示算法** - 目前采用数据库级随机 + 管理员标记优先的方式 - 是否需要更智能的推荐算法(如根据地区、访问记录) 4. **移动端适配** - 当前以桌面端为主 - 后续需要讨论移动端布局方案 5. **SEO 优化** - 页面标题、描述、关键词的动态设置 - 课程/讲师/文章页面的 SEO 结构化数据 6. **数据统计/分析** - 是否需要更详细的访问统计(页面PV、课程点击排名等) - 报名数据的统计报表 --- > **说明**:本文档基于当前系统截图和代码实现编写,所有截图均为当前运行状态的真实页面。系统正在持续迭代中,部分页面样式和功能会根据后续沟通持续优化。