Commit Graph
72 Commits
Author SHA1 Message Date
ypsdf1 1f97e3b969 修复clear_all_bad字段名不一致+handleUpdateLandField整数列类型 2026-06-28 12:17:21 +08:00
ypsdf1 d568a2ce5d feat: PHP效果选择器+管理员角色切换+JSON编码修复
- player.php: 新增glassSelect()毛玻璃选择器弹窗(29种MC药水效果)
- player.php: addClearEffect/addGiveEffect从手动输入改为效果选择器
- player.php: 访客表格角色列改为可点击标签,点击切换管理员/访客
- land_api.php: 新增change_visitor_role API + handleChangeVisitorRole()
- land_api.php: handleListUserGroups添加JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES
2026-06-28 10:48:09 +08:00
ypsdf1 ca212233a3 feat: 用户组PHP→Java变更通知
- handleUpdateUserGroup: 更新后写入web_admin_changes(group_change)
- handleDeleteUserGroup: 删除后写入web_admin_changes(group_change)
- Java端pollAdminChanges收到group_change后自动重载用户组配置
2026-06-28 00:16:25 +08:00
ypsdf1 a5a2ef733c feat(admin): 添加用户组管理页面
- 侧边栏新增「👥 用户组」管理入口
- 支持新建/编辑/删除用户组(组ID、显示名、颜色、优先级)
- 支持配置用户组独立领地单价和最大领地数
- 支持编辑用户组默认权限(38项权限复选框)
- 支持管理用户组成员(添加/移除玩家)
- API认证列表补充用户组相关action
2026-06-27 23:50:20 +08:00
ypsdf1 5f43fb1407 feat: 用户组同步+管理API (sync_user_groups, land_api endpoints) 2026-06-27 23:05:27 +08:00
ypsdf1 c0672ad47a feat: 公共建筑is_public_building同步字段 2026-06-27 22:44:50 +08:00
ypsdf1 63251c6033 fix: ack_admin_changes GET/POST兼容 2026-06-27 22:04:01 +08:00
ypsdf1 742578a107 修复PHP用户端两个bug:权限配置空白+glassPrompt未定义
1. 移到try-catch之前,修复handleGetMemberPerms调用时变量未定义导致perm_types返回null
2. player.php新增glassPrompt HTML元素(label/input/hint)和JS函数
3. glassAlertResolve支持glassPrompt返回输入框值
2026-06-27 21:43:00 +08:00
ypsdf1 fc42b777ca 修复配置值前导零bug:handleUpdateConfig/syncConfig去除前导0
- handleUpdateConfig: (string)(int)去前导零
- syncConfig: 同样处理Java推送的配置值
2026-06-27 20:15:39 +08:00
ypsdf1 48ad7035ea 修复PHP→Java配置同步:handleUpdateConfig写入变更队列
- PHP修改配置后写入 web_admin_changes (config_change)
- Java pollAdminChanges 轮询拉取并应用到本地 area_config
2026-06-27 19:58:05 +08:00
ypsdf1 b6db8e56d5 权限变更同步:handleUpdateMemberPerm写入web_admin_changes
PHP端玩家修改成员权限后,写入变更队列,Java端pollAdminChanges可拉取同步回本地DB

修复:玩家端修改权限后Java不感知,下次推送时覆盖玩家修改
2026-06-27 16:55:22 +08:00
ypsdf1 bbd0049602 修复领地系统3个bug:
1. JSON解析崩溃:addConvertEffectsForFrontend将Java自定义格式转JSON数组
   - give_effects: 夜视:1:99999|SPEED:2:60 → [[夜视,1,99999],[SPEED,2,60]]
   - clear_effects: POISON,WITHER → [POISON,WITHER]
