Commit Graph
62 Commits
Author SHA1 Message Date
ypsdf1 3e2bd64a70 第46批:修复账号安全卡二维码扫不出(换Arase SVG带静区方案,提取qrcode-svg.js复用twofa_qr库);用户端&管理员端背景系统升级三模式(纯色/图片URL/必应API壁纸,遮罩强度可调,新增api/wallpaper.php代理带缓存与SSRF白名单) 2026-10-22 20:59:32 +08:00
ypsdf1 9dcf5dcb93 第45批:修复账号安全卡报缺少web_token参数(apiPost统一注入web_token)+游客模式提示先登录 2026-10-22 19:18:18 +08:00
ypsdf1 71b644182c 第44批:玩家端账号安全双层验证(改密/2FA绑定解绑/恢复代码)+admin用户搜索卡住根因修复+sync改密列名修复 2026-10-22 18:55:26 +08:00
ypsdf1 bca9b9af47 第32批:后台识别拉黑信号——sync_blacklist落表、validateWebAccess拉黑拦截、CDK兑换与前端拉黑提示 2026-10-21 15:10:47 +08:00
ypsdf1 a2171262e6 第十七批:个人中心封禁公示卡片挪到详细信息板块下面 2026-10-14 20:34:53 +08:00
ypsdf1 79280c3990 封禁公示到期时间秒/毫秒归一:Java推毫秒,接口与前端统一按秒 2026-10-14 19:22:32 +08:00
ypsdf1 b99412cc8a 第十六批缺陷修复:封禁公示改查java侧表+卡片入内容区自适应高度+后台AGPL页脚 2026-10-14 18:58:05 +08:00
ypsdf1 e12a972ad7 第十六批:玩家端封禁公示卡片+AGPL合规页脚与开源地址.txt+封禁synced_at保序 2026-10-14 18:08:43 +08:00
ypsdf1 f7aedc6fae Web 端同步 bad_effects 负面效果字段
- land_api.php / sync.php:建表迁移、INSERT、bindValue 补 bad_effects
- convertEffectsForFrontend 增加负面效果的管道格式 → JSON 数组转换
- 字段白名单加 bad_effects,上限校验改为增益+负面合计口径
- player.php:负面效果独立 UI 区块,addGiveEffect 抽成通用 landEffectAdd,
  新增 addBadEffect(效果档位与 Java 端同口径)
2026-10-04 22:57:37 +08:00
ypsdf1 419b677aa9 修复工单上传图片误判+用户组max_effects配置同步 2026-10-04 14:48:43 +08:00
ypsdf1 fe1ed613ba 工单管理支持上传图片(兰空图床转存)
- 新增 lsky.php:兰空图床 API 客户端,token 缓存+提前60秒续签+401自动重签重试
- 新增 lsky_keys.php:图床凭据模板(仓库仅占位符,真值只在服务器,永不上传)
- api/ticket.php:新增 upload_image 动作,限 png/jpg、单张≤2048K、内容与后缀必须一致、同会话每分钟限12次;web_tickets 增 images 列(JSON 数组,上限3张,URL 仅限自家图床)
- core.php:权威建表补 images 列 + 老库幂等 ALTER 迁移
- player/admin 两端:上传即暂存、光标处插入 [图片N] 滚动占位符、上限3张;提交时随工单入库
- player/admin/service 三端详情:占位符还原为 markdown 图片,未引用图片补在末尾
2026-10-04 10:16:37 +08:00
ypsdf1 9ee8023d90 领地权限与面积限制接口:补生物蛋/涂蜡刮蜡两权限字段,新增退费比例与面积限制配置项 2026-10-02 19:31:20 +08:00
ypsdf1 293d7b283c 修复:主脚本注释含字面量script闭合标签导致页面截断 2026-10-01 16:08:39 +08:00
ypsdf1 8fa7eb5c95 用户端 player.php 接入人机验证挂件:三个登录入口统一挂载并提交前取 token 2026-10-01 15:39:10 +08:00
ypsdf1 b6983f99e4 新增第四层安全防护:全局限流20次/分钟/IP,白名单与带secret的内部调用豁免,超限挂起连接不返回数据 2026-09-30 15:56:16 +08:00
ypsdf1 27da2b5c05 SN日志动作列中文化:admin.php与player.php新增SN_ACTION_CN映射,覆盖issue_admin/cancel_force等全部动作值 2026-09-30 12:31:17 +08:00
ypsdf1 18bd1e9b19 feat: SN防伪后端 api/sn.php、8张SN数据表与玩家端/管理端SN页面 2026-09-29 11:16:32 +08:00
ypsdf1 c3d9c0925d 修复4个问题: 用户组购买确认弹窗、在线曲线清理、高频出售缓冲、每小时活跃数据 2026-07-20 13:18:58 +08:00
ypsdf1 312f40c94a 修复活动过期后仍走活动价格的bug:前端必须校验discount_active字段 2026-07-17 23:32:05 +08:00
ypsdf1 ace705682c 新增支付邮件通知+玩家订单查询功能
1. 支付成功后自动发送付款凭据邮件(仅绑定邮箱的玩家)
   - handleNotify回调 + queryOrder补单两条路径均触发
   - 邮件包含订单号、商品、金额、到账债券、支付时间
   - 异步静默发送,不影响主流程

2. 玩家端新增「我的订单」页面
   - 后端新增my_orders action查询pay_orders表
   - 前端展示订单列表(状态标签、金额、债券、时间)
   - 支持刷新按钮
2026-07-16 23:31:34 +08:00
ypsdf1 f3919a8715 实现折扣价格功能:数据库表、后端API、前端界面完整支持折扣价格字段 2026-07-16 18:33:21 +08:00
ypsdf1 00da16abb6 订正售罄≠下架:售罄商品仍展示仅禁止购买,仅下架(is_active=0)才隐藏;前端售罄按钮置灰 2026-07-16 17:38:01 +08:00
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