Commit Graph
40 Commits
Author SHA1 Message Date
ypsdf1 e2808276c0 修复库存=0误转为-1的bug + 盲盒显示??及随机消费语录 2026-07-16 16:48:31 +08:00
ypsdf1 de589d2683 实现前端动态加载充值商品功能:从后端shop_configs表读取商品,支持选择商品支付 2026-07-16 15:33:27 +08:00
ypsdf1 61bc4672a9 修复支付锁定: 支付成功后恢复按钮允许发起新订单 2026-07-16 13:30:57 +08:00
ypsdf1 43cb042bf0 修复MySQL连接: 集中管理凭据,常量未定义时用默认值兜底 2026-07-16 11:28:05 +08:00
ypsdf1 cb949f5b16 修复支付系统核心问题v2\n\n- poller_online.php: 添加全局异常捕获,防止500错误\n- pay.php: queryOrder返回created_at,syncPoller action占位\n- player.php: 续支付检测添加5分钟过期检查\n- 解决:\n 1. Java轮询500错误\n 2. 订单超时5分钟\n 3. 前端过期订单自动清除\n 4. 支付成功后按钮锁定 2026-07-15 19:48:08 +08:00
ypsdf1 1cd8415516 修复支付系统核心问题
- pay.php: 超时时间从30分钟改为5分钟
- poller_online.php: 修复debugLog未定义变量+保留输出缓冲区
- recharge_orders_api.php: 修复对账结果JSON双重包装
- player.php: 支付成功后锁定按钮+续支付检测处理已支付订单

解决:
1. 订单超时改为5分钟
2. Java轮询500错误(debugLog变量未定义)
3. 对账结果显示undefined
4. 支付成功后按钮状态修复
2026-07-15 19:23:51 +08:00
ypsdf1 449976478e 充值对账页面+防重复支付+高频补单+轮询器改进
- recharge_orders.php + recharge_orders_api.php: 管理员充值订单对账页面
- admin.php 侧边栏添加充值对账入口
- pay.php: 创建订单时检测已有未支付订单(复用),防重复支付
- player.php: 续支付检测+支付成功后清除本地订单+恢复按钮
- poller_online.php + pay.php: 添加web_transactions唯一索引
- .gitignore: 排除密钥.md

关闭 #1056 #1057 #1055 #1060 部分
2026-07-15 18:00:11 +08:00
ypsdf1 8ec89ef841 feat: 债券在线充值联控(彩虹易支付RSA版) — pay.php + player.php
- api/pay.php: 下单/回调/查询 + RSA(SHA256)签名验签 + pay_orders表
- player.php: 在线充值UI + ?paid=1回跳 + 3s轮询补单
- 密钥仅从 git-ignored 的 pay_secrets.php / 密钥文件_git拉黑.txt 读取,不入库
- fix: 去除 open_basedir 限制的 /pay_keys 候选路径 + @抑制文件访问警告,避免污染响应
2026-07-14 21:12:56 +08:00
ypsdf1 be04c8b451 修复三个问题:1)sync.php缺少:peace_mode绑定导致同步后和平模式值丢失;2)player.php效果命名修正(火焰抗性→抗火,英雄→村庄英雄);3)peace_mode前端渲染反转(isInverted从false改true) 2026-07-12 13:03:48 +08:00
ypsdf1 f5879f4087 修复PHP操作效果后JSON解析崩溃:convertEffectsForFrontend增加容错处理+handleUpdateLandField统一管道格式到变更队列+player.php所有effects JSON.parse加try-catch 2026-07-12 11:41:26 +08:00
ypsdf1 0b283483a7 修复: 成员权限显示未合并领地默认权限
handleGetMemberPerms 新增返回领地默认权限映射(default_perms),
严格对齐 Java getLandDefaultDeny 语义(含 denyDrop/denyPickup 反向列)。
前端 renderMemberPermDetail 对无自定义覆盖的权限键回退到领地默认,
与游戏内 getEffectiveDeny 的领地默认回退逻辑一致,
修复网页端显示"允许"而游戏内实际"禁止/限制"的权限不同步问题。
2026-07-12 10:32:10 +08:00
ypshidifu 9b39c9e56f 修复: 权限管理多项问题
1. 权限字段补齐: PHP $PERM_TYPES对齐Java全部32个权限键
   - 新增denyEntityInteract(实体交互)、denyMobAttack(攻击生物)
   - 修正denyPeaceMode→peaceMode(键名与Java对齐)
   - 数据迁移: 自动重命名DB中已有的denyPeaceMode为peaceMode

