# 麻将组局预约小程序 v1.0.0 Bug报告 ## Bug统计 - **总数量**: 9个 - **已修复**: 2个 ✅ - **未修改**: 7个 - **分类**: 后端问题 6个,前端问题 2个,前后端问题 3个 --- ## Bug详情 ### cs110_23 - 后台房间管理图标说明缺失 **状态**: ✅ 已修复 **类型**: 后端 **优先级**: 低 **问题描述**: 后台房间预约管理页面,颜色和图标意义不明确,用户无法理解各种状态的含义。 **解决方案**: 补充图标和颜色说明文档,在页面添加图例说明。 **修复内容**: 1. **房间价格管理页面** (`sqroompricing/index.html`) - 添加了可折叠的状态图例说明区域 - 包含时间段状态说明:可预约(绿色)、已预约(橙色)、使用中(灰色)、不可预约(红色)、后台预约(深橙色) - 包含特殊日期标识:今天(青色边框)、节假日价格(橙色边框+节字标识) - 添加了操作说明和使用提示 2. **预约管理页面** (`sqreservations/index.html`) - 添加了参与者角色说明:发起者(绿色)、参与者(蓝色) - 添加了参与状态说明:正常(绿色)、已退出(红色) - 添加了鸽子费状态说明:无需退款(灰色)、已付鸽子费(蓝色)、退款中(黄色)、退款成功(绿色)、退款失败(红色) - 添加了展开/收起功能,节省页面空间 **修复时间**: 2025-01-01 **测试状态**: 待测试 --- ### cs110_24 - 已评价组局消息未消失 **状态**: ✅ 已修复 **类型**: 后端 **优先级**: 中 **问题描述**: 我的页面中,已结束的牌局在给牌友评价后,该组局消息没有消失。 **解决方案**: 用户只要评价过一次(不管评价了谁),这个预约就应该从"我的页面"中消失。如果用户还想继续评价其他人,可以去"预约记录"页面找到这个预约继续评价。 **修复内容**: 1. **后端接口修改** (`server/CoreCms.Net.Web.WebApi/Controllers/SQController.cs`) - 修改`GetMyUseReservation`接口的SQL查询条件 - 添加`NOT EXISTS`子查询,排除当前用户已经评价过的预约 - 查询逻辑:如果用户对某个预约有评价记录,该预约就不会显示在"我的页面"中 2. **前端评价组件** (`uniapp/mahjong_group/components/com/page/reservation-evaluate.vue`) - 修改`submitEvaluate`方法 - 评价成功后触发全局事件`evaluateSuccess` - 延迟1.5秒后关闭弹窗并通知刷新数据 3. **我的页面** (`uniapp/mahjong_group/pages/me/me-page.vue`) - 添加`onLoad`、`onUnload`生命周期导入 - 在`onLoad`中监听`evaluateSuccess`事件 - 收到事件后重新调用`loadCurrentAppointment()`刷新数据 - 在`onUnload`中移除事件监听,避免内存泄漏 **修复逻辑**: - 用户评价任意一个人后,该预约立即从"我的页面"消失 - 如需继续评价其他人,用户可前往"预约记录"页面查找 - 保持页面简洁,避免已处理预约长期占用显示空间 **修复时间**: 2025-01-01 **测试状态**: 待测试 --- ### cs120_1 - 时间段预约逻辑错误 **状态**: 未修改 **类型**: 后端 **优先级**: 高 **问题描述**: 当前时间14:00,房间列表显示凌晨、上午不可预约,但进入预约页面时: 1. 开始时间、结束时间能选择凌晨和上午的时间 2. 能成功发起预约 3. 发起后前端首页看不到该组局 4. 我的页面能看到组局信息但不能解散 5. 点击取消提示"预约开始前30分钟无法取消" **解决方案**: 凌晨、上午已经被预约时,提交预约应直接提示用户该时间段已被预约,不允许创建。 **涉及接口**: - `CanCreateSQReservation` - 预约前校验 - `AddSQReservation` - 创建预约 --- ### cs120_2 - 开始时间选择无限制 **状态**: 未修改 **类型**: 后端 **优先级**: 高 **问题描述**: 发起预约时,"开始时间"没有做限制,能选择已过去的时间。 例如:当前时间14:00,可以预约今天早上8点~9点的局。 **解决方案**: 对"开始时间"做以下限制: 1. **限制一**:只能选择可预约的时间段 - 如早上约满了,现在是早上时间,只能选择下午时间段 2. **限制二**:当前时间段无人预约时 - 只能选择当前时间+30分钟的时间 - 不能选择已经过去的时间 - 如当前时间为14:00,开始时间只能选择14:30及以后的时间 3. **结束时间**:默认为开始时间的一小时后,不能低于1小时 **涉及接口**: - `GetAvailableDates` - 可选日期 - `GetRoomListWithSlotsNew` - 房间时段状态 --- ### cs120_3 - 首页高度显示异常 **状态**: 已修改 **类型**: 前端 **优先级**: 中 **问题描述**: 首页空状态和列表的高度不对,高度过高,不是之前的高度。 **解决方案**: 下调到和以前一样的高度。 **涉及文件**: - `pages/index/index.vue` --- ### cs120_4 - 房间卡片文字显示不全 **状态**: 未修改 **类型**: 前端 **优先级**: 中 **问题描述**: 首页房间列表,房间的底图没有把该房间全部文字都包裹进去,文字被截断。 **解决方案**: 调整卡片样式,确保包裹全部文字内容。 **涉及文件**: - `components/index/MahjongCard.vue` --- ### cs120_5 - 签到后页面状态未刷新 **状态**: 未修改 **类型**: 前端+后端 **优先级**: 中 **问题描述**: 我的页面,签到成功后,前端状态没有改变,用户看不到最新状态。 **解决方案**: 签到成功后应强制刷新当前页面或更新页面状态。 **涉及文件**: - `pages/me/me-page.vue` - `components/com/page/qiandao-popup.vue` --- ### cs120_6 - 首页Banner未显示 **状态**: 已完成 **类型**: 前端+后端 **优先级**: 中 **问题描述**: 后台配置了首页banner,但前端没显示。 **解决方案**: 1. 前端应显示banner 2. 需要明确后台"广告位置列表"和"广告列表"的区别 **涉及文件**: - `pages/index/index.vue` --- ### cs120_7 - 个人信息数值显示异常 **状态**: 未修改 **类型**: 前端+后端 **优先级**: 中 **问题描述**: 我的页面,我的评分、信誉、牌品、牌技、鸽子数没有数值显示。 **解决方案**: 应显示默认数值或用户参与评价后的修正数值: - 信誉分:默认5.0 - 牌品:默认4.0 - 牌技:默认4.0 - 鸽子数:默认0 **涉及文件**: - `pages/me/me-page.vue` --- ### cs120_8 - 评价后分数显示错误 **状态**: 未修改 **类型**: 后端 **优先级**: 中 **问题描述**: 组局结束后对牌友进行评价: 1. 评价前显示了该牌友当前的牌品、牌技分 2. 评价后分数变成了刚刚给该牌友的评分(而不是修正后的平均分) **解决方案**: 评分后再次点开,应显示修正后的分值(重新计算的平均分)。 **涉及接口**: - `AddEvaluateServices` - 添加评价 - 评价后需要重新计算用户的平均分 --- ### cs120_9 - 鸽子费审核功能缺失 **状态**: 未修改 **类型**: 后端 **优先级**: 高 **问题描述**: 测试场景: 1. 组了有鸽子费的局,2个人,每人付0.01元 2. 签到时选择某人未到场,提交 3. 后台的未到场审核里没有数据 **解决方案**: 后台应有未到场审核功能: - **通过审核**:到场人员平分鸽子费 - **不通过审核**:鸽子费各自退回 **需要开发**: - 后台审核页面 - 审核通过/拒绝的处理逻辑 - 鸽子费分配/退回机制 --- ## 修复优先级建议 ### 🔴 高优先级(影响核心功能) - cs120_1 - 时间段预约逻辑错误 - cs120_2 - 开始时间选择无限制 - cs120_9 - 鸽子费审核功能缺失 ### 🟡 中优先级(影响用户体验) - ✅ cs110_24 - 已评价组局消息未消失(已修复) - cs120_3 - 首页高度显示异常 - cs120_4 - 房间卡片文字显示不全 - cs120_5 - 签到后页面状态未刷新 - cs120_6 - 首页Banner未显示 - cs120_7 - 个人信息数值显示异常 - cs120_8 - 评价后分数显示错误 ### 🟢 低优先级(优化项) - ✅ cs110_23 - 后台房间管理图标说明缺失(已修复) --- **更新时间**: 2024年 **版本**: v1.0.0 **整理人**: 开发团队