PlayerFeedback 插件开发日志
项目概述
插件名称 : PlayerFeedback (玩家反馈系统)
版本 : 1.0-SNAPSHOT
开发语言 : Kotlin
目标平台 : Spigot/Paper 1.21+
开发时间: 2025年11月
功能设计
🎯 核心功能模块
1. 反馈提交系统
- 功能描述: 玩家可以通过命令或GUI界面提交各种类型的反馈
 - 实现方式 :
- 命令: 
/feedback <类型> <内容> - GUI界面: 
/feedback打开反馈界面 
 - 命令: 
 - 反馈类型 :
- 🐛 Bug报告 (bug)
 - 💡 建议 (suggestion)
 - 🚨 举报 (report)
 - ❓ 问题咨询 (question)
 - 👍 表扬 (praise)
 - 📝 其他 (other)
 
 
1.1 反馈互动评价系统
- 功能描述: 玩家可以对其他玩家的反馈进行评价和支持
 - 评价类型 :
- 正面评价 :
- 👍 赞同 (agree) - "说出了我的心声"
 - ❤️ 支持 (support) - "我也遇到了这个问题"
 - 💡 有用 (helpful) - "这个建议很有价值"
 - 🔥 重要 (important) - "这个问题很紧急"
 
 - 负面评价 :
- 👎 不赞同 (disagree) - "我不认同这个观点"
 - ❌ 无关 (irrelevant) - "这个反馈与服务器无关"
 - 🚫 重复 (duplicate) - "这个问题已经有人反馈过了"
 - ⚠️ 误导 (misleading) - "这个信息不准确或有误导性"
 
 
 - 正面评价 :
 - 评价功能 :
- 每个玩家对每个反馈只能评价一次
 - 可以修改自己的评价
 - 显示评价统计和玩家列表
 
 
2. 反馈管理系统
📋 玩家命令系统
- 
基础命令:
/feedback- 打开反馈主界面/feedback <类型> <内容>- 快速提交反馈/feedback my- 查看个人反馈历史/feedback view <ID>- 查看指定反馈详情/feedback reply <ID> <消息>- 回复反馈对话/feedback close <ID>- 玩家主动关闭反馈
 - 
评价互动命令:
/feedback rate <ID> <类型>- 对反馈进行评价/feedback unrate <ID>- 取消对反馈的评价/feedback view <ID>- 打开反馈评价界面/feedback ratings <ID>- 查看反馈的所有评价列表/feedback hot- 查看热门反馈 (高评分反馈)
 - 
讨论系统命令:
/feedback discuss <ID>- 打开反馈讨论界面/feedback comment <ID> <讨论内容>- 对反馈发表讨论/feedback discussions <ID> [页码]- 查看反馈的讨论列表 (支持分页)
 
🛠️ 管理员命令系统
- 
基础管理命令:
/feedbackadmin- 打开管理主界面/feedbackadmin list [筛选条件]- 查看反馈列表/feedbackadmin view <ID>- 查看详细反馈/feedbackadmin reply <ID> <回复内容>- 回复反馈/feedbackadmin status <ID> <状态>- 更改反馈状态/feedbackadmin assign <ID> <管理员>- 分配给其他管理员/feedbackadmin tag <ID> <标签>- 添加标签/feedbackadmin delete <ID>- 删除反馈
 - 
高级筛选命令:
/feedbackadmin filter player <玩家名>- 按玩家筛选/feedbackadmin filter type <类型>- 按类型筛选/feedbackadmin filter status <状态>- 按状态筛选/feedbackadmin filter time <时间范围>- 按时间筛选/feedbackadmin search <关键词>- 关键词搜索/feedbackadmin player <玩家名>- 查看指定玩家的所有反馈
 - 
统计和报告命令:
/feedbackadmin stats- 查看反馈统计/feedbackadmin hot- 查看热门反馈排行/feedbackadmin trending- 查看趋势反馈 (最近评价多的)/feedbackadmin export [条件]- 导出反馈数据/feedbackadmin report daily/weekly/monthly- 生成报告
 
📊 反馈状态系统
- 状态流转 :
- 🟡 待处理 (pending) → 🔵 处理中 / 🔴 已拒绝
 - 🔵 处理中 (processing) → 🟢 已解决 / 🟡 待处理 / 🔴 已拒绝
 - 🟢 已解决 (resolved) → ⚪ 已关闭 / 🔵 处理中 (重新打开)
 - 🔴 已拒绝 (rejected) → ⚪ 已关闭 / 🔵 处理中 (重新审核)
 - ⚪ 已关闭 (closed) → 🔵 处理中 (重新打开)
 
 
3. 数据存储系统
- 存储方式: 本地文件存储 (优先考虑简单性和可靠性)
 - 存储格式 :