2. 权限编辑二态化: 成员权限只有允许/禁止,不存在"领地默认"
   - 移除前端"默认"状态,改为允许(green)/禁止(red)二态切换
   - 后端: 禁用时存false而非删除键,确保Java端正确识别

3. 角色切换修复: 移除visitor选项(访客=未授权玩家)
   - 下拉菜单只保留admin/member
   - 确认对话框文案对应调整

4. 同步删除逻辑: handleSyncPermissions新增清理机制
   - 删除incoming列表中不存在的旧记录(120秒宽限期)
   - synced_at=NULL的记录不参与删除(防误删PHP本地创建)
   - role CASE简化为role=excluded.role(信任Java为角色权威源)

5. 部署: json_encode加JSON_UNESCAPED_UNICODE防双重编码
2026-07-12 01:07:27 +08:00
ypsdf1 d7da6ec1a6 R15: PHP添加成员改为Java验证后入库(参考改领地主流程)
- handleAddVisitor改为先写pending队列,等Java验证后入库
- 新增handleAddVisitorCallback回调PHP添加成员结果
- 新增handleGetAddVisitorStatus供前端轮询状态
- player.php添加成员后轮询状态,支持异步验证显示
2026-07-11 15:53:12 +08:00
ypsdf1 646ecfa162 修复撤职管理员报无效角色member+效果中英文名兼容
1. land_api.php: handleChangeVisitorRole白名单增加member角色
2. player.php: addGiveEffect改用中文效果名(EN_TO_CN映射)发送给Java
3. player.php: addClearEffect兼容中文效果名匹配
2026-07-11 12:21:32 +08:00
ypsdf1 eaeab955e3 修复PHP三个bug:1.changeVisitorRole支持三角色切换(admin/member/visitor)并允许领地主自由切换;2.token验证兼容POST;3.成员权限toggleMemberPerm DOM检测修正 2026-07-10 23:16:32 +08:00
ypsdf1 a28083f4ca 修复PHP两个bug:1.land_api.php玩家端token验证兼容POST(changeVisitorRole等POST请求不再误报需要登录);2.player.php成员权限toggle检测逻辑修正(isCustom原本查span但自定义文字在div里,导致永远走无自定义分支只能给不能撤) 2026-07-10 22:51:04 +08:00
ypsdf1 b67480d073 PHP权限管理全面对齐Java:1.handleUpdateLandField白名单从4项扩展到33项(覆盖所有deny/allow权限开关);2.sync.php补齐14个缺失字段的INSERT和bind(deny_mount/deny_ender_pearl/deny_bow/deny_potion/deny_fire/deny_raid/deny_container/deny_mob_attack/is_public_building/allow_visitor_teleport/confiscate_items/deny_use_items/punish_commands/clear_all_bad);3.player.php新增领地权限开关面板(34项开关,与Java GUI getPermEntries一致,支持deny/allow反转显示);4.sync.php补充新列ALTER TABLE迁移 2026-07-10 22:34:39 +08:00
ypsdf1 555b9382b5 修复PHP三个关键bug:1.player.php效果字段名clear_all_bad_effects→clear_all_bad匹配DB列名;2.validation_callback的add_visitor写入web_area_permissions表(与handleAddVisitor一致,修复成员不入库);3.validatePlayerViaJava优先本地playerExists验证,减少异步等待;4.auth兜底保底防止update_land_field误入invalid secret 2026-07-10 22:00:31 +08:00
ypsdf1 b63ecc02b8 修复PHP接口:增益效果接口补齐必要参数,玩家存在性校验兼容登录库,同步新增实体交互权限字段 2026-07-10 19:08:18 +08:00
ypsdf1 dd425f4946 修复商城database is locked;购物车结算增强:≥1000元强制密码校验、潜影盒颜色可选收费(默认紫色免费);玩家端新增购物车模式与颜色选择器 2026-07-06 17:33:15 +08:00
ypsdf1 7a283ae4e0 商城购物车模式+收银台结算+后台折扣配置:前端购物车FAB/抽屉/结算弹窗,后端buy_cart接口事务批量购买,admin购物车配置卡片,cart_config/save_shop_config接口 2026-07-06 16:39:47 +08:00
ypsdf1 6337bc3e75 fix: player.php添加自定义玻璃拟态确认对话框showConfirm(),替换原生confirm() 2026-07-02 23:48:37 +08:00
ypsdf1 d394bd0ec8 fix: PHP购买用户组流程完善 - 1. 修复duration=0永久验证(从<=0改为<0) - 2. 替换原生alert/confirm为自定义toast玻璃拟态UI - 3. 添加bond记录同步(handleSyncBondRecord) - 4. 前端购买弹窗使用玻璃拟态确认对话框 - 5. 修复可用用户组列表SQL缺失列自动迁移 2026-07-02 22:41:15 +08:00
youpaishidifu b9ca56ff7f feat: 修复用户组权限检查 - 所有玩家可查看购买用户组 + 修复JavaScript语法错误 2026-07-01 11:22:51 +08:00
youpaishidifu fc6a46597d fix: 修复JavaScript模板字符串中的Unicode字符²语法错误 2026-07-01 11:04:19 +08:00
youpaishidifu 1bc97f6980 feat: 领地管理增强 - 毛玻璃改主弹窗 + pending队列 + 同步状态查询 + 玩家前端UI 2026-07-01 01:20:15 +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 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 3ad96b1080 修复多个问题:库存无限+CDK逻辑简化
问题2修复: 库存无限商品数量限制
- player.php: 库存无限时最大数量从64改为999
- shop.php: 移除硬编码64上限,只检查stock>0时的库存