2. admin.php配置key名修复:land_price_per_sqm→create_price_per_sqm, max_lands→max_lands_per_player
3. handleUpdateLandField存储时将JSON数组转回Java格式
2026-06-27 14:52:34 +08:00
ypsdf1 5c47dd44fd 修复sync_lands报错:补全enable_announce等缺失列
问题:Java推送全部列,PHP表缺少enable_announce/announce_template/txt_content/deny_fluid/clear_all_bad → INSERT报错
修复:initLandTables添加5个ALTER TABLE迁移 + handleSyncLands INSERT补全对应列和bindValue
2026-06-27 13:54:51 +08:00
ypsdf1 967feb9b94 修复领地设置不同步:PHP端完整接收所有字段
问题1:handleSyncLands只存13个基础字段,30+权限字段全部丢弃
修复:INSERT扩展到63列,完整接收Java推送的所有deny_*、效果、传送点字段

问题2:web_area_lands表缺少权限列
修复:initLandTables添加46个ALTER TABLE迁移,兼容已有表

问题3:validateWebAccess检查窗口不匹配
修复:web_login_verified检查改用token实际有效期(非硬编码5分钟)
2026-06-27 13:37:29 +08:00
ypsdf1 aa45bd5ca2 修复领地同步: 补全缺失字段迁移(deny_block_break等30+列)、修复重复deny_all_effects列、添加调试日志 2026-06-26 21:25:40 +08:00
ypsdf1 9eb0707729 问题10修复: CDK兑换不到账+假密码+隐藏密码框
player.php:
- 商城购买:总价≤1000时隐藏密码输入框,动态切换
- CDK兑换:完全移除密码输入框(CDK免验证)
- doBuy:小额交易不强制密码,大额才要求
- doCDKExchange:移除密码字段

shop.php:
- 移除硬性密码检查,交给validateWebAccess处理

cdk.php:
- 远程CDK兑换:改为cdk_redeem+pending(之前completed被Java跳过)
- 远程CDK兑换同时更新bond_cache+sync_requests
2026-06-26 10:21:49 +08:00
ypsdf1 8edc94b848 v12: PHP密码验证安全修复 + land_api GET参数支持
安全修复:
- sync.php: 删除verify_web_password端点,禁止PHP自验证密码
- core.php: validateWebAccess大额交易密码验证改为检查web_login_verified(Java验证结果)
- 密码验证强制走web_login_request流程

其他:
- land_api.php: handleAckAdminChanges支持GET参数ids(避免POST Content-Type问题)
2026-06-25 14:19:08 +08:00
ypsdf1 71777e3013 修复poll_admin_changes返回JSON包含Unicode转义序列 2026-06-24 21:36:18 +08:00
ypsdf1 06854054ca Fix land_api.php: add land_id to web_land_owner_changes INSERT, add perm_change sync for visitor perms 2026-06-24 13:09:47 +08:00
ypsdf1 d12ceaa44a feat: 成员独立权限管理 + PHP→Java变更同步 2026-06-23 23:48:19 +08:00
ypsdf1 98f9cb6410 @
领地系统大重构:全局配置+数据入库+新权限+传送点+安全删除+容器扩展

- 全局配置改为area_config表(替代txt文件)
- area_lands扩展到61列,新增10个权限布尔+5个传送点坐标
- 新增投掷物/发光/红石/门禁/音频/拴绳/农作物/剪毛/投喂等权限
- /protect settp/tp传送点系统
- 删除1分钟延迟+二次确认
- 安全传送判定(空气+实体+边界3格)
- 容器权限覆盖所有UI类型
- .gitignore清理敏感文件
@
2026-06-23 16:51:30 +08:00
ypsdf1 ed74d09b6a feat: 游客模式毛玻璃登录弹窗 + C位登录按钮 + 60秒定时弹窗
- admin.php: 修复go()缺失reset_requests路由(黑屏bug)
- player.php: 毛玻璃登录弹窗(backdrop-filter:blur)
- player.php: 游客模式C位大按钮(脉冲动画)
- player.php: 60秒定时弹窗(未登录自动弹出)
- sync.php: 添加领地同步接口(sync_lands/sync_land_shop)
- land_api.php: 领地管理API(新建)
2026-06-22 22:56:06 +08:00