修复后台奖励仓库:查看明文要按两次、以及列宽过窄
· 现象一:点「查看」时明文闪一下又变回掩码,得再点一次才显示 · 原因:查看明文这条请求被后台的「改完自动同步」当成写操作,触发整表重取,把刚显示的明文盖了回去 · 现象二:序号列和内容列一样宽,兑换码被挤得看不清 · 处理:查看明文不再触发自动同步,重新渲染也会保留已查看的明文;列宽重新分配(序号收窄、宽度让给内容)
按发布时间倒序排列;置顶条目始终在最前面。
共 81 条公开记录
· 现象一:点「查看」时明文闪一下又变回掩码,得再点一次才显示 · 原因:查看明文这条请求被后台的「改完自动同步」当成写操作,触发整表重取,把刚显示的明文盖了回去 · 现象二:序号列和内容列一样宽,兑换码被挤得看不清 · 处理:查看明文不再触发自动同步,重新渲染也会保留已查看的明文;列宽重新分配(序号收窄、宽度让给内容)
· 爱发电的 OAuth2 关联授权已通过官方审核,状态说明从「审核中」更新为「配置中」 · 只差把站点侧的凭据配好;配好之后账号设置里会出现「绑定」按钮,绑好即可看到自己的赞助记录 · 微信 / Google / Microsoft 三家同理:代码已完成,等凭据配上就会自动变为可用
· 现象:QQ / 微信带过来的头像在页面上显示不出来(裂图),或作为头像候选时点不动 · 原因:这两家给的头像地址是 http,而本站是 https,浏览器会按混合内容直接拦掉 · 处理:入库与展示时统一升级为 https,已存在的老数据也会正常显示;本地联调地址不受影响
· 现象:在账号设置里绑定 QQ 之后,用 QQ 登录却进到一个全新的账号,里面什么绑定都没有,页面显示"未绑定" · 原因:QQ 登录只按老一套的记录找账号,没有认「账号设置 → 绑定」写下的绑定关系 · 处理:两条记录一起认(绑定优先);老账号的绑定关系也会自动补齐,一旦登录就与界面、后台是同一条数据 · 顺带:被封禁的账号用 QQ 登录不再发放登录凭证(与其它第三方登录方式保持一致)
· 现象:亮色主题生成的活动海报,右上角「未开始 / 进行中」这类标签字色偏深,压在深色底上看不清 · 处理:标签的底与字改为一套固定配色(浅紫字 + 深色半透明底),明暗主题完全一致 · 暗色主题的观感与改动前逐字一致
· 现象:点「分享」生成海报时,封面图偶尔加载失败,海报上只剩文字和二维码 · 原因:图片直连地址的跨域许可是按请求实时下发的,而缓存里那份副本不带 —— 页面上先加载过一次图片之后,再取字节就可能被浏览器拦下 · 处理:直连取不到时自动改走站点接口取图,两条线路互为补充;正常情况下仍走直连,不额外占用接口额度
· 活动图片与下载文件原先都要经过站点接口中转,现在可以改为由存储直连下发 · 好处有两个:这些流量不再占用站点接口额度;图片由存储直接返回,加载也更快 · 该改动不影响页面显示与任何链接:没启用时一切照旧,老地址也不会失效
· 横幅与广告的显示状态并入页面状态接口一起下发:每打开一个页面少发两次请求 · 整合包下载列表改为只在有下载区的页面才获取:除首页外,其余页面不再多发这一次 · 活动页所需的服务器时间随「参与方式」配置一起下发:活动中心少发一次请求 · 顺带修掉两处会让「合并」白做的缺陷:有的页面因此反而多发了一次请求(现已在发布前量到并修好) · 实测:平均每次页面访问的接口调用由 5.5 次降到 2.8 次(约少 50%);法律文本页只需 1 次,页面显示与功能不变
· 活动列表:原先每个活动都要单独查两次数据,现已改为一次批量读取 —— 活动越多省得越明显(活动页与活动详情页每次访问都会用到) · 定时任务:每分钟执行一次的自动开奖/补发,原先每个活动各查两次,现改为整批只查一次 · 后台「系统诊断」:一分钟内重复打开直接复用上次结果(需要重新体检时可强制刷新) · 导航栏的未读数改为本地缓存 60 秒:连续浏览页面时不再重复请求;退出登录会清掉,不会把上一个人的数字留给下一个人 · 这些改动只影响"读多少次",展示的内容与逻辑和以前完全一致
· 登录状态下,只要还有未读消息,右上角头像的右上角会常驻一个紫色小点(不用点开菜单就能看见) · 点开菜单时,「我的消息」那一项仍显示具体条数;消息读完清完,小点自动消失
· 登录后打开右上角账号菜单(移动端为侧边菜单),「我的消息」右侧会显示未读条数的小标 · 没有未读时不显示该标记;超过 99 条显示「99+」 · 该数字在打开菜单时才查询一次(30 秒内不重复请求),不会给每次页面浏览增加负担
· 「我的消息 → 清空」现在只清掉已经读过的消息;未读的会留在列表里,读过之后才能一起清掉 · 清空后收件箱会提示还剩多少条未读 · 已读记录改为单独保存,不再依赖收件箱里的那一行:即使用户清空消息,后台「已读明细」照样能查到是谁、什么时候读的
· 封禁与解封改为站内确认弹窗(原先用的是系统确认框),写明后果后才执行 · 处理完成后会询问是否通知本人;通知文案由「固定开头 + 可选理由模板 + 固定结尾」组成,中间一段可自由修改 · 封禁可选理由:使用外挂/作弊、辱骂骚扰、恶意刷奖多开、发布广告刷屏、冒充他人、临时停用排查、手动填写 · 解封可选理由:申诉通过、误判已核实、处罚期满、手动填写 · 通知本身走站内消息台账,因此同样能查已读、也能撤回
· 台账由表格改为卡片:一条消息一张卡,标题与状态、正文摘要、送达与已读进度分行显示,窄屏下操作按钮不再被挤压 · 已读明细改为「一人一张小卡片」:头像 + 昵称,下方显示邮箱与阅读时间,一屏可查看更多人 · 群发消息在发送前增加二次确认(会提示「发给全站所有用户」)
· 后台可给单个用户发消息,也可一次发给全站所有正常账号(无需逐人操作) · 新增发送台账:每条自己发出的消息都列出「发给谁 / 状态 / 已读进度 / 发送时间」 · 点「已读明细」展开名单:左侧列出已读的人(含阅读时间),右侧列出还没读的人,人数与名单一一对应 · 支持撤回:撤回后用户收件箱里立刻看不到,台账标记为「待发送」,可修改内容后再发一次 · 支持编辑:修改标题与正文,已发送的会同步更新用户端内容(已读状态保持不变) · 支持删除:台账与用户收件箱里的这条记录一并移除 · 台账只列运营手动发送的消息;报名成功、中奖等系统自动消息不在其中
· 原先给用户发站内消息是用系统输入框逐项询问标题与正文,现已改为完整弹窗:收件对象、标题、正文、站内链接一屏填完 · 收件对象可选「全站所有用户」或「指定用户」(填写用户 ID 或邮箱) · 弹窗点击窗口外部不会关闭,只能通过「取消」按钮退出,避免误触丢失已填写的内容
· 此前 QQ 只能通过"用 QQ 登录一次"自动绑定,账号设置的「绑定管理」里没有绑定按钮,也无法解绑 · 现在 QQ 与皮肤站、GitHub 等一致:点「绑定」跳转 QQ 授权,绑定后本账号也可用 QQ 登录;已绑定可随时解绑 · 解绑前要求账号已有邮箱(有邮箱即可用验证码登录),避免解绑后失去全部登录方式 · 一个 QQ 身份只能绑定一个本站账号;若该 QQ 已绑定其他账号,会明确拒绝并提示冲突 · 绑定状态在「用户档案」与「账号设置 → 绑定管理」两处同步显示;管理员后台同样可代为解绑 · 备注:能否真正完成授权仍取决于 QQ 互联对本站应用的审核结果,未通过时授权页会停在 QQ 侧的提示
· 现象:QQ 的 APP ID 与 APP Key 配置完成后,后台与登录页仍显示「审核中」,易被误判为配置错误 · 原因:判定「是否已配置」时把可选的回调地址变量计为必需项,缺少该项即视为未配置;爱发电存在同样问题 · 现在仅以必需项判定:QQ 为 APP ID + APP Key,爱发电为 clientID + clientSecret;回调地址留空即使用默认值 · 实测结果:QQ 已正确显示「可用」;爱发电在取得 clientID / clientSecret 后同样会自动转为「可用」
· 每个平台行前增加状态色点:绿 = 可用,黄 = 暂不可用(未配齐 / 等待平台审核 / 后台未开启),红 = 配置存在矛盾 · 每行直接标注凭据状态与缺失的变量名,例如「凭据未配:缺 AFDIAN_OAUTH_CLIENT_ID / AFDIAN_OAUTH_CLIENT_SECRET」 · 展开后每个变量名前标注 ✓ / ✘(可选变量以横线表示),变量名旁标明「必需 / 可选」 · 回调地址两条分别标为「推荐登记」与「备用登记」:两者均可使用,但须与代码实际发出的一条保持一致 · 后台自行关闭的平台显示为「后台已关闭(未启用)」,不再误报为凭据未配置 · 安全告警邮件发送失败时会在「系统诊断」给出提示(此前仅记录在 Worker 日志中,通知渠道中断不易察觉)
· 现象:首次打开后台时,部分卡片显示「读取失败:未登录」,手动刷新后恢复正常 · 原因:这些卡片在页面加载时即发起请求,而当时尚未登录;请求等待超时后返回错误,登录成功后不会自动重试 · 现在改为登录后再发起请求:未登录时显示「登录后会显示…」,登录成功后自动加载 · 同因影响的「邮件开关」「用户管理」同步修复;「后端未部署」提示限定为仅 404 时出现
· 现象:后台「邮件模板 → 全部模板」仅列出 7 条,而「模板类型」下拉为 14 项 · 原因:该表格按数据库已有记录渲染,而账号相关 7 类模板仅有系统默认版、未落库记录 · 现在未落库的类型同样列出,来源标为「系统默认」,可直接「测试」与「查看」 · 同时修正列表上方的计数:原先统计数据库记录条数(含 5 条历史遗留记录),与表格行数不一致
· 全部系统邮件采用官网同色系的紫色标题带:左上角为站名「BlockTavern 方块酒馆」,其下为大标题与核心提示句 · 不使用图片(邮箱客户端默认拦截外链图片),站名以文字呈现;不再出现与邮件无关的辅助小字 · 正文仅保留必要信息,结尾附淡色提示;页脚标注「系统自动发送」、官网与《服务条款》《隐私政策》 · 仅「验证你的邮箱」保留按钮,其余邮件不再设置按钮 · 中奖通知仅告知中奖结果(奖品、名次、奖励发放方式),兑换码与有效期统一放在「奖励领取」邮件中
· 原因一:正常明文查看此前按「严重」级别记录,而告警规则为「出现一条严重事件即告警」,单次核对也会触发告警邮件 · 原因二:后台对同一枚兑换码反复「查看 / 隐藏」会重复请求,消耗「每小时 5 次」额度并生成多条安全事件 · 现在正常查看按「信息」级别留痕(仍可审计),仅被节流或被明文开关拦截的尝试记为「严重」 · 后台已查看过的兑换码保留在页面上,重复点击仅本地显隐,不再请求后端 · 告警阈值与节流阈值统一为「1 小时内达到 5 次」
· 告警邮件增加「先自证」步骤:以告警中的来源指纹比对同一时段的管理员登录记录,可排除管理员自身的正常操作,无需据此轮换密钥 · 告警邮件采用统一版式,规则命中数量与处置建议置于正文前部 · 更正文档:明文返回开关不会自动关闭,需人工执行(避免误锁运维)
· 移除各封邮件末尾的「— 方块酒馆活动组」落款,改为一条淡色提示,与正文区分主次 · 压缩多余空行(奖励无期限、实物奖品无兑换码等情况下不再出现大片空白) · 奖励领取邮件写明有效期与查看入口;中奖、未中奖、验证码等邮件的措辞与留白统一 · 版式与文案仍可在后台「邮件模板」逐类预览、修改与发送测试邮件
· 原因:早期版本的邮件正文写入了数据库内置模板记录,读取顺序优先于代码默认模板,新模板因此被覆盖 · 现将内置记录恢复为空占位(正文以代码为准),后续版式与文案调整即时生效 · 后台另存的自定义模板不受影响,仍按原样保留并优先使用
· 前端新增《部署指南》:Cloudflare Pages 配置、日常发布、国内镜像同步与抽查、回滚、常见故障对照 · 后端《部署指南》新增「全部变量与密钥一览」:资源绑定、必填密钥、邮件与开奖、账号体系、第三方登录、爱发电、前端侧公开配置,并逐项说明未配置的影响 · 标明哪些可由 CI 自动注入、哪些需手动配置,另附三条配置自检命令
· 未登录访客三档:填写信息 + 邮箱验证码(默认)/ 直接参与(不要验证码)/ 必须先注册登录 · 已登录账号两档:确认一下就参与成功(默认)/ 仍然要收一次邮箱验证码 · 登录且邮箱已验证的账号走「账号档」,其余情况按访客档处理;免验证码档靠同邮箱 + 同 IP 限流兜底 · 设置入口在后台「活动管理」顶部,改动需要二级锁确认,并会记进后台操作日志
· 任一参与方式报名成功后显示成功动画,并立即将按钮更换为「已参加」与查询码,无需手动刷新 · 登录账号点击「参与抽奖」时先弹出二次确认,明确展示本次参与使用的昵称与邮箱 · 访客需填写完整信息(真实昵称与可用邮箱),信息缺失或格式有误时即时提示
· 谷歌 / 微软:绑定操作会强制显示账号选择与授权确认页,不会以当前已登录账号静默完成绑定 · 需更换账号时,先取消当前账号的授权再重新绑定即可 · GitHub 不支持该参数:此前已授权过本站时,点击绑定会直接回跳,需先在 GitHub 设置中取消授权
· 后台导入奖励时,选定日期后可再指定具体时刻,默认 23:59:59 · 批次有效期默认为「指定到期时间」,无需每次手动切换 · 中奖通知与前台「奖励兑换」中的到期时间显示到分钟,取值即后台设定的时刻
· 支持邮箱注册 / 登录、验证码登录、找回密码;一个账号在国内站与国际站通用 · 登录后可用:用户档案、账号设置、我的消息、奖励兑换、我的赞助 · 可以绑定第三方账号:QQ、皮肤站、GitHub、爱发电、谷歌、微软、微信;绑定之后也能用它登录 · 邮箱验证过我们才发活动与中奖通知;第三方登录拿不到邮箱时,账号页会一直提示先绑定
· 后台导入奖励时可以设这批码的有效期:永久 / 30 天 / 90 天 / 1 年 / 指定到期日期 · 奖励兑换页点开查看后显示「有效期至 …」,不再用兑换指南占位置;只有过期了才标「已过期」 · 中奖通知与奖励发放邮件里会写明具体的过期时间(几点几分) · 已经导入的老奖励仍是「长期有效」,行为与以前一致
· 新增「活动详情」「支持我们」两个受管页面,各自可设 开放 / 维护 / 关闭 · 「活动详情」跟着「活动页」、「支持我们」跟着「赞助与开支」:关掉入口页,之前复制出去的直链也进不去 · 账号中心里的赞助内容可以单独开关(关掉后侧栏与菜单里不再出现「我的赞助 / 赞助订单」)
· 登录状态下报名成功后,活动页立即将「参与抽奖」更换为「已参加」并显示查询码,无需手动刷新 · 个人资料支持直接使用已绑定平台的头像与昵称 · 「我的消息」的通知卡片按已读 / 未读区分颜色,未读状态一目了然 · 「管理 Cookie」移入账号设置;国际站广告类存储需经同意后启用
· 手动「重新打开活动」后不会再被「到期自动关闭」立刻关回去(以前重开后前台看不到活动) · 第三方回调的短路径地址现在可以正常使用(后台登记短路径也能登录) · 修复报名成功后按钮仍显示「参与抽奖」、以及复制按钮文字卡在「已复制」的问题 · 修复页面关闭后、复制出去的链接仍能打开的问题(新增的两个受管页面同样受保护)
· 密码使用 PBKDF2 加随机盐哈希存储,后台也看不到明文,只能重置 · 注册登录接入渐进式人机校验:正常操作一把过,输错过之后才要求验证 · 邮箱验证体系:第三方注册带进来的邮箱必须验证,否则不发通知、也不能用它登录 · 后台可以按「登录方式」单独设 开启 / 维护 / 关闭(例如某一家还在审核,只停那一家) · 明文查看兑换码有频率限制并留痕;账号注销会彻底清除该账号的全部数据
· 三份文本写清了本站实际收集什么、存在哪里、保留多久、与谁共享,不是通用模板 · Cookie 政策列出了浏览器里真实的存储项,并给出开关;国际站的广告类存储需要先征得同意 · 入口在页脚与注册页,登录后也可以在「账号设置 → Cookie 与本地存储」里直接管理
· 接口首字节由约 14 秒降到 1 秒以内(数据库准备从每次请求里移出) · 高频只读接口接入 30 秒边缘缓存,不再反复查库 · 前端改为先用上次数据渲染、再后台刷新(首页 / 公告 / 活动 / 赞助) · 修复后台「广告管理」面板显示成首页内容、并让整个后台停摆的问题 · 修复「新闻详情」设为维护或关闭后看不到说明文字的问题 · 数据完好,未受影响
· 官网新增「更新日志」页(导航栏 → 更新日志) · 分类角标:新增 / 修复 / 优化 / 调整 / 安全 / 公告 · 时间线排列(置顶优先、发布时间倒序);每条都有独立链接,可直接分享 · 支持按分类筛选;列表滚到底自动加载更多 · 后台新增「更新日志」面板:新增 / 编辑 / 删除、草稿、置顶
· 修复活动页顶栏显示英文键名、页脚在活动页与其它页文案不同的问题 · 页脚新增「更新日志」入口
· 页面设为维护或关闭时,访客能看到明确的说明页(此前只有导航栏与页脚) · 文章不存在或接口异常时会显示可见的错误提示
· 国际站接入 Google AdSense,只保留页面末尾一个广告位 · 国内站使用站内自托管轮播广告(不加载谷歌脚本),6:1 扁横幅并自适应明暗主题
· 广告逐张开 / 关;关闭后在前台任何一帧都不会出现 · 发布 / 下架 / 关闭 / 同步等危险操作统一增加二级确认
· 活动列表支持批量关闭 / 删除
· 开奖后定格保留;未开始、已开奖可自动隐藏(后台开关) · 「时间周期触发」间隔新增 10 ~ 55 秒档位 · 后台状态条同时显示浮动人数与实际报名人数
· 后台新增「发送测试邮件」:保存模板前可先验证能不能发出去 · 诊断面板逐条列出问题,并给出可直接执行的修复命令
· 分类可在后台增删改,前台按分类筛选
· 修复明暗主题下的面板配色、图标与文字对比度 · 文章上 / 下篇加载与页面归位优化
· 所有页面统一走同一套主题变量,自动跟随系统,顶栏可手动切换
· 横幅与国内 / 国际站切换条逐条开启 / 关闭 · 保存后前台首帧即生效,不会闪现
· 文档站每一篇可单独设为 开放 / 维护 / 关闭,并可为单篇生成测试链接
· 补齐中英文案(含横幅双语);修复图标在部分页面显示成文字名 · 修复横幅首次访问闪现、页脚未渲染、窄屏顶栏溢出
· 安装教程 / 游玩指南 / 常见问题三类文档 · 带本页目录、图片灯箱与上下篇导航;手机端侧栏可折叠
· 活动页、赞助公示、赞助总榜、新闻列表、新闻详情、文档站可逐个设为 开放 / 维护 / 关闭 · 维护或关闭后访客看到说明页,导航入口同步打标或撤下 · 后台可为每一页生成测试链接(有效期可设、可随时撤销,只对自己生效)
· 一键同步历史订单(按月归集),自动写入赞助公示 · 补全赞助者昵称与头像(只填空、不覆盖已有内容)
· 新增 BakaXL 与美西螈启动器
· 导航栏下方新增可关闭的横幅条(用于维护提示、活动预告等)
· 新建活动默认选中「自动」:未开始与开奖后不显示人数、进行中显示真实人数 · 已有活动不受影响;想固定展示可在后台改回「真实」或「浮动」
· 官网新增「新闻」:分类、封面、置顶、定时发布、归档 · 前台支持按分类筛选与相关文章
· 支持标题 / 列表 / 表格 / 任务列表 / 高亮 / 引用等常用块 · 粘贴图片自动上传,不会把图片写进数据库
· 内置 7 套排版模板,一键套用 · 「原始 HTML」沙箱模式:可自定义 CSS(草稿不会被公开访问)
· 正文可嵌入 B 站 / YouTube 视频(走官方播放器)
· 管理端登录加入限流与多次失败临时锁定 · 全站管理操作写入审计日志(谁在什么时候改了什么) · 内容安全策略(CSP)转为强制生效,字体与图标全部本地自托管 · 管理端接口改为独立鉴权令牌,不再与业务密钥混用
· 可显示:真实人数 / 浮动氛围人数 / 不显示 / 自动 · 「自动」= 未开始与开奖后不显示、进行中显示真实人数
· 后台「下载发布」支持「后台托管」(后台维护数据)与「源码管理」(数据写在源码里)
· 图标字体改为本地自托管,离线环境也能正常显示 · 修复活动详情页错位、页面切换闪烁与部分翻译缺失
· 整合包 v3.0.4:Fabric + Minecraft 1.21,内置进服所需的全部组件 · 内置 Exit-Crash-Fix:修复退出游戏 / 断开连接时崩溃与重连报错 · 移动端(安卓)整合包同步更新 · 首页「选择您的平台」可直接下载,含备用链接与二维码
· 邮箱验证码报名,无需注册账号 · 后台名单管理:查看报名记录、手动添加、批量操作
· 开奖采用「承诺-兑现」机制:开奖前公开种子指纹、开奖后公布种子,人人都能复算中奖名单 · 到点自动开奖;中奖名单与发放记录在后台可查 · 奖励通过邮件自动发放(一般几分钟内,最迟 24 小时)
· 凭报名时获得的查询码自助查询中奖结果与兑换码状态(不显示邮箱)
· 活动的开始 / 开奖 / 关闭时间一律按北京时间显示与判定
· 后台展示报名信息时对邮箱等字段脱敏,减少敏感信息暴露
· 「系统诊断」会检查发信配置;发不出邮件时直接给出原因与修复命令
· 活动卡片重新排版,未开始 / 进行中 / 已开奖的状态角标更醒目 · 活动页支持中英文切换
· 活动可一键生成分享海报与链接
· 全新导航栏与页脚,桌面端与移动端统一体验 · 下载区、常见问题与启动器列表重新整理 · 支持多服务部署与备案信息自动识别
· 国际站 www.blocktavern.cn,国内站 mc.blocktavern.net(国内访问更快) · 两个域名同一套源码、同一套数据;页面顶部提示当前站点并可一键切换
· 打开控制台(F12)可以看到方块酒馆的 ASCII 艺术与站点信息 · 试试 bt() / cheers() / info() / "minecraft" / "42"
· 服务器已于 2026.09.15 到期,进入临时停服状态 · 全量存档已完成备份,建筑与进度均保留 · 新服务器硬件确认后立即复开,时间确定后在公告与更新日志同步
· 站点源码拆成两个仓库:前端(静态站 + 后台页面)与后端(Cloudflare Worker 接口) · 数据整体迁移到 Cloudflare D1,两个站点共用同一套数据 · 此后每一次改动都会记录在「更新日志」里