问题3修复: CDK兑换逻辑简化
- cdk.php: PHP不再更新bond_cache,只记录pending交易
- Java端负责拉取交易并处理加债券
- 返回给前端的balance_after改为当前余额(不预加)
2026-06-26 10:59:58 +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 02d2d95c9a fix: PHP登录安全修复 - doPasswordAuth改用web_login_request走Java验证 2026-06-24 01:26:48 +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 b50bfd4379 修复PHP定时器bug:打开弹窗时隐藏C位按钮,定时器忽略glassLoginDismissed,关闭弹窗时重新显示C位按钮 2026-06-22 23:44:32 +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
ypsdf1 4c7ec7490f fix: 修复库存不同步bug(item_id字段名不匹配); 新增库存高频轮询; 新增工单系统; 修复admin_stock竞态条件; 修复opcache_reset竞态 2026-06-22 16:54:13 +08:00
ypsdf1 d7a986894c CDK兑换修复:maxlength扩展+日期搜索+商品分类+同IP折叠+数据库锁修复 2026-06-20 14:02:41 +08:00
ypsdf1 885e70f0f5 添加Web前端代码 2026-06-19 16:02:14 +08:00
ypsdf1 9bae160ce0 Java:新增ip推送端口,后端可以查看玩家ip及归属
php:新增ip属地、实时在线数据,可以查看玩家ip、归属和实时在线情况
2026-06-18 12:35:22 +08:00
ypsdf1 54cd3c4f59 feat: 初始提交 Web 管理后台源码 (PHP) 2026-06-14 16:35:07 +08:00