# 七日活动本地预览 使用 Cocos Creator 2.4.15 打开 `assets/testSeven/TestSeven.fire`,选择「预览当前场景」。无需登录或测试 UID。 顶部提供「预览弹出上浮(不领取)」可反复播放当前天数的图标和数量,不改变领取状态。底部可选择第 1~7 天、今日已领、全部完成、已过期、重置、重新打开和下次失败。 建议逐项检查: - 没有关闭按钮;点击弹窗背景、标题、卡片等有颜色的 UI 不算点击外部;贴图透明空白算外部,但若下方仍有可见 UI 则由下方 UI 处理。 - 打开后不自动领取。点击当前奖励卡片或外部,一次只领取当前奖励,成功后保留活动弹窗;之后再次点击外部才关闭并交还后续弹窗判定。 - 本地领取立即响应,没有模拟请求延迟;播放效果期间连点卡片、实际遮罩都不能重复领取或预约关闭。 - 「下次失败」后领取失败,保持弹窗且不播放效果,可重试。 - 上浮:道具位置显示图标和数量,缓慢上移少许后淡出。 - 第 3 天双奖励、第 6 天锤子+冻结双奖励、第 5 天无限体力秒数(1800 秒)、第 7 天猫皮肤;可重复预览上浮效果。 - 已领取、完成、过期状态不会再发奖;关闭后重新打开保留内存状态。 七日活动使用独立 `assets/reward_claim_effect/RewardClaimEffect.ts`,不再使用旧 RewardWindow 或数字图集。正式领取只使用弹出上浮:在道具中心上方一个道具高度处生成(跟随图标缩放),从小弹到 1.25 倍并快速回正,再缩至 0.9 倍、弹到 1.25 倍并快速回正;停留 0.25 秒后,用 0.6 秒上移 150px 并同时淡出。测试仅修改内存,不连接正式 Runtime、不增加资产。主页触发、服务端状态和真实到账仍需测试服验证。 ## 接口测试面板 预览 `TestSeven.fire` 后,点击顶部「打开接口测试面板」。输入测试服账号 UID 和登录 token,或点击「读取当前登录」填入当前运行环境里的账号。独立场景没有登录流程,取不到 token 时需要手动填入;token 只保存在输入框内存中。 「发送查询」向 `Utils.testHttpip` 的 `signInActivityInfo` 发起 POST,并显示 HTTP 状态、耗时、活动字段和可滚动的完整 JSON;控制台可搜索 `[testSeven][signInActivityInfo]`。查询可能修改后端签到记录。浏览器预览需要测试服允许跨域,网络失败时会提示。 「预览返回数据」用真实七日 Prefab 展示响应状态,可在该响应的内存副本上模拟点击领取、奖励动画、点击外部只领取、再次点击才关闭和失败重试,不增加资产,也不提交领取状态。「清除该账号弹窗记录」只清除最近一次成功查询的 UID + activityId 对应的本地自动弹窗记录,不清除奖励防重记录或后端状态。此操作仅影响当前预览环境的存储,不能清除微信开发者工具或真机中的记录。 ## 打包排除 `testSeven` 是独立测试 Bundle,主场景没有引用它,但这不意味着构建器会自动排除它。打包前把 `assets/testSeven/` 和 `assets/testSeven.meta` 一起移到项目 `assets` 外的本地备份目录,等待 Creator 刷新后构建;测试结束再移回原位并保留 UUID。不要将 TestSeven 选作发布启动场景。脚本额外使用 `CC_PREVIEW` 限制执行,但该限制不能代替构建排除。 确认本地效果后,再使用原有正式场景构建测试服版本。 ## 透明区域点击回归 选择「今日已领」,点击背景和标题的透明边角应关闭;点击有颜色的区域应保持打开。选择第 1 天后点透明处应只领取,效果结束后再次点透明处才关闭。也要检查弹出缩放、卡片呼吸缩放时的边缘判定。 命中数据按原图 Alpha ≥ 16/255 生成,忽略几乎透明的柔边。修改七日活动贴图后运行 `python tools/generate-seven-hit-masks.py`(需要 Pillow),再让 Creator 导入更新。当前 16 张图片使用约 44 KB 数据,运行时不读取纹理像素;文字仍使用文本节点范围判定。 多奖励新效果排成同一水平行,以原道具区域居中,按左到右每隔 0.145 秒生成(第一次放大并回正的时长)。所有道具弹出完成后停留 0.25 秒,再从左到右每隔 0.145 秒开始上移渐隐。可用第 3 天双奖励、第 6 天锤子+冻结双奖励、第 7 天不同高度图标检查排列和时序。