{ "info": { "name": "每日任务与周任务|正式接口和测试接口", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", "description": "单文件导入:Postman Import 本JSON,然后在Collection的Variables中填写 baseUrl(不带末尾/)、uid、token,先发送「读取每日任务和周任务」。无需另导入Environment。\n\n所有请求与Cocos客户端保持一致:POST,application/x-www-form-urlencoded。token放表单,不使用Bearer认证。正式接口共2个路由;dailyTaskDebug包含8种action,按taskId/slot提供了独立示例。\n\n成功响应自动保存taskJson和dailyTaskId0~4。taskId为空或已不在当前任务列表时,自动选中slot对应任务;之后可手动修改taskId。更换uid或gameName后请先重新读取,勿直接保存其他账号的旧快照。\n\n正式调用:读取 → 修改progressValue并保存指定任务进度(或在客户端完成任务)→ 领取每日奖励 → 读取周进度 → 选择rewardId领取周奖励。\n\n调试调用:完成指定/全部每日任务 → 正式领取每日奖励;设置weeklyStars到35/70/105/140 → 正式领取对应周奖励。请求均是独立的手动工具,不要直接Runner运行整个Collection,重置请求会覆盖选定账号任务状态。\n\n任务完成不等于领取:每日奖励领取成功才增加周累计鱼罐头;周累计最多140。周领奖不会扣除罐头,没有weekly_15档。状态:0=未完成,1=可领取,2=已领取。所有每日任务直接开放,无需依次解锁。\n\n接口只落库任务/领取状态并返回rewards;现有客户端负责金币、道具等资产入账。Postman调用领奖不会自动执行客户端发奖逻辑。\n\n当前测试接口限制:只访问users,数据库账号isDebug必须为true或字符串true;请求isDebug不能开通权限。debugKey校验目前被注释,保留为默认禁用字段,gameName不适用于该接口。\n\n已知服务端问题:当前dailyTaskDebug.ts保存处调用db.collection(dbname),但dbname未定义,成功路径会报错。此Collection未修改服务端;调用测试操作前需修复并发布对应函数。仓库缺少dailyTaskDebug.yaml,目标环境需已发布该HTTP函数并支持POST。\n\n文件按本地当前实现核对生成;未对线上账号执行任何请求。旧dailyTaskDebug.API.md中的依次解锁、debugKey必填和gameName支持说明已过时。" }, "auth": { "type": "noauth" }, "variable": [ { "key": "baseUrl", "value": "", "type": "string", "description": "Laf应用HTTP地址,不带末尾斜杠;请使用需要调试的环境。" }, { "key": "uid", "value": "", "type": "string", "description": "账号ID;调用测试接口时必须是users中的调试账号。" }, { "key": "token", "value": "", "type": "string", "description": "该账号当前登录token,不是Bearer前缀。" }, { "key": "gameName", "value": "", "type": "string", "description": "仅正式接口适用:iaa选择usersAd,其他值/空字符串选择users。" }, { "key": "isDebug", "value": "false", "type": "string", "description": "兼容客户端请求字段,不授予调试权限。" }, { "key": "taskId", "value": "", "type": "string", "description": "每日任务ID。首次读取后按slot自动填入;可手动修改。" }, { "key": "slot", "value": "0", "type": "string", "description": "每日任务槽位,0~4;影响按slot测试请求和taskId首次自动选择。" }, { "key": "progressValue", "value": "1", "type": "string", "description": "保存正式任务进度或设置测试进度时使用,范围0~任务target。" }, { "key": "rewardId", "value": "weekly_35", "type": "string", "description": "周奖励ID:weekly_35、weekly_70、weekly_105、weekly_140。" }, { "key": "weeklyStars", "value": "35", "type": "string", "description": "测试接口设置的周累计鱼罐头数,范围0~140。" }, { "key": "starsDelta", "value": "15", "type": "string", "description": "测试接口增减鱼罐头,允许负数;最终总数限制在0~140。" }, { "key": "debugKey", "value": "", "type": "string", "description": "当前校验被注释,表单字段默认禁用;目标部署恢复校验时再填写并启用。" }, { "key": "taskJson", "value": "", "type": "string", "description": "成功响应自动保存的完整任务快照;用于批量保存前可手工修改dailyTasks[].value。" }, { "key": "dailyTaskId0", "value": "", "type": "string", "description": "自动保存的slot=0任务ID,可在Body使用{{dailyTaskId0}}。" }, { "key": "dailyTaskId1", "value": "", "type": "string", "description": "自动保存的slot=1任务ID,可在Body使用{{dailyTaskId1}}。" }, { "key": "dailyTaskId2", "value": "", "type": "string", "description": "自动保存的slot=2任务ID,可在Body使用{{dailyTaskId2}}。" }, { "key": "dailyTaskId3", "value": "", "type": "string", "description": "自动保存的slot=3任务ID,可在Body使用{{dailyTaskId3}}。" }, { "key": "dailyTaskId4", "value": "", "type": "string", "description": "自动保存的slot=4任务ID,可在Body使用{{dailyTaskId4}}。" } ], "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "const base = String(pm.variables.get(\"baseUrl\") || \"\").trim();", "if (!/^https?:\\/\\//.test(base) || base.endsWith(\"/\")) throw new Error(\"请填写baseUrl(http(s)地址,不带末尾斜杠)。\");", "if (!String(pm.variables.get(\"uid\") || \"\").trim()) throw new Error(\"请在Collection Variables填写uid。\");" ] } }, { "listen": "test", "script": { "type": "text/javascript", "exec": [ "pm.test(\"HTTP请求成功\", () => pm.expect(pm.response.code).to.be.within(200, 299));", "let result;", "try { result = pm.response.json(); } catch (error) {", " pm.test(\"响应为JSON\", () => { throw error; });", "}", "if (result) {", " pm.test(\"业务操作成功\", () => pm.expect(result.code, result.msg || \"检查响应详情\").to.eql(1));", " const task = result.data && result.data.task;", " if (result.code === 1 && task && Array.isArray(task.dailyTasks)) {", " pm.collectionVariables.set(\"taskJson\", JSON.stringify(task));", " task.dailyTasks.forEach(item => pm.collectionVariables.set(\"dailyTaskId\" + item.slot, item.taskId));", " const selected = String(pm.variables.get(\"taskId\") || \"\");", " if (!task.dailyTasks.some(item => item.taskId === selected)) {", " const slot = Number(pm.variables.get(\"slot\") || 0);", " const item = task.dailyTasks.find(item => item.slot === slot) || task.dailyTasks[0];", " pm.collectionVariables.set(\"taskId\", item ? item.taskId : \"\");", " }", " }", "}" ] } } ], "item": [ { "name": "01 正式接口", "description": "正式接口同时支持users和usersAd。周进度与每日任务由同一个读取接口返回。", "item": [ { "name": "读取每日任务和周任务", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/x-www-form-urlencoded" } ], "body": { "mode": "urlencoded", "urlencoded": [ { "key": "uid", "value": "{{uid}}", "type": "text", "description": "必填,目标账号ID。" }, { "key": "token", "value": "{{token}}", "type": "text", "description": "当前账号登录token,放在表单中;有token的账号会校验。" }, { "key": "isDebug", "value": "{{isDebug}}", "type": "text", "description": "兼容客户端附加字段;这些接口不以此字段决定调试权限。" }, { "key": "gameName", "value": "{{gameName}}", "type": "text", "description": "可选。iaa使用usersAd;留空或其他值使用users。" }, { "key": "action", "value": "read", "type": "text", "description": "固定值read。" } ] }, "url": { "raw": "{{baseUrl}}/dayTaskInfo", "host": [ "{{baseUrl}}" ], "path": [ "dayTaskInfo" ] }, "description": "返回data.task,其中dailyTasks为每日任务列表,weeklyStars为周鱼罐头累计,weeklyRewards为周宝箱列表,dayEndsAt/weekEndsAt为毫秒时间戳。读取可能刷新跨日/跨周任务。状态:0=未完成,1=可领取,2=已领取。所有每日任务直接开放,无需依次解锁。" } }, { "name": "保存指定每日任务进度", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/x-www-form-urlencoded" } ], "body": { "mode": "urlencoded", "urlencoded": [ { "key": "uid", "value": "{{uid}}", "type": "text", "description": "必填,目标账号ID。" }, { "key": "token", "value": "{{token}}", "type": "text", "description": "当前账号登录token,放在表单中;有token的账号会校验。" }, { "key": "isDebug", "value": "{{isDebug}}", "type": "text", "description": "兼容客户端附加字段;这些接口不以此字段决定调试权限。" }, { "key": "gameName", "value": "{{gameName}}", "type": "text", "description": "可选。iaa使用usersAd;留空或其他值使用users。" }, { "key": "action", "value": "save", "type": "text", "description": "固定值save。" }, { "key": "task", "value": "{{taskProgressPayload}}", "type": "text", "description": "Pre-request Script按taskId和progressValue生成JSON字符串,结构为{dailyTasks:[{taskId,value}]}。" } ] }, "url": { "raw": "{{baseUrl}}/dayTaskInfo", "host": [ "{{baseUrl}}" ], "path": [ "dayTaskInfo" ] }, "description": "先读取任务,设置taskId和progressValue后发送。只覆盖指定任务的value,不是增量;服务端限制到0~target,已领取状态保持2。该接口不能修改周罐头或奖励配置。" }, "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "const id = String(pm.variables.get(\"taskId\") || \"\").trim();", "if (!id) throw new Error(\"请先读取任务信息,并填写 taskId 或使用自动保存的任务ID。\");", "const value = Number(pm.variables.get(\"progressValue\"));", "if (String(pm.variables.get(\"progressValue\") || \"\").trim() === \"\" || !Number.isFinite(value)) throw new Error(\"progressValue 必须填写数字。\");", "pm.variables.set(\"taskProgressPayload\", JSON.stringify({dailyTasks: [{taskId: id, value}]}));" ] } } ] }, { "name": "保存每日任务完整快照", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/x-www-form-urlencoded" } ], "body": { "mode": "urlencoded", "urlencoded": [ { "key": "uid", "value": "{{uid}}", "type": "text", "description": "必填,目标账号ID。" }, { "key": "token", "value": "{{token}}", "type": "text", "description": "当前账号登录token,放在表单中;有token的账号会校验。" }, { "key": "isDebug", "value": "{{isDebug}}", "type": "text", "description": "兼容客户端附加字段;这些接口不以此字段决定调试权限。" }, { "key": "gameName", "value": "{{gameName}}", "type": "text", "description": "可选。iaa使用usersAd;留空或其他值使用users。" }, { "key": "action", "value": "save", "type": "text", "description": "固定值save。" }, { "key": "task", "value": "{{taskJson}}", "type": "text", "description": "JSON字符串。先读取生成taskJson,再按需修改其中dailyTasks[].value。" } ] }, "url": { "raw": "{{baseUrl}}/dayTaskInfo", "host": [ "{{baseUrl}}" ], "path": [ "dayTaskInfo" ] }, "description": "可批量更新多个每日任务进度。服务端实际只取dailyTasks[].taskId/value;其余state、stars、rewards、weeklyStars等由服务端维护,不会按提交值发奖。" }, "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "const raw = pm.variables.get(\"taskJson\");", "if (!raw) throw new Error(\"请先读取任务,生成taskJson。\");", "const task = JSON.parse(raw);", "if (!Array.isArray(task.dailyTasks)) throw new Error(\"taskJson必须是含dailyTasks数组的JSON对象。\");" ] } } ] }, { "name": "领取每日任务奖励", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/x-www-form-urlencoded" } ], "body": { "mode": "urlencoded", "urlencoded": [ { "key": "uid", "value": "{{uid}}", "type": "text", "description": "必填,目标账号ID。" }, { "key": "token", "value": "{{token}}", "type": "text", "description": "当前账号登录token,放在表单中;有token的账号会校验。" }, { "key": "isDebug", "value": "{{isDebug}}", "type": "text", "description": "兼容客户端附加字段;这些接口不以此字段决定调试权限。" }, { "key": "gameName", "value": "{{gameName}}", "type": "text", "description": "可选。iaa使用usersAd;留空或其他值使用users。" }, { "key": "scope", "value": "daily", "type": "text", "description": "固定值daily。" }, { "key": "taskId", "value": "{{taskId}}", "type": "text", "description": "必须为当前dailyTasks中的taskId。" } ] }, "url": { "raw": "{{baseUrl}}/getTaskReward", "host": [ "{{baseUrl}}" ], "path": [ "getTaskReward" ] }, "description": "仅state=1时可领取。成功后该任务state=2,周鱼罐头增加task.stars,上限140;data.rewards为该任务实际奖励。不得携带rewardId代替taskId。重复领取返回code=0。" }, "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "const id = String(pm.variables.get(\"taskId\") || \"\").trim();", "if (!id) throw new Error(\"请先读取任务信息,并填写 taskId 或使用自动保存的任务ID。\");" ] } } ] }, { "name": "领取周宝箱奖励", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/x-www-form-urlencoded" } ], "body": { "mode": "urlencoded", "urlencoded": [ { "key": "uid", "value": "{{uid}}", "type": "text", "description": "必填,目标账号ID。" }, { "key": "token", "value": "{{token}}", "type": "text", "description": "当前账号登录token,放在表单中;有token的账号会校验。" }, { "key": "isDebug", "value": "{{isDebug}}", "type": "text", "description": "兼容客户端附加字段;这些接口不以此字段决定调试权限。" }, { "key": "gameName", "value": "{{gameName}}", "type": "text", "description": "可选。iaa使用usersAd;留空或其他值使用users。" }, { "key": "scope", "value": "weekly", "type": "text", "description": "固定值weekly。" }, { "key": "rewardId", "value": "{{rewardId}}", "type": "text", "description": "weekly_35、weekly_70、weekly_105、weekly_140。" } ] }, "url": { "raw": "{{baseUrl}}/getTaskReward", "host": [ "{{baseUrl}}" ], "path": [ "getTaskReward" ] }, "description": "仅达到对应周鱼罐头目标且未领取时成功。Body只发送rewardId,不发送taskId,避免taskId=undefined的历史问题。不存在weekly_15。成功后宝箱state=2,data.rewards为奖励清单。" }, "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "if (![\"weekly_35\", \"weekly_70\", \"weekly_105\", \"weekly_140\"].includes(pm.variables.get(\"rewardId\"))) throw new Error(\"rewardId请选择weekly_35/70/105/140。\");" ] } } ] } ] }, { "name": "02 每日任务测试接口", "description": "均调用dailyTaskDebug,要求users调试账号。当前服务端存在dbname未定义错误,需先修复并发布。taskId非空时优先于slot,故两种定位示例分开提供。", "item": [ { "name": "设置每日任务进度(按taskId)", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/x-www-form-urlencoded" } ], "body": { "mode": "urlencoded", "urlencoded": [ { "key": "uid", "value": "{{uid}}", "type": "text", "description": "必填,目标账号ID。" }, { "key": "token", "value": "{{token}}", "type": "text", "description": "当前账号登录token,放在表单中;有token的账号会校验。" }, { "key": "isDebug", "value": "{{isDebug}}", "type": "text", "description": "兼容客户端附加字段;这些接口不以此字段决定调试权限。" }, { "key": "debugKey", "value": "{{debugKey}}", "type": "text", "description": "当前代码的debugKey校验已注释;仅目标环境恢复该校验时填写并启用。", "disabled": true }, { "key": "action", "value": "set_daily_progress", "type": "text", "description": "设置进度。" }, { "key": "taskId", "value": "{{taskId}}", "type": "text", "description": "任务ID。" }, { "key": "value", "value": "{{progressValue}}", "type": "text", "description": "目标进度值,非增量。" } ] }, "url": { "raw": "{{baseUrl}}/dailyTaskDebug", "host": [ "{{baseUrl}}" ], "path": [ "dailyTaskDebug" ] }, "description": "value会限制在0~target;不会将已领取任务改回未领取。想重复领奖先reset_daily。" }, "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "const id = String(pm.variables.get(\"taskId\") || \"\").trim();", "if (!id) throw new Error(\"请先读取任务信息,并填写 taskId 或使用自动保存的任务ID。\");", "const value = Number(pm.variables.get(\"progressValue\"));", "if (String(pm.variables.get(\"progressValue\") || \"\").trim() === \"\" || !Number.isFinite(value)) throw new Error(\"progressValue 必须填写数字。\");" ] } } ] }, { "name": "设置每日任务进度(按slot)", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/x-www-form-urlencoded" } ], "body": { "mode": "urlencoded", "urlencoded": [ { "key": "uid", "value": "{{uid}}", "type": "text", "description": "必填,目标账号ID。" }, { "key": "token", "value": "{{token}}", "type": "text", "description": "当前账号登录token,放在表单中;有token的账号会校验。" }, { "key": "isDebug", "value": "{{isDebug}}", "type": "text", "description": "兼容客户端附加字段;这些接口不以此字段决定调试权限。" }, { "key": "debugKey", "value": "{{debugKey}}", "type": "text", "description": "当前代码的debugKey校验已注释;仅目标环境恢复该校验时填写并启用。", "disabled": true }, { "key": "action", "value": "set_daily_progress", "type": "text", "description": "设置进度。" }, { "key": "slot", "value": "{{slot}}", "type": "text", "description": "0~4,不同时发送taskId。" }, { "key": "value", "value": "{{progressValue}}", "type": "text", "description": "目标进度值,非增量。" } ] }, "url": { "raw": "{{baseUrl}}/dailyTaskDebug", "host": [ "{{baseUrl}}" ], "path": [ "dailyTaskDebug" ] }, "description": "按当前任务列表的槽位定位;默认slot=0。" }, "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "const slot = Number(pm.variables.get(\"slot\"));", "if (!Number.isInteger(slot) || slot < 0 || slot > 4) throw new Error(\"slot 必须是0到4的整数。\");", "const value = Number(pm.variables.get(\"progressValue\"));", "if (String(pm.variables.get(\"progressValue\") || \"\").trim() === \"\" || !Number.isFinite(value)) throw new Error(\"progressValue 必须填写数字。\");" ] } } ] }, { "name": "完成每日任务(按taskId)", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/x-www-form-urlencoded" } ], "body": { "mode": "urlencoded", "urlencoded": [ { "key": "uid", "value": "{{uid}}", "type": "text", "description": "必填,目标账号ID。" }, { "key": "token", "value": "{{token}}", "type": "text", "description": "当前账号登录token,放在表单中;有token的账号会校验。" }, { "key": "isDebug", "value": "{{isDebug}}", "type": "text", "description": "兼容客户端附加字段;这些接口不以此字段决定调试权限。" }, { "key": "debugKey", "value": "{{debugKey}}", "type": "text", "description": "当前代码的debugKey校验已注释;仅目标环境恢复该校验时填写并启用。", "disabled": true }, { "key": "action", "value": "complete_daily", "type": "text", "description": "把任务进度设为target。" }, { "key": "taskId", "value": "{{taskId}}", "type": "text", "description": "任务ID。" } ] }, "url": { "raw": "{{baseUrl}}/dailyTaskDebug", "host": [ "{{baseUrl}}" ], "path": [ "dailyTaskDebug" ] }, "description": "仅将未领取任务设为可领取,不增加周鱼罐头,不直接发奖。随后调用正式每日领奖。" }, "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "const id = String(pm.variables.get(\"taskId\") || \"\").trim();", "if (!id) throw new Error(\"请先读取任务信息,并填写 taskId 或使用自动保存的任务ID。\");" ] } } ] }, { "name": "完成每日任务(按slot)", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/x-www-form-urlencoded" } ], "body": { "mode": "urlencoded", "urlencoded": [ { "key": "uid", "value": "{{uid}}", "type": "text", "description": "必填,目标账号ID。" }, { "key": "token", "value": "{{token}}", "type": "text", "description": "当前账号登录token,放在表单中;有token的账号会校验。" }, { "key": "isDebug", "value": "{{isDebug}}", "type": "text", "description": "兼容客户端附加字段;这些接口不以此字段决定调试权限。" }, { "key": "debugKey", "value": "{{debugKey}}", "type": "text", "description": "当前代码的debugKey校验已注释;仅目标环境恢复该校验时填写并启用。", "disabled": true }, { "key": "action", "value": "complete_daily", "type": "text", "description": "把任务进度设为target。" }, { "key": "slot", "value": "{{slot}}", "type": "text", "description": "0~4,不同时发送taskId。" } ] }, "url": { "raw": "{{baseUrl}}/dailyTaskDebug", "host": [ "{{baseUrl}}" ], "path": [ "dailyTaskDebug" ] }, "description": "适合每日任务ID变化后的快速测试。先记下响应中对应槽位taskId,再使用正式每日领奖请求。" }, "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "const slot = Number(pm.variables.get(\"slot\"));", "if (!Number.isInteger(slot) || slot < 0 || slot > 4) throw new Error(\"slot 必须是0到4的整数。\");" ] } } ] }, { "name": "完成全部每日任务", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/x-www-form-urlencoded" } ], "body": { "mode": "urlencoded", "urlencoded": [ { "key": "uid", "value": "{{uid}}", "type": "text", "description": "必填,目标账号ID。" }, { "key": "token", "value": "{{token}}", "type": "text", "description": "当前账号登录token,放在表单中;有token的账号会校验。" }, { "key": "isDebug", "value": "{{isDebug}}", "type": "text", "description": "兼容客户端附加字段;这些接口不以此字段决定调试权限。" }, { "key": "debugKey", "value": "{{debugKey}}", "type": "text", "description": "当前代码的debugKey校验已注释;仅目标环境恢复该校验时填写并启用。", "disabled": true }, { "key": "action", "value": "complete_all_daily", "type": "text", "description": "所有未领取任务进度设为target。" } ] }, "url": { "raw": "{{baseUrl}}/dailyTaskDebug", "host": [ "{{baseUrl}}" ], "path": [ "dailyTaskDebug" ] }, "description": "所有任务均已开放,完成后可任选任务领取,不需要依次解锁;已领取任务不受影响。" } }, { "name": "重置每日任务", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/x-www-form-urlencoded" } ], "body": { "mode": "urlencoded", "urlencoded": [ { "key": "uid", "value": "{{uid}}", "type": "text", "description": "必填,目标账号ID。" }, { "key": "token", "value": "{{token}}", "type": "text", "description": "当前账号登录token,放在表单中;有token的账号会校验。" }, { "key": "isDebug", "value": "{{isDebug}}", "type": "text", "description": "兼容客户端附加字段;这些接口不以此字段决定调试权限。" }, { "key": "debugKey", "value": "{{debugKey}}", "type": "text", "description": "当前代码的debugKey校验已注释;仅目标环境恢复该校验时填写并启用。", "disabled": true }, { "key": "action", "value": "reset_daily", "type": "text", "description": "重新生成当天每日任务。" } ] }, "url": { "raw": "{{baseUrl}}/dailyTaskDebug", "host": [ "{{baseUrl}}" ], "path": [ "dailyTaskDebug" ] }, "description": "清除当前每日进度及领取状态,重新抽取任务。正常同周内保留周鱼罐头和周奖励状态;跨周时常规刷新规则仍生效。响应会更新taskJson及任务ID变量。" } } ] }, { "name": "03 周任务测试接口", "description": "使用数据库isDebug已开启的users账号。接口只修改任务状态,实际奖励需要正式领奖;当前源码的dbname错误需先修复。", "item": [ { "name": "设置周鱼罐头总数", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/x-www-form-urlencoded" } ], "body": { "mode": "urlencoded", "urlencoded": [ { "key": "uid", "value": "{{uid}}", "type": "text", "description": "必填,目标账号ID。" }, { "key": "token", "value": "{{token}}", "type": "text", "description": "当前账号登录token,放在表单中;有token的账号会校验。" }, { "key": "isDebug", "value": "{{isDebug}}", "type": "text", "description": "兼容客户端附加字段;这些接口不以此字段决定调试权限。" }, { "key": "debugKey", "value": "{{debugKey}}", "type": "text", "description": "当前代码的debugKey校验已注释;仅目标环境恢复该校验时填写并启用。", "disabled": true }, { "key": "action", "value": "set_weekly_stars", "type": "text", "description": "设置总数,非增量。" }, { "key": "value", "value": "{{weeklyStars}}", "type": "text", "description": "会限制在0~140。" } ] }, "url": { "raw": "{{baseUrl}}/dailyTaskDebug", "host": [ "{{baseUrl}}" ], "path": [ "dailyTaskDebug" ] }, "description": "把weeklyStars设为35/70/105/140可测试对应档位。未领取宝箱会重新计算是否可领;已领取状态不撤销。" }, "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "const value = Number(pm.variables.get(\"weeklyStars\"));", "if (String(pm.variables.get(\"weeklyStars\") || \"\").trim() === \"\" || !Number.isFinite(value)) throw new Error(\"weeklyStars 必须填写数字。\");" ] } } ] }, { "name": "增加或减少周鱼罐头", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/x-www-form-urlencoded" } ], "body": { "mode": "urlencoded", "urlencoded": [ { "key": "uid", "value": "{{uid}}", "type": "text", "description": "必填,目标账号ID。" }, { "key": "token", "value": "{{token}}", "type": "text", "description": "当前账号登录token,放在表单中;有token的账号会校验。" }, { "key": "isDebug", "value": "{{isDebug}}", "type": "text", "description": "兼容客户端附加字段;这些接口不以此字段决定调试权限。" }, { "key": "debugKey", "value": "{{debugKey}}", "type": "text", "description": "当前代码的debugKey校验已注释;仅目标环境恢复该校验时填写并启用。", "disabled": true }, { "key": "action", "value": "add_weekly_stars", "type": "text", "description": "按增量调整总数。" }, { "key": "value", "value": "{{starsDelta}}", "type": "text", "description": "允许正数或负数;最终总数限制在0~140。" } ] }, "url": { "raw": "{{baseUrl}}/dailyTaskDebug", "host": [ "{{baseUrl}}" ], "path": [ "dailyTaskDebug" ] }, "description": "例如starsDelta=15增加15;-15减少15。不会将已领取宝箱重置为未领取。" }, "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "const value = Number(pm.variables.get(\"starsDelta\"));", "if (String(pm.variables.get(\"starsDelta\") || \"\").trim() === \"\" || !Number.isFinite(value)) throw new Error(\"starsDelta 必须填写数字。\");" ] } } ] }, { "name": "重置周进度和周宝箱", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/x-www-form-urlencoded" } ], "body": { "mode": "urlencoded", "urlencoded": [ { "key": "uid", "value": "{{uid}}", "type": "text", "description": "必填,目标账号ID。" }, { "key": "token", "value": "{{token}}", "type": "text", "description": "当前账号登录token,放在表单中;有token的账号会校验。" }, { "key": "isDebug", "value": "{{isDebug}}", "type": "text", "description": "兼容客户端附加字段;这些接口不以此字段决定调试权限。" }, { "key": "debugKey", "value": "{{debugKey}}", "type": "text", "description": "当前代码的debugKey校验已注释;仅目标环境恢复该校验时填写并启用。", "disabled": true }, { "key": "action", "value": "reset_weekly", "type": "text", "description": "周鱼罐头清零,重置所有周宝箱状态。" } ] }, "url": { "raw": "{{baseUrl}}/dailyTaskDebug", "host": [ "{{baseUrl}}" ], "path": [ "dailyTaskDebug" ] }, "description": "保留当天每日任务进度及领取状态。可与设置周罐头请求配合重复测试周领奖。" } } ] }, { "name": "04 重置全部任务", "description": "独立重置工具,按需发送。", "item": [ { "name": "重置每日和周任务", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/x-www-form-urlencoded" } ], "body": { "mode": "urlencoded", "urlencoded": [ { "key": "uid", "value": "{{uid}}", "type": "text", "description": "必填,目标账号ID。" }, { "key": "token", "value": "{{token}}", "type": "text", "description": "当前账号登录token,放在表单中;有token的账号会校验。" }, { "key": "isDebug", "value": "{{isDebug}}", "type": "text", "description": "兼容客户端附加字段;这些接口不以此字段决定调试权限。" }, { "key": "debugKey", "value": "{{debugKey}}", "type": "text", "description": "当前代码的debugKey校验已注释;仅目标环境恢复该校验时填写并启用。", "disabled": true }, { "key": "action", "value": "reset_all", "type": "text", "description": "重新生成每日任务并清零周进度、周领奖状态。" } ] }, "url": { "raw": "{{baseUrl}}/dailyTaskDebug", "host": [ "{{baseUrl}}" ], "path": [ "dailyTaskDebug" ] }, "description": "会覆盖所选账号当前每日和周任务状态;不会撤销客户端已经发放的金币、道具。响应会更新快照及任务ID变量。" } } ] } ] }