- 主要存储 : SQLite数据库 (本地 
feedbacks.db文件) - 配置存储 : YAML配置文件 (
config.yml) - 缓存存储: 内存缓存 + 本地临时文件
 - 备份存储: 定期本地备份文件
 
 - 主要存储 : SQLite数据库 (本地 
 
4. 互动对话系统
💬 多轮对话机制
- 
对话特性:
- 支持玩家和管理员之间的多轮对话
 - 每条消息都有时间戳和发送者标识
 - 支持消息引用和回复
 - 自动保存对话历史
 
 - 
互动流程:
玩家提交反馈 → 管理员查看并回复 → 玩家收到通知 → 玩家继续对话 → 循环直到解决 - 
对话功能:
- 📝 消息发送: 支持文本消息 (未来可扩展图片)
 - 🔔 实时通知: 新消息实时推送给相关人员
 - 📖 消息状态: 已读/未读状态跟踪
 - 🏷️ 消息标签: 重要消息可添加标签
 - 📎 消息引用: 可引用之前的消息进行回复
 
 
🔔 通知系统
- 
玩家通知:
- ✅ 反馈提交成功通知
 - 💬 管理员回复通知 (实时 + 上线提醒)
 - 📊 反馈状态变更通知
 - 🎯 重要消息优先通知
 - 📱 离线消息汇总 (玩家上线时)
 
 - 
管理员通知:
- 🆕 新反馈提交通知
 - 💬 玩家回复通知
 - ⏰ 长时间未处理提醒
 - 📊 每日反馈统计提醒
 - 🚨 紧急反馈优先通知
 
 
📨 消息模板系统
- 
快速回复模板:
yamltemplates: acknowledge: "感谢您的反馈,我们已经收到并开始处理。" investigating: "我们正在调查这个问题,请耐心等待。" need_more_info: "请提供更多详细信息以便我们更好地帮助您。" resolved: "问题已解决,请确认是否还有其他需要帮助的地方。" rejected: "很抱歉,经过评估后我们无法采纳这个建议。" - 
自动回复机制:
- 反馈提交后自动发送确认消息
 - 状态变更时自动通知相关人员
 - 长时间无回复自动发送提醒
 
 
5. GUI界面系统
🎮 玩家端界面设计
A. 反馈主界面 (/feedback)
- 
界面布局: 6x9 (54格) 主界面
 - 
功能区域:
[新建反馈] [我的反馈] [热门反馈] [帮助说明] [ ] [ ] [ ] [ ] [关闭] [Bug报告 ] [功能建议] [玩家举报] [问题咨询] [服务表扬] [其他反馈] [ ] [ ] [ ] [🔍筛选条件🔍] [📅时间: 全部] [🔄排序: 最新] [ ] [ ] [ ] [ ] [ ] [ ] [📝反馈1] [📝反馈2] [📝反馈3] [📝反馈4] [📝反馈5] [📝反馈6] [📝反馈7] [📝反馈8] [📝反馈9] [📝反馈10] [📝反馈11] [📝反馈12] [📝反馈13] [📝反馈14] [📝反馈15] [📝反馈16] [📝反馈17] [📝反馈18] [上一页 ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [下一页] - 
筛选排序功能:
- 
🔍 筛选按钮 (统一筛选控制):
- 🖱️ 左键点击: 切换筛选类型 (时间→状态→类型→评分→时间...)
 - 🖱️ 右键点击: 切换当前筛选类型的子选项
 
 - 
📅 时间筛选选项:
- 全部 → 今日 → 本周 → 本月 → (循环)
 
 - 
📊 状态筛选选项:
- 全部 → 🟡待处理 → 🔵处理中 → 🟢已解决 → 🔴已拒绝 → ⚪已关闭 → (循环)
 
 - 
🏷️ 类型筛选选项:
- 全部 → 🐛Bug报告 → 💡建议 → 🚨举报 → ❓问题 → 👍表扬 → 📝其他 → (循环)
 
 - 
⭐ 评分筛选选项:
- 全部 → 高评分(8+) → 中评分(5-8) → 低评分(<5) → 无评分 → (循环)
 
 - 
🔄 排序方式:
- 最新优先 → 最旧优先 → 评分最高 → 评价最多 → 热度最高(按总评价数) → (循环)
 
 
 - 
 - 
界面交互设计:
- 🔍 筛选按钮交互 :
- 显示格式: 
[📅时间: 全部](图标+类型+当前值) - 🖱️ 左键: 切换筛选类型 (时间→状态→类型→评分)
 - 🖱️ 右键: 切换当前类型的子选项
 - 💡 悬浮提示: "左键切换类型 | 右键切换选项"
 
 - 显示格式: 
 - 🔄 排序按钮交互 :
- 显示格式: 
[🔄排序: 最新] - 🖱️ 点击: 循环切换排序方式
 
 - 显示格式: 
 - 📋 反馈卡片 : 每个格子显示一个反馈 
[📝反馈标题] - 🖱️ 鼠标悬浮显示详细信息 :
- 反馈完整标题和内容预览 (最多150字符)
 - 反馈类型图标、作者名称、提交时间
 - 当前状态和处理进度
 - 评价统计 (👍正面/👎负面数量、总热度)
 - 讨论参与人数和最新讨论时间
 - 管理员回复状态 (是否有未读回复)
 
 - 🖱️ 鼠标点击操作 :
- 左键: 打开反馈评价界面
 - 右键: 打开反馈讨论界面
 
 - 📄 分页导航: 支持翻页查看更多反馈
 
 - 🔍 筛选按钮交互 :
 
B. 个人反馈界面 (/feedback my)
- 界面功能 :
- 📋 反馈列表显示 (支持分页)
 - 🔍 状态筛选 (全部/待处理/处理中/已解决/已拒绝)
 - 📅 时间排序 (最新/最旧)
 - 🏷️ 类型筛选 (Bug/建议/举报等)
 
 - 反馈卡片信息 :
- 反馈ID、类型图标、标题
 - 状态颜色标识
 - 创建时间、最后更新时间
 - 未读回复提示 (红点标识)
 
 
C. 反馈详情界面
- 
对话式界面设计 :
┌─────────────────────────────────────────┐ │ 反馈 #001 - Bug报告 │ │ 状态: 🔵处理中 热度: 🔥47票 │ │ 创建时间: 2025-11-03 14:30 │ │ 👍正面: 👍12 ❤️8 💡15 🔥5 (共40票) │ │ 👎负面: 👎3 ❌1 🚫2 ⚠️1 (共7票) │ │ 📊评分: 8.5/10 赞同率: 85.1% │ ├─────────────────────────────────────────┤ │ 👤 玩家消息 (14:30) │ │ 服务器在挖矿时经常卡顿,特别是在深层... │ ├─────────────────────────────────────────┤ │ 👨💼 管理员回复 (15:45) │ │ 我们已经收到你的反馈,正在调查这个问题... │ ├─────────────────────────────────────────┤ │ 👤 玩家追加 (16:20) │ │ 问题还是存在,而且现在连放置方块都卡... │ ├─────────────────────────────────────────┤ │ 正面评价: [👍赞同] [❤️支持] [💡有用] [🔥重要] │ │ 负面评价: [👎不赞同] [❌无关] [🚫重复] [⚠️误导] │ │ [继续对话] [查看评价] [查看相关] [返回] │ └─────────────────────────────────────────┘ 
D. 反馈评价界面 (左键点击任意反馈打开)
- 
触发方式: 鼠标悬浮到反馈 → 左键点击打开评价界面
 - 
界面布局: 6x9 (54格) 评价界面
 - 
功能区域:
[📝反馈内容] [👤作者: PlayerName] [📅时间: 11-03 14:30] [📊状态: 🔵处理中] [📋他的反馈] [讨论区] [ ] [返回] [反馈标题: "服务器挖矿卡顿问题"] [反馈详细内容显示区域...] [ ] [ ] [ ] [ ] [ ] [ ] [👍正面评价👍] [玩家A: 👍赞同] [玩家B: ❤️支持] [玩家C: 💡有用] [玩家D: 🔥重要] [玩家E: 👍赞同] [更多...] [ ] [👎负面评价👎] [玩家F: 👎不赞同] [玩家G: ❌无关] [玩家H: 🚫重复] [ ] [ ] [ ] [ ] [ ] [📊评价统计📊] [👍40票 85%] [👎7票 15%] [总分: 8.5/10] [热度: 🔥47票] [查看全部评价] [ ] [ ] [我的操作] [👍赞同] [❤️支持] [💡有用] [🔥重要] [👎不赞同] [❌无关] [🚫重复] [⚠️误导] - 
界面元素设计:
- 📋 第一行信息栏 :
- 📝 反馈内容: 点击查看完整反馈内容
 - 👤 作者信息: 显示反馈作者名称
 - 📅 反馈时间: 显示提交时间
 - 📊 反馈状态: 显示当前处理状态
 - 📋 他的反馈: 点击查看该作者的所有反馈历史
 - 🔗 讨论区: 切换到讨论界面
 
 - 📝 反馈详情区: 显示反馈标题和详细内容
 - 👥 评价玩家区 : 使用命名牌显示评价玩家列表
- 正面评价区: 绿色命名牌显示 "玩家名: 👍赞同"
 - 负面评价区: 红色命名牌显示 "玩家名: 👎不赞同"
 
 - 📊 评价统计区 : 显示评价统计数据
- 正面/负面评价数量和比例
 - 综合评分和热度显示
 - [查看全部评价] 按钮 - 打开完整评价列表界面
 
 - 🎮 操作按钮区: 玩家可以进行评价的按钮
 - 📄 分页显示 :
- 每行显示有限数量的评价,用 [更多...] 表示还有更多
 - 点击 [更多...] 或 [查看全部评价] 查看完整列表
 
 
 - 📋 第一行信息栏 :
 
E. 反馈讨论界面 (右键点击任意反馈打开)
- 
触发方式: 鼠标悬浮到反馈 → 右键点击打开讨论界面
 - 
界面布局: 6x9 (54格) 讨论界面
 - 
功能区域:
[📝反馈内容] [👤作者: PlayerName] [📅时间: 11-03 14:30] [📊状态: 🔵处理中] [📋他的反馈] [评价区] [ ] [返回] [👤玩家A] [👤玩家B] [👤玩家C] [👤玩家D] [👤玩家E] [👤玩家F] [👤玩家G] [👤玩家H] [👤玩家I] [👤玩家J] [👤玩家K] [👤玩家L] [👤玩家M] [👤玩家N] [👤玩家O] [👤玩家P] [👤玩家Q] [👤玩家R] [👤玩家S] [👤玩家T] [👤玩家U] [👤玩家V] [👤玩家W] [👤玩家X] [👤玩家Y] [👤玩家Z] [ ] [👤管理员A] [👤管理员B] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [上一页] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [下一页] [💬发表讨论] [🔄刷新] [📅按时间排序] [👤按玩家筛选] [ ] [ ] [ ] [ ] [ ] - 
界面元素设计:
- 📋 第一行信息栏 :
- 📝 反馈内容: 点击查看完整反馈内容
 - 👤 作者信息: 显示反馈作者名称
 - 📅 反馈时间: 显示提交时间
 - 📊 反馈状态: 显示当前处理状态
 - 📋 他的反馈: 点击查看该作者的所有反馈历史
 - 🔗 评价区: 切换到评价界面
 
 - 💭 讨论内容区 : (第2-6行) 显示参与讨论的玩家
- 每个格子显示一个玩家: 
[👤玩家名] - 按玩家发表讨论的时间排序 (默认最早发言在前)
 - 使用命名牌或玩家头颅显示
 - 🖱️ 鼠标悬浮显示详细信息 :
- 玩家名称和发言时间
 - 完整的讨论内容
 - 该玩家在此反馈下的发言次数
 - 最后发言时间
 
 - 🖱️ 点击操作: 点击玩家可查看该玩家的所有反馈
 
 - 每个格子显示一个玩家: 
 - 📄 分页控制区 : (第7行)
- [上一页] 和 [下一页] 按钮
 - 每页显示最多45个玩家 (5行×9列)
 
 - 🎮 操作按钮区 : (第8行) 玩家操作功能
- 💬发表讨论: 发表新的讨论发言
 - 🔄刷新: 刷新讨论内容
 - 📅按时间排序: 切换时间排序 (最早发言/最晚发言)
 - 👤按玩家筛选: 筛选特定玩家或管理员
 
 
 - 📋 第一行信息栏 :
 
G. 热门反馈界面 (/feedback hot)
- 界面功能 :
- 📈 按评分排序显示热门反馈
 - 🔥 显示趋势反馈 (最近评价增长快的)
 - 📊 评价统计可视化显示
 - 🏆 本周/本月热门反馈排行榜
 
 - 排序选项 :
- 综合评分排序 (默认)
 - 总评价数排序
 - 最近热度排序
 - 特定类型评价排序 (如最多"重要"评价)
 
 
🛠️ 管理员端界面设计
A. 反馈管理主界面 (/feedbackadmin)
- 高级筛选系统 :
- 📅 时间筛选: 今天/本周/本月/自定义时间段
 - 👤 玩家筛选: 输入玩家名或UUID
 - 🏷️ 类型筛选: Bug/建议/举报等
 - 📊 状态筛选: 待处理/处理中/已解决等
 - 🔥 热度筛选: 按总评价数量筛选
 - 🔍 关键词搜索: 标题和内容搜索
 
 - 排序选项 :
- 时间排序 (最新优先/最旧优先)
 - 热度排序 (高热度优先/按总评价数排序)
 - 状态排序 (待处理优先)
 - 玩家排序 (按玩家名字母顺序)
 
 
B. 反馈处理界面
- 
快速操作栏 :
[回复消息] [更改状态] [添加标签] [转交他人] [删除反馈] - 
状态管理 :
- 🟡 标记为待处理
 - 🔵 标记为处理中 (自动分配给当前管理员)
 - 🟢 标记为已解决 (需要填写解决方案)
 - 🔴 标记为已拒绝 (需要填写拒绝理由)
 - ⚪ 关闭反馈 (归档处理)
 
 
C. 批量操作界面
- 支持多选反馈进行批量操作
 - 批量状态更改
 - 批量分配给其他管理员
 - 批量添加标签
 
D. 玩家反馈历史界面
- 触发方式: 点击任意反馈中的玩家名称
 - 界面功能 :
- 📊 显示该玩家的所有历史反馈
 - 📈 玩家反馈统计信息 (总数/已解决/待处理等)
 - 🕐 按时间排序显示反馈列表
 - 🏷️ 反馈类型分布统计
 - ⭐ 玩家反馈质量评级 (可选功能)
 
 - 快速操作 :
- 🔍 在该玩家的反馈中搜索关键词
 - 📋 批量处理该玩家的待处理反馈
 - 📝 为该玩家添加备注标签
 - 🚫 设置该玩家的反馈限制 (如果需要)
 
 
6. 权限系统
- 玩家权限 :
playerfeedback.submit- 提交反馈playerfeedback.view.own- 查看自己的反馈playerfeedback.view.others- 查看其他玩家的反馈playerfeedback.rate- 对反馈进行评价playerfeedback.rate.view- 查看反馈评价详情
 - 管理员权限 :
playerfeedback.admin- 管理员基础权限playerfeedback.admin.view- 查看所有反馈playerfeedback.admin.reply- 回复反馈playerfeedback.admin.manage- 管理反馈状态playerfeedback.admin.delete- 删除反馈
 
7. 配置系统
- 
config.yml 配置项 :
yaml# 本地存储配置 storage: # 主数据库 database: type: sqlite file: feedbacks.db path: "plugins/PlayerFeedback/data/" # 备份设置 backup: enabled: true interval_hours: 24 max_backups: 7 backup_path: "plugins/PlayerFeedback/backups/" # 缓存设置 cache: enabled: true max_size: 100 expire_minutes: 30 # 日志设置 logging: enabled: true log_path: "plugins/PlayerFeedback/logs/" max_log_files: 10 # 反馈限制 limits: max_content_length: 500 max_title_length: 100 cooldown_seconds: 300 max_pending_per_player: 5 max_interactions_per_feedback: 50 max_daily_feedbacks_per_player: 10 # 评价系统设置 rating_system: enabled: true allow_self_rating: false # 不允许给自己的反馈评价 allow_rating_change: true # 允许修改评价 min_rating_level: 0 # 最低等级才能评价 (0=所有玩家) # 评分权重配置 rating_weights: # 正面评价权重 (正数) agree: 1.0 # 赞同权重 support: 1.2 # 支持权重 (稍高,表示问题确实存在) helpful: 1.5 # 有用权重 (更高,表示建议有价值) important: 2.0 # 重要权重 (最高,表示紧急问题) # 负面评价权重 (负数,会降低评分) disagree: -0.8 # 不赞同权重 irrelevant: -1.5 # 无关权重 (较高负权重) duplicate: -1.0 # 重复权重 misleading: -2.0 # 误导权重 (最高负权重) # 热度计算设置 hotness_calculation: enabled: true update_interval_minutes: 10 # 每10分钟更新一次热度 formula: "total_ratings" # 热度 = 总评价数 (正面+负面) # 通知设置 notifications: # 管理员通知 admin_new_feedback: true admin_player_reply: true admin_long_pending_reminder_hours: 24 admin_daily_stats: true # 玩家通知 player_reply_notification: true player_status_change: true player_offline_message_summary: true # 广播设置 broadcast_resolved_count: true broadcast_new_feedback_count: false # GUI设置 gui: main_title: "玩家反馈系统" admin_title: "反馈管理系统" personal_title: "我的反馈" rating_title: "反馈评价区" discussion_title: "反馈讨论区" size: 54 auto_refresh_seconds: 30 feedbacks_per_page: 18 # 主界面每页显示的反馈数量 (2行×9列) # 鼠标交互设置 mouse_interaction: enable_hover_preview: true # 启用悬浮预览 left_click_action: "rating" # 左键打开评价界面 right_click_action: "discuss" # 右键打开讨论界面 hover_delay_ms: 500 # 悬浮延迟时间(毫秒) show_click_hints: true # 显示点击提示 # 界面颜色配置 colors: pending: "YELLOW" processing: "BLUE" resolved: "GREEN" rejected: "RED" closed: "GRAY" positive_rating: "GREEN" # 正面评价颜色 negative_rating: "RED" # 负面评价颜色 neutral_comment: "GRAY" # 中性评论颜色 # 评价界面设置 rating_interface: preview_ratings_per_row: 5 # 每行预览显示的评价数量 use_player_heads: false # 暂时使用命名牌,后续改为玩家头颅 show_rating_time: true # 显示评价时间 group_by_type: true # 按评价类型分组显示 show_statistics: true # 显示评价统计数据 enable_view_all: true # 启用查看全部功能 # 讨论界面设置 discussion_interface: players_per_page: 45 # 每页显示的玩家数量 (5行×9列) use_player_heads: false # 暂时使用命名牌,后续改为玩家头颅 max_comment_length: 200 # 最大讨论内容长度 default_sort: "first_comment_time_asc" # 默认排序: 按首次发言时间 enable_player_filter: true # 启用按玩家筛选功能 # 鼠标悬浮设置 hover_tooltip: enabled: true # 启用悬浮提示 delay_ms: 500 # 悬浮延迟时间(毫秒) show_player_name: true # 显示玩家名称 show_comment_time: true # 显示发言时间 show_comment_content: true # 显示讨论内容 show_comment_count: true # 显示发言次数 show_last_comment_time: true # 显示最后发言时间 max_content_length: 100 # 悬浮框中内容最大长度 # 筛选和搜索设置 filters: enable_time_filter: true enable_player_filter: true enable_type_filter: true enable_status_filter: true enable_rating_filter: true # 启用评分筛选 enable_keyword_search: true # 主界面筛选设置 main_interface_filters: show_filter_button: true # 显示筛选按钮 show_sort_button: true # 显示排序按钮 remember_last_filter: true # 记住上次筛选条件 show_hover_hints: true # 显示悬浮提示 # 筛选类型循环顺序 filter_type_cycle: - "time" # 时间筛选 - "status" # 状态筛选 - "type" # 类型筛选 - "rating" # 评分筛选 # 时间筛选选项 (简化) time_filter_options: - "all" # 全部 - "today" # 今日 - "week" # 本周 - "month" # 本月 # 状态筛选选项 status_filter_options: - "all" # 全部 - "pending" # 待处理 - "processing" # 处理中 - "resolved" # 已解决 - "rejected" # 已拒绝 - "closed" # 已关闭 # 类型筛选选项 type_filter_options: - "all" # 全部 - "bug" # Bug报告 - "suggestion" # 建议 - "report" # 举报 - "question" # 问题 - "praise" # 表扬 - "other" # 其他 # 评分筛选选项 rating_filter_options: - "all" # 全部 - "high" # 高评分 (8+) - "medium" # 中评分 (5-8) - "low" # 低评分 (<5) - "none" # 无评分 # 排序设置 sorting: default_sort: "time_desc" # 默认排序方式 available_sorts: - "time_desc" # 最新优先 - "time_asc" # 最旧优先 - "rating_desc" # 评分最高 - "ratings_desc" # 评价最多 - "hot_desc" # 热度最高 # 互动系统设置 interactions: enable_multi_round: true enable_message_templates: true enable_auto_reply: true enable_message_reference: true max_message_length: 300 # 自动回复设置 auto_replies: feedback_submitted: true status_changed: true long_pending_reminder: true # 权限设置 permissions: # 玩家权限 player_submit_feedback: "playerfeedback.submit" player_view_own: "playerfeedback.view.own" player_reply: "playerfeedback.reply" # 管理员权限 admin_base: "playerfeedback.admin" admin_view_all: "playerfeedback.admin.view" admin_reply: "playerfeedback.admin.reply" admin_manage: "playerfeedback.admin.manage" admin_delete: "playerfeedback.admin.delete" admin_export: "playerfeedback.admin.export" # 消息模板配置 message_templates: # 系统消息 prefix: "&7[&6反馈系统&7] " feedback_submitted: "&a反馈提交成功!反馈ID: &e#{id}" feedback_updated: "&b反馈 &e#{id} &b状态已更新为: &f{status}" new_reply: "&a您有新的反馈回复!反馈ID: &e#{id}" # 快速回复模板 quick_replies: acknowledge: "&a感谢您的反馈,我们已经收到并开始处理。" investigating: "&e我们正在调查这个问题,请耐心等待。" need_more_info: "&c请提供更多详细信息以便我们更好地帮助您。" resolved: "&a问题已解决,请确认是否还有其他需要帮助的地方。" rejected: "&c很抱歉,经过评估后我们无法采纳这个建议。" # 状态变更消息 status_messages: pending: "&e您的反馈正在等待处理" processing: "&b您的反馈正在处理中" resolved: "&a您的反馈已经解决" rejected: "&c您的反馈已被拒绝" closed: "&7您的反馈已关闭" # 统计和报告设置 statistics: enable_daily_stats: true enable_weekly_report: true enable_monthly_report: true auto_cleanup_days: 365 # 自动清理365天前的已关闭反馈 # 性能设置 performance: cache_size: 100 async_database_operations: true batch_notification_size: 10 
🛠️ 技术实现计划
第一阶段: 基础框架 (预计2-3天)
- 项目结构搭建
 - 数据库连接和表结构创建
 - 基础命令框架
 - 权限系统集成
 - 配置文件加载
 
第二阶段: 核心功能 (预计3-4天)
- 反馈提交功能实现
 - 数据存储和查询
 - 基础管理命令
 - 反馈状态管理
 
第三阶段: GUI界面 (预计2-3天)
- 玩家反馈GUI设计
 - 管理员管理GUI
 - 界面交互逻辑
 
第四阶段: 高级功能 (预计2-3天)
- 通知系统
 - 反馈统计
 - 数据导出功能
 - 性能优化
 
第五阶段: 测试和优化 (预计1-2天)
- 功能测试
 - 性能测试
 - Bug修复
 - 文档完善
 
📋 开发进度
2025年11月3日 - 项目启动
- ✅ 项目需求分析完成
 - ✅ 功能设计文档编写 (第一版)
 - ✅ 开发计划制定
 - ✅ 界面设计和互动系统设计完成
 - ✅ 数据库结构设计完成
 - ✅ 配置系统设计完成
 - 🔄 准备开始基础框架开发
 
更新内容 (下午)
- ✅ 添加了反馈主界面和个人反馈界面设计
 - ✅ 设计了高级筛选系统 (时间/玩家/类型/状态/评分)
 - ✅ 增加了多轮对话互动机制
 - ✅ 完善了管理员和玩家的互动流程
 - ✅ 扩展了数据库结构以支持对话记录
 - ✅ 设计了消息模板和自动回复系统
 
🎨 用户体验设计
🎮 玩家使用流程
基础反馈流程:
- 玩家输入 
/feedback打开反馈主界面 - 选择反馈类型 (Bug/建议/举报等) 或点击"新建反馈"
 - 在聊天中输入反馈标题和内容
 - 系统自动保存并分配ID,发送确认消息
 - 玩家可通过 
/feedback my查看个人反馈历史 
主界面筛选排序流程:
- 玩家打开反馈主界面,看到筛选按钮: 
[📅时间: 全部]和排序按钮:[🔄排序: 最新] - 使用统一筛选按钮进行筛选:
- 🖱️ 左键点击筛选按钮 : 切换筛选类型
- 📅时间 → 📊状态 → 🏷️类型 → ⭐评分 → (循环)
 
 - 🖱️ 右键点击筛选按钮 : 切换当前类型的选项
- 时间: 全部 → 今日 → 本周 → 本月 → (循环)
 - 状态: 全部 → 待处理 → 处理中 → 已解决 → 已拒绝 → 已关闭 → (循环)
 - 类型: 全部 → Bug → 建议 → 举报 → 问题 → 表扬 → 其他 → (循环)
 - 评分: 全部 → 高评分 → 中评分 → 低评分 → 无评分 → (循环)
 
 
 - 🖱️ 左键点击筛选按钮 : 切换筛选类型
 - 点击排序按钮切换排序方式: 最新 → 最旧 → 评分最高 → 评价最多 → 热度最高(总评价数) → (循环)
 - 筛选条件实时生效,反馈列表自动更新
 - 系统记住上次的筛选条件,下次打开时保持
 
互动对话流程:
- 玩家收到管理员回复通知
 - 点击通知或使用 
/feedback view <ID>查看对话 - 使用 
/feedback reply <ID> <消息>继续对话 - 实时查看对话历史和状态变化
 - 问题解决后确认或继续讨论
 
🛠️ 管理员处理流程
日常管理流程:
- 收到新反馈通知 (游戏内 + 可选外部通知)
 - 使用 
/feedbackadmin打开管理界面 - 通过筛选器快速定位需要处理的反馈
 - 点击反馈查看详情和对话历史
 - 使用快速回复模板或自定义回复
 - 更新反馈状态
 - 设置跟进提醒或分配给其他管理员
 
高效筛选流程:
- 按热度排序查看热门反馈
 - 按时间筛选查看今日/本周新反馈
 - 按玩家筛选处理特定玩家的问题
 - 按状态筛选批量处理待解决反馈
 - 使用关键词搜索查找相关问题
 
玩家历史查看流程:
- 在反馈列表中点击任意玩家名称
 - 自动跳转到该玩家的反馈历史界面
 - 查看玩家的反馈统计和历史记录
 - 可以在该玩家的反馈中进行搜索和筛选
 - 批量处理该玩家的相关反馈
 
反馈评价互动流程:
- 玩家浏览反馈列表,发现感兴趣的反馈
 - 点击查看反馈详情
 - 根据反馈内容选择合适的评价类型:
- 正面评价: 赞同/支持/有用/重要 (提升反馈评分)
 - 负面评价: 不赞同/无关/重复/误导 (降低反馈评分)
 
 - 系统记录评价并实时更新反馈的评分统计
 - 高评分反馈自动获得更高热度和曝光度
 
反馈鼠标交互导航流程:
- 玩家在反馈列表中悬浮到感兴趣的反馈
 - 系统显示交互提示: "左键-评价区 | 右键-讨论区"
 - 根据需求选择不同的交互方式:
- 🖱️ 左键点击 → 打开反馈评价界面
 - 🖱️ 右键点击 → 打开反馈讨论界面
 
 - 两个界面都显示统一的第一行信息栏:
- 📝 反馈内容 | 👤 作者 | 📅 时间 | 📊 状态 | 📋 他的反馈
 
 
反馈评价界面使用流程:
- 查看反馈的评价统计和分布
 - 浏览其他玩家的评价预览 (每行显示5个评价)
 - 点击 [更多...] 或 [查看全部评价] 查看完整评价列表
 - 查看评价统计数据 (正面/负面比例、总分、热度)
 - 点击评价按钮给出自己的评价
 - 实时查看评价统计的变化
 
反馈讨论界面使用流程:
- 右键点击反馈直接进入讨论界面
 - 查看参与讨论的玩家列表 (每页最多45个玩家,按首次发言时间排序)
 - 🖱️ 鼠标悬浮 到任意玩家查看详细信息:
- 玩家名称和首次发言时间
 - 完整的讨论内容
 - 该玩家的发言次数
 - 最后发言时间
 
 - 🖱️ 点击玩家查看该玩家的所有反馈历史
 - 使用 [上一页] / [下一页] 浏览更多参与讨论的玩家
 - 点击 [📅按时间排序] 切换排序方式 (最早发言/最晚发言)
 - 点击 [👤按玩家筛选] 筛选特定类型玩家 (普通玩家/管理员)
 - 点击 [💬发表讨论] 发表自己的讨论内容
 - 点击 [🔄刷新] 获取最新讨论内容
 - 点击 [评价区] 切换到评价界面
 
作者反馈历史查看流程:
- 在任意界面点击 [📋他的反馈] 按钮
 - 打开该作者的反馈历史界面,显示:
- 📊 该玩家的反馈统计 (总数/已解决/待处理)
 - 📋 按时间排序的反馈列表
 - 🏷️ 反馈类型分布统计
 - ⭐ 反馈质量评级 (基于评价数据)
 
 - 可以直接点击历史反馈进入对应的评价或讨论界面
 - 支持在该玩家的反馈中进行搜索和筛选
 
💬 互动体验设计
对话界面特色:
- 📱 类似聊天软件的对话气泡设计
 - 🕐 清晰的时间戳和发送者标识
 - 🔔 未读消息红点提示
 - 📎 消息引用和回复功能
 - 🏷️ 重要消息标签高亮
 
快速操作设计:
- 🚀 一键快速回复常用模板
 - ⚡ 状态快速切换按钮
 - 📊 批量操作选择框
 - 🔍 实时搜索和筛选
 - 👤 点击玩家名称查看该玩家所有反馈
 - 🖱️ 鼠标悬浮显示交互提示
 - 🖱️ 左键/右键快速进入不同界面
 - 📋 第一行信息栏快速导航
 - 🔄 筛选排序快速操作 :
- 🖱️ 左键筛选按钮切换筛选类型
 - 🖱️ 右键筛选按钮切换选项值
 - 🖱️ 点击排序按钮循环切换排序
 - 💡 悬浮显示操作提示
 - 📊 实时预览筛选结果数量
 - 💾 自动记住上次筛选设置
 
 - 📱 移动端友好的界面布局
 
🔧 依赖库计划
- SQLite JDBC: 本地数据库连接 (轻量级,无需外部数据库)
 - Libby: 依赖管理 (已集成)
 - Adventure API: 现代化文本组件 (可选,用于更好的消息显示)
 
💾 本地存储优势
- 🚀 零配置: 无需配置外部数据库,开箱即用
 - 📁 便携性: 所有数据存储在插件目录,易于备份和迁移
 - 🔒 安全性: 数据完全在本地,不依赖网络连接
 - ⚡ 性能: 本地文件访问速度快,延迟低
 - 🛠️ 维护: 简单的文件操作,易于维护和调试
 - 💰 成本: 无需额外的数据库服务器成本
 
📊 预期效果
- 提高服务器管理效率
 - 增强玩家参与度
 - 建立良好的沟通桥梁
 - 收集有价值的改进建议
 - 及时处理问题和投诉
 
🚀 后续扩展计划
- Web端管理界面
 - 反馈数据分析
 - 自动分类系统
 - 多语言支持
 - 与Discord机器人集成
 
开发笔记
技术选择说明
- Kotlin: 相比Java更简洁,空安全特性,开发效率高
 - SQLite: 轻量级本地数据库,无需额外配置,数据可靠性高
 - 本地文件存储: 避免网络依赖,提高系统稳定性和响应速度
 - GUI: 使用Bukkit原生Inventory系统,兼容性好,性能稳定
 
设计理念
- 简单易用: 玩家操作步骤最少化
 - 功能完整: 覆盖反馈处理全流程
 - 性能优先: 异步处理,不影响服务器性能
 - 可扩展性: 模块化设计,便于后续功能添加
 
最后更新: 2025年11月3日