|
|
d2797d5b59
|
功能:婚姻系统第9步(后台管理页面)
Admin/MarriageManagerController:
- index() 总览统计卡片
- list() 婚姻列表(筛选/强制离婚/取消求婚)
- proposals() 求婚记录
- ceremonies() 婚礼红包记录
- claimDetail() 红包领取明细
- intimacyLogs() 亲密度日志(来源筛选)
- configs/updateConfigs 参数配置(批量保存)
- tiers/updateTier 婚礼档位管理
Views(7个页面):admin/marriages/{index|list|configs|tiers|ceremonies|claim-detail|proposals|intimacy-logs}
侧边栏:superlevel 区块新增「💒 婚姻管理」入口
|
2026-03-01 15:15:03 +08:00 |
|
|
|
632a4240c4
|
功能:禁用词管理支持批量添加
- 新增 ForbiddenUsernameController::batchStore()
支持换行、逗号、中文逗号、空格多种分隔格式
自动去重、跳过已存在词语、忽略超长词
返回成功数/跳过数详细提示
- 新增路由 POST /admin/forbidden-usernames/batch
- View 新增卡片加「单个/批量」两 Tab 切换
批量 Tab 使用 textarea 多行输入
|
2026-03-01 14:04:28 +08:00 |
|
|
|
fc495ccceb
|
功能:禁用用户名管理(永久禁词列表)
数据库:
- 新增迁移 username_blacklist 表加 type/reason 列
type: temp(改名30天保留)| permanent(管理员永久禁用)
reason: 禁用原因备注(最长100字符)
核心逻辑:
- UsernameBlacklist::isBlocked() 同时拦截两种类型
也包含 isReserved() 兼容旧调用
增加 scopePermanent()/scopeTemp() 查询作用域
- AuthController 注册时加 isBlocked() 拦截
禁词/保留期内均不可注册
- ShopService::useRenameCard() 已有 isReserved() 调用
因已改用 isBlocked() 别名,无需修改
后台:
- ForbiddenUsernameController:index/store/update/destroy
- 路由:/admin/forbidden-usernames(chat.site_owner 中间件)
- 视图:admin/forbidden-usernames/index.blade.php
新增表单、关键词搜索、分页、行内编辑原因、删除
- 侧边栏加「🚫 禁用用户名」入口(仅站长可见)
|
2026-03-01 14:00:38 +08:00 |
|
|
|
2947f0f741
|
功能:用户列表增加在线状态列,支持点击排序
- UserManagerController 注入 ChatStateService,从 Redis 聚合
所有活跃房间在线用户名(跨房间去重)
- 排序白名单加入 'online',在线排序用 orderByRaw CASE WHEN 虚拟列
desc = 在线用户优先显示,asc = 离线用户优先
- 视图表头加「在线 ↕」可排序列(绿色高亮箭头)
- 每行显示绿色实心点+「在线」/灰点+「离线」小徽章
- my-duty-logs 分页已有 paginate(30)+withQueryString+links(),无需改动
|
2026-03-01 12:54:34 +08:00 |
|
|
|
0dff79dd51
|
修复:6列统计卡片改用 inline style,规避 Tailwind 未编译 grid-cols-6
|
2026-03-01 12:26:23 +08:00 |
|
|
|
769632dea8
|
优化:履职记录统计卡片改为固定6列一行,紧凑尺寸
|
2026-03-01 12:24:15 +08:00 |
|
|
|
855f169516
|
功能:后台「我的履职记录」页面
- 侧边栏「我的履职记录」链接,位于「任命管理」上方
- 路由:GET /admin/my-duty-logs → appointments.my-duty-logs
- 控制器:AppointmentController::myDutyLogs()
支持按操作类型、日期范围筛选,分页,withQueryString()
- 视图:admin/appointments/my-duty-logs.blade.php
顶部 6 格汇总统计(奖励/踢出/禁言/警告/任命/撤职)
每张卡片可点击快速按类型筛选
表格显示:操作时间、类型 Badge、操作对象、所属部门·职务、金币金额、备注
|
2026-03-01 12:22:13 +08:00 |
|
|
|
57f515e2eb
|
修复:去掉多余的 @section 导致的 section 嵌套报错
将 inlinePatch script 块迁移回 @section('content') 内部,
彻底移除 @push/@endpush/@section('scripts') 等无效指令。
根本原因:admin layout 无 @yield('scripts'),在 @endsection 后
再开 @push 或 @section 会触发 'Cannot end a section' 异常。
|
2026-03-01 11:30:23 +08:00 |
|
|
|
89d93c92ed
|
功能:职务列表内联编辑 + 全局奖励配置自动保存
职务列表三列内联编辑(失焦/回车自动保存,无需打开编辑弹窗):
- 人数上限:PATCH max_persons
- 单次上限:PATCH max_reward
- 单日上限:PATCH daily_reward_limit
保存成功显示短暂绿色 ✓,失败显示红色错误提示
全局奖励接收次数配置改为 AJAX 自动保存,失焦/回车触发,
无需保存按钮(原表单已移除)
新增接口:
- PATCH /admin/positions/{position}/patch(quickPatch)
- POST /admin/positions/reward-config(saveRewardConfig,兼容 JSON + 重定向)
|
2026-03-01 11:28:15 +08:00 |
|
|
|
baaa7087b0
|
功能:全局奖励接收次数上限(职务管理页配置)
新增全局 sysparam 配置 reward_recipient_daily_max:
- 控制每位用户单日内从所有职务持有者处累计接收奖励的最高次数
- 0 = 不限制
后端变更:
- PositionController::saveRewardConfig() 保存配置
- POST admin/positions/reward-config 路由
- AdminCommandController::reward() 新增第④层校验:
全局次数上限(优先级低于职务级别的 recipient_daily_limit)
视图变更:
- 职务管理页顶部加橙色配置卡片(行内表单,即改即存)
- 显示当前全局配置值
|
2026-03-01 11:22:02 +08:00 |
|
|
|
a145c6fc0a
|
修复+改进:职务奖励次数上限和后台列表展示
修复:
- recipient_daily_limit 统计逻辑修正:移除 user_id 过滤,
改为统计今日所有职务持有者对同一接收者的累计发放次数
(上限含义:该用户今日最多从所有职务人员处收到 N 次奖励)
改进:
- 后台职务列表新增「单日上限」列显示 daily_reward_limit
- 「奖励上限」列改名为「单次上限」更准确
- 两列均支持 null(不限)/ 0(禁止)/ 数值 三种状态区分显示
|
2026-03-01 11:16:22 +08:00 |
|
|
|
41d4acdd72
|
修复:职务编辑表单中 0 值被 || '' 误转为空字符串
openEdit() 中三个奖励字段从 OR 运算符改为显式 null 检查:
- max_reward: pos.max_reward !== null ...
- daily_reward_limit 同上
- recipient_daily_limit 同上
- max_persons 改用 JS ?? 空值合并运算符
根本原因:0 在 JS 中是 falsy,pos.max_reward || '' 会将 0 变成 '',
提交到后端后 nullable 规则将空字符串解析为 null 覆盖掉用户的 0 设置。
|
2026-03-01 11:11:57 +08:00 |
|
|
|
ff57afe388
|
功能:职务奖励金币发放系统
数据库:
- positions 新增 daily_reward_limit(单日累计上限)
- positions 新增 recipient_daily_limit(同一接收者每日次数上限)
后端:
- CurrencySource::POSITION_REWARD 新枚举值
- AdminCommandController::reward() 三层限额校验
① 单次上限 ② 单日累计上限 ③ 同一接收者每日次数
写履职记录(PositionAuthorityLog)+ UserCurrencyService
聊天室悄悄话通知接收者
- POST /command/reward 路由注册
前端(user-actions.blade.php):
- 名片按钮行 2+1 布局(加好友/送礼物/送金币)
- 送金币仅在 myMaxReward>0 时显示(职务持有者)
- 内联奖励金币面板:金额输入 + 确认发放 + 说明文字
- sendReward() 前端校验 + API 调用 + chatDialog 反馈
后台(positions/index):
- 编辑表单新增两个奖励限额字段
- PositionController 验证规则同步更新
|
2026-03-01 11:09:29 +08:00 |
|
|
|
5f30220609
|
feat: 任命/撤销通知系统 + 用户名片UI优化
- 任命/撤销事件增加 type 字段区分类型
- 任命:全屏礼花 + 紫色弹窗 + 紫色系统消息
- 撤销:灰色弹窗 + 灰色系统消息,无礼花
- 消息分发:操作者/被操作者显示在私聊面板,其他人显示在公屏
- 系统消息加随机鼓励语(各5条轮换)
- ChatStateService 修复 Redis key 前缀扫描问题(getAllActiveRoomIds)
- 用户名片折叠优化:管理员视野、职务履历均可折叠
- 管理操作 + 职务操作合并为「🔧 管理操作」折叠区
- 悄悄话改为「🎁 送礼物」按钮,礼物面板内联展开
|
2026-02-28 23:44:38 +08:00 |
|
|
|
aeffb8e4d4
|
整理:合并零散迁移文件,36个简化为24个纯建表迁移
- users 表:吸收 s_color类型变更/sign/question/answer/vip_level_id/has_received_new_gift
- rooms 表:吸收 visit_num、announcement
- sysparam 表:吸收全部 seed(99级经验/权限等级/钓鱼/魅力/排行榜,直接写最终值)
- 新增 create_shop_tables(shop_items+user_purchases+username_blacklist+默认商品)
- 新增 create_user_currency_logs_table(积分流水表含完整索引)
- 删除 14 个已吸收的 add_column / seed 零散迁移
|
2026-02-28 14:03:04 +08:00 |
|
|
|
27b52da0e5
|
修复:积分流水统计页改用后台 admin layout
|
2026-02-28 13:55:35 +08:00 |
|
|
|
5233a485eb
|
功能:后台侧边栏新增「积分流水统计」菜单入口
|
2026-02-28 13:54:47 +08:00 |
|
|
|
0662901b1b
|
修复:后台积分统计页面 layout 改为 layouts.app
|
2026-02-28 13:41:50 +08:00 |
|
|
|
0c5e218aa8
|
功能:新增用户积分流水系统
- 新建 user_currency_logs 流水表 (Migration)
- App\Enums\CurrencySource 来源枚举(可扩展)
- App\Models\UserCurrencyLog 流水模型
- App\Services\UserCurrencyService 统一积分变更服务
- FishingController:抛竿/收竿接入流水记录
- AutoSaveExp:自动存点接入流水记录
- Admin/UserManagerController:管理员调整接入流水记录
- LeaderboardController:新增今日三榜(经验/金币/魅力)+ 个人流水日志页
- Admin/CurrencyStatsController:后台活动统计页
- views:新增个人日志页、后台统计页;排行榜新增今日榜数据传递
- routes:新增个人日志路由 /my/currency-logs、后台路由 /admin/currency-stats
|
2026-02-28 12:49:26 +08:00 |
|
|
|
b170724f3f
|
修复:后台布局移除 Tailwind CDN,改用 Vite 原生编译产物避免控制台警告
|
2026-02-27 16:50:37 +08:00 |
|
|
|
8b18c7159f
|
修复:后台布局文件缺少 csrf-token meta 标签,导致 AJAX 请求取不到 token 报 JS TypeError 拦截发送
|
2026-02-27 16:49:00 +08:00 |
|
|
|
aa9a9318f5
|
重构:将后台编辑用户 AJAX 提交方法移入 Alpine data 组件内部,彻底解决作用域和数据获取问题
|
2026-02-27 16:47:03 +08:00 |
|
|
|
2c5d4cedea
|
修复:后台编辑用户时弹窗里的数据为空(移除了不小心造成的 td x-data 孤立作用域)
|
2026-02-27 16:44:11 +08:00 |
|
|
|
39d03d30a8
|
修复:后台编辑用户弹窗改为直接传 Alpine $data,避免 querySelector 找到错误的 x-data 元素导致网络异常
|
2026-02-27 16:41:57 +08:00 |
|
|
|
e7440e5e84
|
修复:后台编辑用户 AJAX 请求加入 _method=PUT,解决 Laravel 路由 404 导致的「网络异常」
|
2026-02-27 16:38:36 +08:00 |
|
|
|
9147dc0d01
|
Feat: 后台用户列表ID列增加点击排序功能
|
2026-02-27 15:33:44 +08:00 |
|
|
|
a5e4c5f46f
|
Fix: 排序链接改用request()辅助函数,修复Blade模板中
|
2026-02-27 15:32:48 +08:00 |
|
|
|
b366c9888f
|
Feat: 后台用户列表增加金币/魅力列,表头支持点击排序(等级/经验/金币/魅力)
|
2026-02-27 15:31:29 +08:00 |
|
|
|
6d73e50bff
|
Fix: 后台用户编辑改为AJAX提交,消除302重定向,弹窗内显示成功/失败通知
|
2026-02-27 15:29:25 +08:00 |
|
|
|
739ca15cba
|
特性:增加全站 SMTP 邮件业务开关(smtp_enabled),并根据此开关在登录首页控制是否显示邮箱找回密码的入口
|
2026-02-27 09:58:22 +08:00 |
|
|
|
baae2cc26f
|
特性:增加创始人专享的在线 SMTP 配置系统并在 AppServiceProvider 中动态加载以拦截系统发件
|
2026-02-27 09:47:47 +08:00 |
|
|
|
44ac4742d8
|
增强:实现真正的创始人(ID=1)特权控制:限制非 ID=1 管理员访问部分后台模块及修改他人等级的能力
|
2026-02-27 09:39:26 +08:00 |
|
|
|
bba47d2698
|
美化:私聊查看页面从原始 JSON 改为美观的 HTML 页面
- 新增 admin/whispers.blade.php 暗色主题聊天气泡样式
- 控制器支持 JSON(弹窗用)和 HTML(新窗口用)双模式
- 区分发出/收到方向,显示时间和消息数量
|
2026-02-26 23:59:17 +08:00 |
|
|
|
fd3214eaff
|
功能:VIP 赞助会员系统
- 新建 vip_levels 表(名称、图标、颜色、经验/金币倍率、专属进入/离开模板)
- 默认4个等级种子:白银🥈(×1.5)、黄金🥇(×2.0)、钻石💎(×3.0)、至尊👑(×5.0)
- 后台 VIP 等级 CRUD 管理(新增/编辑/删除,配置模板和倍率)
- 后台用户编辑弹窗支持设置 VIP 等级和到期时间
- ChatController 心跳经验按 VIP 倍率加成
- FishingController 正向奖励按 VIP 倍率加成(负面惩罚不变)
- 在线名单显示 VIP 图标和管理员🛡️标识
- VIP 用户进入/离开使用专属颜色和标题
- 后台侧栏新增「👑 VIP 会员等级」入口
|
2026-02-26 21:30:07 +08:00 |
|
|
|
ea06328885
|
功能:字体颜色持久化、等级体系升级至99级、钓鱼小游戏、补充系统参数
- 字体颜色:s_color 改为 varchar,发消息时保存颜色,进入聊天室自动恢复
- 等级体系:maxlevel 15→99,superlevel 16→100,99级经验阶梯(幂次曲线)
- 管理权限等级按比例调整:禁言50、踢人60、设公告60、封号80、封IP90
- 钓鱼小游戏:FishingController(抛竿扣金币+收竿随机结果+广播)
- 补充6个缺失的 sysparam 参数 + 4个钓鱼参数
- 用户列表点击用户名后自动聚焦输入框
- Pint 格式化
|
2026-02-26 21:10:34 +08:00 |
|
|
|
50fc804402
|
feat: 实现挂机修仙、排行榜、大厅重构与全站留言板系统
- (Phase 8) 后台各维度管理与配置
- (Phase 9) 全自动静默挂机修仙升级
- (Phase 9) 四大维度风云排行榜页面
- (Phase 10) 全站留言板与悄悄话私信功能
- 运行 Pint 代码格式化
|
2026-02-26 13:35:38 +08:00 |
|