'task3phase1单次拉取过期单并推送企微完成'

This commit is contained in:
zelong 2026-03-12 14:13:50 +08:00
parent c5f2c64e82
commit 0224c87f45
12 changed files with 633 additions and 1 deletions

View File

@ -564,6 +564,98 @@ curl -u 'api_user:api_password' -d 'name=story_created_by_api&workspace_id=10158
}
```
## 获取需求
### url
```
https://api.tapd.cn/stories
```
### [#](https://open.tapd.cn/document/api-doc/API文档/api_reference/story/get_stories.html#支持格式)支持格式
JSON/XML默认JSON格式
### [#](https://open.tapd.cn/document/api-doc/API文档/api_reference/story/get_stories.html#http请求方式)HTTP请求方式
GET
### [#](https://open.tapd.cn/document/api-doc/API文档/api_reference/story/get_stories.html#请求数限制)请求数限制
默认返回 30 条。可通过传 limit 参数设置,最大取 200。也可以传 page 参数翻页
### [#](https://open.tapd.cn/document/api-doc/API文档/api_reference/story/get_stories.html#请求参数)请求参数
| 字段名 | 必选 | 类型及范围 | 说明 | 特殊规则 |
| :-------------------: | :--: | :---------------: | :----------------------------------------------------------: | :------------------------------------: |
| id | 否 | integer | ID | 支持多ID查询 |
| name | 否 | string | 标题 | 支持模糊匹配 |
| priority | 否 | string | 优先级。为了兼容自定义优先级,`请使用 priority_label 字段`,详情参考:[如何兼容自定义优先级](https://open.tapd.cn/document/api-doc/API文档/subject/custom_priority/) | |
| priority_label | 否 | string | 优先级。推荐使用这个字段 | |
| business_value | 否 | integer | 业务价值 | |
| status | 否 | string | 状态 | 支持枚举查询 |
| v_status | 否 | string | 状态(支持传入中文状态名称) | |
| with_v_status | 否 | string | 值=1可以返回中文状态 | |
| label | 否 | string | 标签查询 | 支持枚举查询 |
| workitem_type_id | 否 | string | 需求类别ID | 支持枚举查询 |
| version | 否 | string | 版本 | |
| module | 否 | string | 模块 | |
| feature | 否 | string | 特性 | |
| test_focus | 否 | string | 测试重点 | |
| size | 否 | integer | 规模 | |
| tech_risk | 否 | string | 技术风险 | |
| business_value | 否 | string | 业务价值 | |
| owner | 否 | string | 处理人 | 支持模糊匹配 |
| cc | 否 | string | 抄送人 | 支持模糊匹配 |
| creator | 否 | string | 创建人 | 支持多人员查询 |
| developer | 否 | string | 开发人员 | |
| begin | 否 | date | 预计开始 | 支持时间查询 |
| due | 否 | date | 预计结束 | 支持时间查询 |
| created | 否 | datetime | 创建时间 | 支持时间查询 |
| modified | 否 | datetime | 最后修改时间 | 支持时间查询 |
| completed | 否 | datetime | 完成时间 | 支持时间查询 |
| iteration_id | 否 | string | 迭代ID | 支持不等于查询或枚举查询 |
| include_sub_iteration | 否 | string | 是否包含子迭代 | 取值 0或者1默认取 0 |
| effort | 否 | string | 预估工时 | |
| effort_completed | 否 | string | 完成工时 | |
| remain | 否 | float | 剩余工时 | |
| exceed | 否 | float | 超出工时 | |
| category_id | 否 | integer | 需求分类 | 支持枚举查询 |
| include_sub_category | 否 | string | 是否包含子分类 | 取值 0或者1默认取 0 |
| release_id | 否 | integer | 发布计划 | |
| source | 否 | string | 需求来源 | |
| type | 否 | string | 需求类型 | |
| ancestor_id | 否 | integer | 祖先需求,查询指定需求下所有子需求 | |
| parent_id | 否 | integer | 父需求 | |
| children_id | 否 | string | 子需求 | 为空查询传:丨 |
| include_leaf_stories | 否 | string | 是否包含子需求 | 取值 0或者1默认取 0 |
| description | 否 | string | 详细描述 | 支持模糊匹配 |
| workspace_id | `是` | integer | 项目ID | |
| custom_field_* | 否 | string或者integer | 自定义字段参数,具体字段名通过接口 [获取需求自定义字段配置](https://open.tapd.cn/document/api-doc/API文档/api_reference/story/get_story_custom_fields_settings.html) 获取 | 支持枚举查询 |
| custom_plan_field_* | 否 | string或者integer | 自定义计划应用参数,具体字段名通过接口 [获取自定义计划应用](https://open.tapd.cn/document/api-doc/API文档/api_reference/iteration/get_plan_apps.html) 获取 | |
| limit | 否 | integer | 设置返回数量限制默认为30 | |
| page | 否 | integer | 返回当前数量限制下第N页的数据默认为1第一页 | |
| order | 否 | string | 排序规则,规则:字段名 ASC或者DESC然后 urlencode | 如按创建时间逆序order=created%20desc |
| fields | 否 | string | 设置获取的字段,多个字段间以','逗号隔开 | |
### [#](https://open.tapd.cn/document/api-doc/API文档/api_reference/story/get_stories.html#调用示例及返回结果)调用示例及返回结果
#### [#](https://open.tapd.cn/document/api-doc/API文档/api_reference/story/get_stories.html#获取项目下需求)获取项目下需求
#### [#](https://open.tapd.cn/document/api-doc/API文档/api_reference/story/get_stories.html#curl-使用-basic-auth-鉴权调用示例)curl 使用 Basic Auth 鉴权调用示例
```
curl -u 'api_user:api_password' 'https://api.tapd.cn/stories?workspace_id=10158231'
```
# 缺陷
## 获取缺陷所有字段及候选值
@ -599,7 +691,7 @@ GET
### [#](https://open.tapd.cn/document/api-doc/API文档/api_reference/bug/get_bug_fields_info.html#调用示例及返回结果)调用示例及返回结果
## [#](https://open.tapd.cn/document/api-doc/API文档/api_reference/bug/get_bug_fields_info.html#获取项目下的缺陷字段)获取项目下的缺陷字段
### [#](https://open.tapd.cn/document/api-doc/API文档/api_reference/bug/get_bug_fields_info.html#获取项目下的缺陷字段)获取项目下的缺陷字段
### [#](https://open.tapd.cn/document/api-doc/API文档/api_reference/bug/get_bug_fields_info.html#curl-使用-basic-auth-鉴权调用示例)curl 使用 Basic Auth 鉴权调用示例

13
config3/config.ini Normal file
View File

@ -0,0 +1,13 @@
[TAPD]
workspace_id = 58335167
[Schedule]
push_time = 09:30
skip_weekend = true
[WeWork]
webhook_url = https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=026670e0-9e8d-4f61-9b3f-1f81365954ff
[TechTeam]
# TAPD用户名到企微UserID的映射逗号分隔格式TAPD用户名:企微UserID
members =BardLin:BardLin,星渊:xingyuan,mithril:mi

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,70 @@
{"event_type": "start_sync", "timestamp": "2026-03-12 11:45:30", "task": "task3", "sync_id": "task3_20260312_114530_bed15d44", "trigger": "manual", "metadata": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:45:31", "task": "task3", "sync_id": "task3_20260312_114530_bed15d44", "module": "tapd", "operation": "stories", "success": true, "request": {"workspace_id": "58335167", "owner": "BardLin", "fields": "id,name,due,status"}, "response": {"status": 1, "data": [{"Story": {"id": "1158335167004866823", "name": "3C-基础移动-Bug-Dodge卡帧", "due": "2026-03-10", "status": "status_9"}}, {"Story": {"id": "1158335167004834011", "name": "【动画】2026年1月 - 凡人各组月度产出梳理", "due": "2026-01-28", "status": "status_8"}}, {"Story": {"id": "1158335167004828079", "name": "飞遁动画", "due": "2026-01-30", "status": "status_9"}}, {"Story": {"id": "1158335167004828030", "name": "大啼魂-初绑", "due": "2026-03-02", "status": "status_8"}}, {"Story": {"id": "1158335167004827998", "name": "血色披风预研", "due": "2026-02-14", "status": "status_8"}}, {"Story": {"id": "1158335167004827996", "name": "青凝镜-回收Layout", "due": "2026-02-27", "status": "status_9"}}, {"Story": {"id": "1158335167004827994", "name": "青凝镜-待机", "due": "2026-03-20", "status": "status_9"}}, {"Story": {"id": "1158335167004827991", "name": "青凝镜-检视表演Layout", "due": "2026-02-28", "status": "status_9"}}, {"Story": {"id": "1158335167004827989", "name": "青凝镜-召唤Layout", "due": "2026-02-28", "status": "status_9"}}, {"Story": {"id": "1158335167004827987", "name": "青凝镜-初绑", "due": "2026-01-30", "status": "status_8"}}, {"Story": {"id": "1158335167004827946", "name": "玄铁飞天盾-初绑", "due": "2026-01-23", "status": "status_8"}}, {"Story": {"id": "1158335167004827929", "name": "噬金虫召唤动画Layout", "due": "2026-03-09", "status": "status_9"}}, {"Story": {"id": "1158335167004827926", "name": "噬金虫召-初绑", "due": "2026-01-26", "status": "status_8"}}, {"Story": {"id": "1158335167004827921", "name": "飞剑-解控", "due": "2026-03-27", "status": "status_9"}}, {"Story": {"id": "1158335167004827920", "name": "飞剑-检视表演", "due": "2026-03-27", "status": "status_7"}}, {"Story": {"id": "1158335167004827919", "name": "飞剑-检视表演Layout", "due": "2026-03-13", "status": "status_7"}}, {"Story": {"id": "1158335167004827914", "name": "剑影分光·闪回", "due": "2026-03-27", "status": "status_9"}}, {"Story": {"id": "1158335167004827912", "name": "剑影分光·上挑", "due": "2026-03-27", "status": "status_9"}}, {"Story": {"id": "1158335167004827910", "name": "空中右键下劈", "due": "2026-02-28", "status": "status_5"}}, {"Story": {"id": "1158335167004827909", "name": "右键垫步突进", "due": "2026-02-06", "status": "status_5"}}, {"Story": {"id": "1158335167004827852", "name": "动画制作 - 【法宝】青竹蜂云剑", "due": "2026-03-28", "status": "status_7"}}, {"Story": {"id": "1158335167004816915", "name": "3C-飞遁 - 状态机重构", "due": "2026-01-09", "status": "status_8"}}, {"Story": {"id": "1158335167004815661", "name": "3C-飞遁 - W输入HighSpeed状态", "due": "2026-01-09", "status": "status_8"}}, {"Story": {"id": "1158335167004787978", "name": "通用受击 - 动作资源", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004787977", "name": "海王兽 - 动作资源", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004787973", "name": "主角战斗 - 动作资源", "due": "2025-12-30", "status": "status_7"}}, {"Story": {"id": "1158335167004774665", "name": "地面待机", "due": "2025-12-30", "status": "status_8"}}, {"Story": {"id": "1158335167004774664", "name": "空中待机", "due": "2025-12-30", "status": "status_7"}}, {"Story": {"id": "1158335167004774629", "name": "雷属性受击 - 起始", "due": "2025-12-30", "status": "status_7"}}, {"Story": {"id": "1158335167004774628", "name": "雷属性受击 - 循环", "due": "2025-12-30", "status": "status_7"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:45:31", "task": "task3", "sync_id": "task3_20260312_114530_bed15d44", "module": "tapd", "operation": "stories", "success": true, "request": {"workspace_id": "58335167", "owner": "星渊", "fields": "id,name,due,status"}, "response": {"status": 1, "data": [{"Story": {"id": "1158335167004866823", "name": "3C-基础移动-Bug-Dodge卡帧", "due": "2026-03-10", "status": "status_9"}}, {"Story": {"id": "1158335167004839323", "name": "材质Mask模式不受motion blur影响", "due": "2026-02-05", "status": "status_9"}}, {"Story": {"id": "1158335167004839302", "name": "AS脚本Bind扩展", "due": "2026-02-03", "status": "status_10"}}, {"Story": {"id": "1158335167004839301", "name": "尝试AS写Validator", "due": "2026-02-03", "status": "status_10"}}, {"Story": {"id": "1158335167004839299", "name": "简单Sample跑下流程", "due": "2026-02-03", "status": "status_8"}}, {"Story": {"id": "1158335167004839298", "name": "文档阅读", "due": "2026-02-03", "status": "status_8"}}, {"Story": {"id": "1158335167004839272", "name": "KawaiiMagicAnimVelet调研", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839270", "name": "Chaos布料算法调研", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839267", "name": "编译Android版", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839266", "name": "对GPU解算进行改近", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839263", "name": "育碧GPU布料结算的GDC Paper", "due": "2026-02-13", "status": "status_8"}}, {"Story": {"id": "1158335167004839259", "name": "理解GPU算法", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839251", "name": "增加Profiler", "due": "2026-02-13", "status": "status_8"}}, {"Story": {"id": "1158335167004839246", "name": "调试和理解NvCloth算法", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839242", "name": "编译NvCloth", "due": "2026-02-13", "status": "status_8"}}, {"Story": {"id": "1158335167004839241", "name": "NvCloth调研", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839239", "name": "布料解算基建", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839234", "name": "Data Validator框架", "due": "2026-02-03", "status": "status_5"}}, {"Story": {"id": "1158335167004834466", "name": "Horde相关-持续开发项", "due": "2026-05-30", "status": "status_5"}}, {"Story": {"id": "1158335167004834018", "name": "【引擎/TA】2026年1月 - 凡人各组月度产出梳理", "due": "2026-01-28", "status": "status_8"}}, {"Story": {"id": "1158335167004828309", "name": "技术基建-基础可过滤编辑器控件开发", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004802628", "name": "技术基建-XianDebugger-法术场Debugger", "due": null, "status": "status_9"}}, {"Story": {"id": "1158335167004802626", "name": "技术基建-XianDebugger", "due": null, "status": "status_5"}}, {"Story": {"id": "1158335167004800837", "name": "VAT贴图Foramt以及各种选项的意义", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004800834", "name": "VAT贴图尺寸和种类优化", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800832", "name": "VAT内存优化", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004800829", "name": "内存Profiling", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800828", "name": "内存优化", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800819", "name": "Async优化Lumen反射", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800816", "name": "优化Lumen反射包括水的反射性能", "due": null, "status": "status_8"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:45:31", "task": "task3", "sync_id": "task3_20260312_114530_bed15d44", "module": "tapd", "operation": "bugs", "success": true, "request": {"workspace_id": "58335167", "current_owner": "BardLin", "fields": "id,title,deadline,status"}, "response": {"status": 1, "data": [{"Bug": {"id": "1158335167002283694", "title": "受击动画中root质心需要跟随人物模型运动如击飞、击浮空时root需要向上跟随否则浮空连击时敌人位置会频繁上下跳动。", "deadline": "2025-12-05", "status": "closed"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:45:31", "task": "task3", "sync_id": "task3_20260312_114530_bed15d44", "module": "tapd", "operation": "bugs", "success": true, "request": {"workspace_id": "58335167", "current_owner": "星渊", "fields": "id,title,deadline,status"}, "response": {"status": 1, "data": [{"Bug": {"id": "1158335167002296797", "title": "优化性能分辨率提升为1080P静态帧率基本稳定60fps", "deadline": "2025-12-22", "status": "closed"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:45:32", "task": "task3", "sync_id": "task3_20260312_114530_bed15d44", "module": "wework", "operation": "webhook/send", "success": true, "request": {"msgtype": "markdown", "markdown": {"content": "⏰ TAPD 过期单提醒2026-03-12\n\n@BardLin12 条过期)\n1.【需求】主角战斗 - 动作资源 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004787973)\n2.【需求】空中待机 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004774664)\n3.【需求】雷属性受击 - 起始 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004774629)\n4.【需求】雷属性受击 - 循环 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004774628)\n5.【需求】飞遁动画 | 过期 41 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004828079)\n6.【需求】右键垫步突进 | 过期 34 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827909)\n7.【需求】青凝镜-回收Layout | 过期 13 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827996)\n8.【需求】青凝镜-检视表演Layout | 过期 12 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827991)\n9.【需求】青凝镜-召唤Layout | 过期 12 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827989)\n10.【需求】空中右键下劈 | 过期 12 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827910)\n11.【需求】噬金虫召唤动画Layout | 过期 3 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827929)\n12.【需求】3C-基础移动-Bug-Dodge卡帧 | 过期 2 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004866823)\n\n@星渊13 条过期)\n13.【需求】AS脚本Bind扩展 | 过期 37 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839302)\n14.【需求】尝试AS写Validator | 过期 37 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839301)\n15.【需求】Data Validator框架 | 过期 37 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839234)\n16.【需求】材质Mask模式不受motion blur影响 | 过期 35 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839323)\n17.【需求】KawaiiMagicAnimVelet调研 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839272)\n18.【需求】Chaos布料算法调研 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839270)\n19.【需求】编译Android版 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839267)\n20.【需求】对GPU解算进行改近 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839266)\n21.【需求】理解GPU算法 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839259)\n22.【需求】调试和理解NvCloth算法 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839246)\n23.【需求】NvCloth调研 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839241)\n24.【需求】布料解算基建 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839239)\n25.【需求】3C-基础移动-Bug-Dodge卡帧 | 过期 2 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004866823)\n\n共 25 条过期单,请今日内更新状态 🙏"}, "mentioned_list": ["BardLin", "xingyuan"]}, "response": {"errcode": 0, "errmsg": "ok"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "end_sync", "timestamp": "2026-03-12 11:45:32", "task": "task3", "sync_id": "task3_20260312_114530_bed15d44", "success": true, "stats": {"overdue_count": 25}, "error_message": null, "extra": {}}
{"event_type": "start_sync", "timestamp": "2026-03-12 11:48:56", "task": "task3", "sync_id": "task3_20260312_114856_2aa09865", "trigger": "manual", "metadata": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:48:56", "task": "task3", "sync_id": "task3_20260312_114856_2aa09865", "module": "tapd", "operation": "stories", "success": true, "request": {"workspace_id": "58335167", "owner": "BardLin", "fields": "id,name,due,status"}, "response": {"status": 1, "data": [{"Story": {"id": "1158335167004866823", "name": "3C-基础移动-Bug-Dodge卡帧", "due": "2026-03-10", "status": "status_9"}}, {"Story": {"id": "1158335167004834011", "name": "【动画】2026年1月 - 凡人各组月度产出梳理", "due": "2026-01-28", "status": "status_8"}}, {"Story": {"id": "1158335167004828079", "name": "飞遁动画", "due": "2026-01-30", "status": "status_9"}}, {"Story": {"id": "1158335167004828030", "name": "大啼魂-初绑", "due": "2026-03-02", "status": "status_8"}}, {"Story": {"id": "1158335167004827998", "name": "血色披风预研", "due": "2026-02-14", "status": "status_8"}}, {"Story": {"id": "1158335167004827996", "name": "青凝镜-回收Layout", "due": "2026-02-27", "status": "status_9"}}, {"Story": {"id": "1158335167004827994", "name": "青凝镜-待机", "due": "2026-03-20", "status": "status_9"}}, {"Story": {"id": "1158335167004827991", "name": "青凝镜-检视表演Layout", "due": "2026-02-28", "status": "status_9"}}, {"Story": {"id": "1158335167004827989", "name": "青凝镜-召唤Layout", "due": "2026-02-28", "status": "status_9"}}, {"Story": {"id": "1158335167004827987", "name": "青凝镜-初绑", "due": "2026-01-30", "status": "status_8"}}, {"Story": {"id": "1158335167004827946", "name": "玄铁飞天盾-初绑", "due": "2026-01-23", "status": "status_8"}}, {"Story": {"id": "1158335167004827929", "name": "噬金虫召唤动画Layout", "due": "2026-03-09", "status": "status_9"}}, {"Story": {"id": "1158335167004827926", "name": "噬金虫召-初绑", "due": "2026-01-26", "status": "status_8"}}, {"Story": {"id": "1158335167004827921", "name": "飞剑-解控", "due": "2026-03-27", "status": "status_9"}}, {"Story": {"id": "1158335167004827920", "name": "飞剑-检视表演", "due": "2026-03-27", "status": "status_7"}}, {"Story": {"id": "1158335167004827919", "name": "飞剑-检视表演Layout", "due": "2026-03-13", "status": "status_7"}}, {"Story": {"id": "1158335167004827914", "name": "剑影分光·闪回", "due": "2026-03-27", "status": "status_9"}}, {"Story": {"id": "1158335167004827912", "name": "剑影分光·上挑", "due": "2026-03-27", "status": "status_9"}}, {"Story": {"id": "1158335167004827910", "name": "空中右键下劈", "due": "2026-02-28", "status": "status_5"}}, {"Story": {"id": "1158335167004827909", "name": "右键垫步突进", "due": "2026-02-06", "status": "status_5"}}, {"Story": {"id": "1158335167004827852", "name": "动画制作 - 【法宝】青竹蜂云剑", "due": "2026-03-28", "status": "status_7"}}, {"Story": {"id": "1158335167004816915", "name": "3C-飞遁 - 状态机重构", "due": "2026-01-09", "status": "status_8"}}, {"Story": {"id": "1158335167004815661", "name": "3C-飞遁 - W输入HighSpeed状态", "due": "2026-01-09", "status": "status_8"}}, {"Story": {"id": "1158335167004787978", "name": "通用受击 - 动作资源", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004787977", "name": "海王兽 - 动作资源", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004787973", "name": "主角战斗 - 动作资源", "due": "2025-12-30", "status": "status_7"}}, {"Story": {"id": "1158335167004774665", "name": "地面待机", "due": "2025-12-30", "status": "status_8"}}, {"Story": {"id": "1158335167004774664", "name": "空中待机", "due": "2025-12-30", "status": "status_7"}}, {"Story": {"id": "1158335167004774629", "name": "雷属性受击 - 起始", "due": "2025-12-30", "status": "status_7"}}, {"Story": {"id": "1158335167004774628", "name": "雷属性受击 - 循环", "due": "2025-12-30", "status": "status_7"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:48:56", "task": "task3", "sync_id": "task3_20260312_114856_2aa09865", "module": "tapd", "operation": "stories", "success": true, "request": {"workspace_id": "58335167", "owner": "星渊", "fields": "id,name,due,status"}, "response": {"status": 1, "data": [{"Story": {"id": "1158335167004866823", "name": "3C-基础移动-Bug-Dodge卡帧", "due": "2026-03-10", "status": "status_9"}}, {"Story": {"id": "1158335167004839323", "name": "材质Mask模式不受motion blur影响", "due": "2026-02-05", "status": "status_9"}}, {"Story": {"id": "1158335167004839302", "name": "AS脚本Bind扩展", "due": "2026-02-03", "status": "status_10"}}, {"Story": {"id": "1158335167004839301", "name": "尝试AS写Validator", "due": "2026-02-03", "status": "status_10"}}, {"Story": {"id": "1158335167004839299", "name": "简单Sample跑下流程", "due": "2026-02-03", "status": "status_8"}}, {"Story": {"id": "1158335167004839298", "name": "文档阅读", "due": "2026-02-03", "status": "status_8"}}, {"Story": {"id": "1158335167004839272", "name": "KawaiiMagicAnimVelet调研", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839270", "name": "Chaos布料算法调研", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839267", "name": "编译Android版", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839266", "name": "对GPU解算进行改近", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839263", "name": "育碧GPU布料结算的GDC Paper", "due": "2026-02-13", "status": "status_8"}}, {"Story": {"id": "1158335167004839259", "name": "理解GPU算法", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839251", "name": "增加Profiler", "due": "2026-02-13", "status": "status_8"}}, {"Story": {"id": "1158335167004839246", "name": "调试和理解NvCloth算法", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839242", "name": "编译NvCloth", "due": "2026-02-13", "status": "status_8"}}, {"Story": {"id": "1158335167004839241", "name": "NvCloth调研", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839239", "name": "布料解算基建", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839234", "name": "Data Validator框架", "due": "2026-02-03", "status": "status_5"}}, {"Story": {"id": "1158335167004834466", "name": "Horde相关-持续开发项", "due": "2026-05-30", "status": "status_5"}}, {"Story": {"id": "1158335167004834018", "name": "【引擎/TA】2026年1月 - 凡人各组月度产出梳理", "due": "2026-01-28", "status": "status_8"}}, {"Story": {"id": "1158335167004828309", "name": "技术基建-基础可过滤编辑器控件开发", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004802628", "name": "技术基建-XianDebugger-法术场Debugger", "due": null, "status": "status_9"}}, {"Story": {"id": "1158335167004802626", "name": "技术基建-XianDebugger", "due": null, "status": "status_5"}}, {"Story": {"id": "1158335167004800837", "name": "VAT贴图Foramt以及各种选项的意义", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004800834", "name": "VAT贴图尺寸和种类优化", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800832", "name": "VAT内存优化", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004800829", "name": "内存Profiling", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800828", "name": "内存优化", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800819", "name": "Async优化Lumen反射", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800816", "name": "优化Lumen反射包括水的反射性能", "due": null, "status": "status_8"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:48:57", "task": "task3", "sync_id": "task3_20260312_114856_2aa09865", "module": "tapd", "operation": "stories", "success": true, "request": {"workspace_id": "58335167", "owner": "mithril", "fields": "id,name,due,status"}, "response": {"status": 1, "data": [{"Story": {"id": "1158335167004865833", "name": "客户端审核 - 噬金虫相关功能", "due": "2026-03-13", "status": "status_7"}}, {"Story": {"id": "1158335167004840448", "name": "技能触发条件接入及联调。", "due": "2026-01-31", "status": "status_8"}}, {"Story": {"id": "1158335167004838325", "name": "AI Codereview", "due": "2026-05-30", "status": "status_5"}}, {"Story": {"id": "1158335167004838322", "name": "界面调整迭代", "due": "2026-02-28", "status": "status_8"}}, {"Story": {"id": "1158335167004838321", "name": "重构MainMenu", "due": "2026-02-28", "status": "status_8"}}, {"Story": {"id": "1158335167004838320", "name": "common ui调研手机端测试", "due": "2026-03-20", "status": "status_7"}}, {"Story": {"id": "1158335167004836875", "name": "- 技能槽位系统重构-迭代", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004834469", "name": "Horde编译失败群通知", "due": "2026-05-30", "status": "status_9"}}, {"Story": {"id": "1158335167004834468", "name": "Horde 自动触发逻辑", "due": "2026-05-30", "status": "status_9"}}, {"Story": {"id": "1158335167004829003", "name": "补全运行时日志", "due": "2026-04-03", "status": "status_7"}}, {"Story": {"id": "1158335167004828993", "name": "接入xiandebug可预览运行时子弹及相关数据", "due": "2026-04-03", "status": "status_7"}}, {"Story": {"id": "1158335167004828719", "name": "客户端审核 - 武器装备-UI逻辑", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004828716", "name": "客户端审核 - 法宝装备-UI逻辑", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004828709", "name": "客户端审核 - 武器装备界面逻辑", "due": "2026-03-13", "status": "status_12"}}, {"Story": {"id": "1158335167004828708", "name": "客户端审核 - 法宝装备界面逻辑", "due": "2026-03-13", "status": "status_12"}}, {"Story": {"id": "1158335167004828679", "name": "客户端审核 - 消耗品使用逻辑", "due": "2026-03-06", "status": "status_5"}}, {"Story": {"id": "1158335167004828673", "name": "客户端审核 - SkillSlotMgr新逻辑迭代", "due": "2026-01-28", "status": "status_8"}}, {"Story": {"id": "1158335167004828672", "name": "客户端审核 - 武器槽位映射逻辑重构", "due": "2026-01-30", "status": "status_8"}}, {"Story": {"id": "1158335167004827634", "name": "客户端审核 - 绑定Ability——左右键、派生技、武器战技和武器通用技能", "due": "2026-03-22", "status": "status_5"}}, {"Story": {"id": "1158335167004827625", "name": "客户端审核 - 可追踪角度、追踪速度等参数可靠性优化", "due": "2026-04-04", "status": "status_7"}}, {"Story": {"id": "1158335167004827584", "name": "客户端审核 - 根据血量裂纹和破碎效果", "due": "2026-04-11", "status": "status_7"}}, {"Story": {"id": "1158335167004827583", "name": "客户端审核 - 表现优化,接入动画资源", "due": "2026-04-10", "status": "status_7"}}, {"Story": {"id": "1158335167004806717", "name": "分支上增加显示玩家名称的功能", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800802", "name": "PSO收集", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004794635", "name": "客户端审核 - 格挡功能-子弹奉还", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004794632", "name": "客户端审核 - 弹道系统现有配置优化", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004794631", "name": "客户端审核 - 弹道系统优化- 激光类bullet", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004794629", "name": "客户端审核 - 弹道系统优化- AOE伤害&子弹爆炸", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004792154", "name": "玄铁飞天盾 - 格挡成功超出弧度生成多个盾后若当前盾X秒内未再次受击则消散直到仅剩下一个盾时回到1倍大小", "due": "2026-04-10", "status": "status_7"}}, {"Story": {"id": "1158335167004792153", "name": "玄铁飞天盾 - 格挡成功后X秒内未再次受击则平滑往环绕半径轨道上移动", "due": "2026-04-10", "status": "status_7"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:48:57", "task": "task3", "sync_id": "task3_20260312_114856_2aa09865", "module": "tapd", "operation": "bugs", "success": true, "request": {"workspace_id": "58335167", "current_owner": "BardLin", "fields": "id,title,deadline,status"}, "response": {"status": 1, "data": [{"Bug": {"id": "1158335167002283694", "title": "受击动画中root质心需要跟随人物模型运动如击飞、击浮空时root需要向上跟随否则浮空连击时敌人位置会频繁上下跳动。", "deadline": "2025-12-05", "status": "closed"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:48:57", "task": "task3", "sync_id": "task3_20260312_114856_2aa09865", "module": "tapd", "operation": "bugs", "success": true, "request": {"workspace_id": "58335167", "current_owner": "星渊", "fields": "id,title,deadline,status"}, "response": {"status": 1, "data": [{"Bug": {"id": "1158335167002296797", "title": "优化性能分辨率提升为1080P静态帧率基本稳定60fps", "deadline": "2025-12-22", "status": "closed"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:48:57", "task": "task3", "sync_id": "task3_20260312_114856_2aa09865", "module": "tapd", "operation": "bugs", "success": true, "request": {"workspace_id": "58335167", "current_owner": "mithril", "fields": "id,title,deadline,status"}, "response": {"status": 1, "data": [{"Bug": {"id": "1158335167002280921", "title": "【UI】【单机】血条UI歪了不在屏幕正中间了@mithril(hanjingchao)", "deadline": "2025-12-01", "status": "closed"}}, {"Bug": {"id": "1158335167002280929", "title": "【联机】【弹道】左键第三段,第四段,飞剑子弹数量会丢失几根@mithril(hanjingchao)", "deadline": "2025-12-02", "status": "closed"}}, {"Bug": {"id": "1158335167002280930", "title": "【联机】【弹道】子弹受击特效丢失了@mithril(hanjingchao)", "deadline": "2025-12-01", "status": "closed"}}, {"Bug": {"id": "1158335167002280931", "title": "【联机】【UI】对方的体力条会显示得特别大@mithril(hanjingchao)", "deadline": "2025-12-02", "status": "closed"}}, {"Bug": {"id": "1158335167002283432", "title": "更新之后,放左键,没目标时弹道坏了,不会正确追踪地形", "deadline": "2025-12-09", "status": "closed"}}, {"Bug": {"id": "1158335167002287668", "title": "格挡成功后,延迟时间内盾也要保证和角色相对移动,(当前是会静止在原地,不跟随角色移动)", "deadline": "2025-12-12", "status": "closed"}}, {"Bug": {"id": "1158335167002287671", "title": "格挡成功后,延迟时间内再次格挡,则要刷新当前延迟时间(当前延迟时间内再次受击,延迟时间感觉并没有被刷新)", "deadline": "2025-12-16", "status": "closed"}}, {"Bug": {"id": "1158335167002287675", "title": "在新生成盾时,盾的内外表现不对,且旋转方向不对", "deadline": "2025-12-12", "status": "closed"}}, {"Bug": {"id": "1158335167002294091", "title": "【联机】【符箓】土牢符会把自己困住", "deadline": "2025-12-18", "status": "closed"}}, {"Bug": {"id": "1158335167002294096", "title": "【联机】【法宝】飞天盾会挡住自己的子弹", "deadline": "2025-12-18", "status": "closed"}}, {"Bug": {"id": "1158335167002295354", "title": "飞天盾相关bug - 子弹会穿盾,对角色造成伤害", "deadline": "2025-12-20", "status": "closed"}}, {"Bug": {"id": "1158335167002295358", "title": "限制生成初始总数量为1避免多次使用生成多个盾再次使用时刷新盾血量和持续时间", "deadline": "2025-12-20", "status": "closed"}}, {"Bug": {"id": "1158335167002295360", "title": "飞天盾相关bug - 持续时间配置,避免盾一直不消失", "deadline": "2025-12-20", "status": "closed"}}, {"Bug": {"id": "1158335167002296688", "title": "【BUG】包里能不能默认 DisableAllScreenMessages", "deadline": "2025-12-22", "status": "closed"}}, {"Bug": {"id": "1158335167002297733", "title": "【高-BUG】左键普攻第四段飞剑命中后会延迟一会才消失希望和前三段一样快速消失", "deadline": "2025-12-25", "status": "closed"}}, {"Bug": {"id": "1158335167002299602", "title": "【高-BUG】土牢符的符纸自己能锁定", "deadline": "2025-12-27", "status": "closed"}}, {"Bug": {"id": "1158335167002300378", "title": "【bug】土牢符陷阱现在不开神识探查也能看见", "deadline": "2025-12-30", "status": "in_progress"}}, {"Bug": {"id": "1158335167002300531", "title": "【致命-BUG】按G会Crash复现较为频繁", "deadline": "2025-12-28", "status": "closed"}}, {"Bug": {"id": "1158335167002300717", "title": "【高-BUG】巨剑术诀子弹命中海王兽场景海面底下的地面时没有正确触发overlap事件停在表面并播特效", "deadline": "2025-12-31", "status": "closed"}}, {"Bug": {"id": "1158335167002300837", "title": "【高-bug】MoveToTargetEX触发的时候能直接从土牢符里穿出来需要正常阻挡自身和目标穿出土牢符", "deadline": "2025-12-31", "status": "closed"}}, {"Bug": {"id": "1158335167002304061", "title": "【需Merge分支】【高-BUG】【联机】现在破定期间Q环绕飞剑只环绕一次就消失了。", "deadline": "2026-01-07", "status": "closed"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:48:58", "task": "task3", "sync_id": "task3_20260312_114856_2aa09865", "module": "wework", "operation": "webhook/send", "success": true, "request": {"msgtype": "markdown", "markdown": {"content": "⏰ TAPD 过期单提醒2026-03-12\n\n<@BardLin>12 条过期)\n1.【需求】主角战斗 - 动作资源 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004787973)\n2.【需求】空中待机 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004774664)\n3.【需求】雷属性受击 - 起始 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004774629)\n4.【需求】雷属性受击 - 循环 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004774628)\n5.【需求】飞遁动画 | 过期 41 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004828079)\n6.【需求】右键垫步突进 | 过期 34 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827909)\n7.【需求】青凝镜-回收Layout | 过期 13 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827996)\n8.【需求】青凝镜-检视表演Layout | 过期 12 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827991)\n9.【需求】青凝镜-召唤Layout | 过期 12 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827989)\n10.【需求】空中右键下劈 | 过期 12 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827910)\n11.【需求】噬金虫召唤动画Layout | 过期 3 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827929)\n12.【需求】3C-基础移动-Bug-Dodge卡帧 | 过期 2 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004866823)\n\n<@mi>2 条过期)\n13.【缺陷】【bug】土牢符陷阱现在不开神识探查也能看见 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/bugtrace/bugs/view?bug_id=1158335167002300378)\n14.【需求】客户端审核 - 消耗品使用逻辑 | 过期 6 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004828679)\n\n<@xingyuan>13 条过期)\n15.【需求】AS脚本Bind扩展 | 过期 37 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839302)\n16.【需求】尝试AS写Validator | 过期 37 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839301)\n17.【需求】Data Validator框架 | 过期 37 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839234)\n18.【需求】材质Mask模式不受motion blur影响 | 过期 35 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839323)\n19.【需求】KawaiiMagicAnimVelet调研 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839272)\n20.【需求】Chaos布料算法调研 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839270)\n21.【需求】编译Android版 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839267)\n22.【需求】对GPU解算进行改近 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839266)\n23.【需求】理解GPU算法 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839259)\n24.【需求】调试和理解NvCloth算法 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839246)\n25.【需求】NvCloth调研 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839241)\n26.【需求】布料解算基建 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839239)\n27.【需求】3C-基础移动-Bug-Dodge卡帧 | 过期 2 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004866823)\n\n共 27 条过期单,请今日内更新状态 🙏"}, "mentioned_list": ["BardLin", "mi", "xingyuan"]}, "response": {"errcode": 0, "errmsg": "ok"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "end_sync", "timestamp": "2026-03-12 11:48:58", "task": "task3", "sync_id": "task3_20260312_114856_2aa09865", "success": true, "stats": {"overdue_count": 27}, "error_message": null, "extra": {}}
{"event_type": "start_sync", "timestamp": "2026-03-12 11:51:37", "task": "task3", "sync_id": "task3_20260312_115137_176b8282", "trigger": "manual", "metadata": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:51:38", "task": "task3", "sync_id": "task3_20260312_115137_176b8282", "module": "tapd", "operation": "stories", "success": true, "request": {"workspace_id": "58335167", "owner": "BardLin", "fields": "id,name,due,status"}, "response": {"status": 1, "data": [{"Story": {"id": "1158335167004866823", "name": "3C-基础移动-Bug-Dodge卡帧", "due": "2026-03-10", "status": "status_9"}}, {"Story": {"id": "1158335167004834011", "name": "【动画】2026年1月 - 凡人各组月度产出梳理", "due": "2026-01-28", "status": "status_8"}}, {"Story": {"id": "1158335167004828079", "name": "飞遁动画", "due": "2026-01-30", "status": "status_9"}}, {"Story": {"id": "1158335167004828030", "name": "大啼魂-初绑", "due": "2026-03-02", "status": "status_8"}}, {"Story": {"id": "1158335167004827998", "name": "血色披风预研", "due": "2026-02-14", "status": "status_8"}}, {"Story": {"id": "1158335167004827996", "name": "青凝镜-回收Layout", "due": "2026-02-27", "status": "status_9"}}, {"Story": {"id": "1158335167004827994", "name": "青凝镜-待机", "due": "2026-03-20", "status": "status_9"}}, {"Story": {"id": "1158335167004827991", "name": "青凝镜-检视表演Layout", "due": "2026-02-28", "status": "status_9"}}, {"Story": {"id": "1158335167004827989", "name": "青凝镜-召唤Layout", "due": "2026-02-28", "status": "status_9"}}, {"Story": {"id": "1158335167004827987", "name": "青凝镜-初绑", "due": "2026-01-30", "status": "status_8"}}, {"Story": {"id": "1158335167004827946", "name": "玄铁飞天盾-初绑", "due": "2026-01-23", "status": "status_8"}}, {"Story": {"id": "1158335167004827929", "name": "噬金虫召唤动画Layout", "due": "2026-03-09", "status": "status_9"}}, {"Story": {"id": "1158335167004827926", "name": "噬金虫召-初绑", "due": "2026-01-26", "status": "status_8"}}, {"Story": {"id": "1158335167004827921", "name": "飞剑-解控", "due": "2026-03-27", "status": "status_9"}}, {"Story": {"id": "1158335167004827920", "name": "飞剑-检视表演", "due": "2026-03-27", "status": "status_7"}}, {"Story": {"id": "1158335167004827919", "name": "飞剑-检视表演Layout", "due": "2026-03-13", "status": "status_7"}}, {"Story": {"id": "1158335167004827914", "name": "剑影分光·闪回", "due": "2026-03-27", "status": "status_9"}}, {"Story": {"id": "1158335167004827912", "name": "剑影分光·上挑", "due": "2026-03-27", "status": "status_9"}}, {"Story": {"id": "1158335167004827910", "name": "空中右键下劈", "due": "2026-02-28", "status": "status_5"}}, {"Story": {"id": "1158335167004827909", "name": "右键垫步突进", "due": "2026-02-06", "status": "status_5"}}, {"Story": {"id": "1158335167004827852", "name": "动画制作 - 【法宝】青竹蜂云剑", "due": "2026-03-28", "status": "status_7"}}, {"Story": {"id": "1158335167004816915", "name": "3C-飞遁 - 状态机重构", "due": "2026-01-09", "status": "status_8"}}, {"Story": {"id": "1158335167004815661", "name": "3C-飞遁 - W输入HighSpeed状态", "due": "2026-01-09", "status": "status_8"}}, {"Story": {"id": "1158335167004787978", "name": "通用受击 - 动作资源", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004787977", "name": "海王兽 - 动作资源", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004787973", "name": "主角战斗 - 动作资源", "due": "2025-12-30", "status": "status_7"}}, {"Story": {"id": "1158335167004774665", "name": "地面待机", "due": "2025-12-30", "status": "status_8"}}, {"Story": {"id": "1158335167004774664", "name": "空中待机", "due": "2025-12-30", "status": "status_7"}}, {"Story": {"id": "1158335167004774629", "name": "雷属性受击 - 起始", "due": "2025-12-30", "status": "status_7"}}, {"Story": {"id": "1158335167004774628", "name": "雷属性受击 - 循环", "due": "2025-12-30", "status": "status_7"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:51:38", "task": "task3", "sync_id": "task3_20260312_115137_176b8282", "module": "tapd", "operation": "stories", "success": true, "request": {"workspace_id": "58335167", "owner": "星渊", "fields": "id,name,due,status"}, "response": {"status": 1, "data": [{"Story": {"id": "1158335167004866823", "name": "3C-基础移动-Bug-Dodge卡帧", "due": "2026-03-10", "status": "status_9"}}, {"Story": {"id": "1158335167004839323", "name": "材质Mask模式不受motion blur影响", "due": "2026-02-05", "status": "status_9"}}, {"Story": {"id": "1158335167004839302", "name": "AS脚本Bind扩展", "due": "2026-02-03", "status": "status_10"}}, {"Story": {"id": "1158335167004839301", "name": "尝试AS写Validator", "due": "2026-02-03", "status": "status_10"}}, {"Story": {"id": "1158335167004839299", "name": "简单Sample跑下流程", "due": "2026-02-03", "status": "status_8"}}, {"Story": {"id": "1158335167004839298", "name": "文档阅读", "due": "2026-02-03", "status": "status_8"}}, {"Story": {"id": "1158335167004839272", "name": "KawaiiMagicAnimVelet调研", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839270", "name": "Chaos布料算法调研", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839267", "name": "编译Android版", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839266", "name": "对GPU解算进行改近", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839263", "name": "育碧GPU布料结算的GDC Paper", "due": "2026-02-13", "status": "status_8"}}, {"Story": {"id": "1158335167004839259", "name": "理解GPU算法", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839251", "name": "增加Profiler", "due": "2026-02-13", "status": "status_8"}}, {"Story": {"id": "1158335167004839246", "name": "调试和理解NvCloth算法", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839242", "name": "编译NvCloth", "due": "2026-02-13", "status": "status_8"}}, {"Story": {"id": "1158335167004839241", "name": "NvCloth调研", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839239", "name": "布料解算基建", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839234", "name": "Data Validator框架", "due": "2026-02-03", "status": "status_5"}}, {"Story": {"id": "1158335167004834466", "name": "Horde相关-持续开发项", "due": "2026-05-30", "status": "status_5"}}, {"Story": {"id": "1158335167004834018", "name": "【引擎/TA】2026年1月 - 凡人各组月度产出梳理", "due": "2026-01-28", "status": "status_8"}}, {"Story": {"id": "1158335167004828309", "name": "技术基建-基础可过滤编辑器控件开发", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004802628", "name": "技术基建-XianDebugger-法术场Debugger", "due": null, "status": "status_9"}}, {"Story": {"id": "1158335167004802626", "name": "技术基建-XianDebugger", "due": null, "status": "status_5"}}, {"Story": {"id": "1158335167004800837", "name": "VAT贴图Foramt以及各种选项的意义", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004800834", "name": "VAT贴图尺寸和种类优化", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800832", "name": "VAT内存优化", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004800829", "name": "内存Profiling", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800828", "name": "内存优化", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800819", "name": "Async优化Lumen反射", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800816", "name": "优化Lumen反射包括水的反射性能", "due": null, "status": "status_8"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:51:38", "task": "task3", "sync_id": "task3_20260312_115137_176b8282", "module": "tapd", "operation": "stories", "success": true, "request": {"workspace_id": "58335167", "owner": "mithril", "fields": "id,name,due,status"}, "response": {"status": 1, "data": [{"Story": {"id": "1158335167004865833", "name": "客户端审核 - 噬金虫相关功能", "due": "2026-03-13", "status": "status_7"}}, {"Story": {"id": "1158335167004840448", "name": "技能触发条件接入及联调。", "due": "2026-01-31", "status": "status_8"}}, {"Story": {"id": "1158335167004838325", "name": "AI Codereview", "due": "2026-05-30", "status": "status_5"}}, {"Story": {"id": "1158335167004838322", "name": "界面调整迭代", "due": "2026-02-28", "status": "status_8"}}, {"Story": {"id": "1158335167004838321", "name": "重构MainMenu", "due": "2026-02-28", "status": "status_8"}}, {"Story": {"id": "1158335167004838320", "name": "common ui调研手机端测试", "due": "2026-03-20", "status": "status_7"}}, {"Story": {"id": "1158335167004836875", "name": "- 技能槽位系统重构-迭代", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004834469", "name": "Horde编译失败群通知", "due": "2026-05-30", "status": "status_9"}}, {"Story": {"id": "1158335167004834468", "name": "Horde 自动触发逻辑", "due": "2026-05-30", "status": "status_9"}}, {"Story": {"id": "1158335167004829003", "name": "补全运行时日志", "due": "2026-04-03", "status": "status_7"}}, {"Story": {"id": "1158335167004828993", "name": "接入xiandebug可预览运行时子弹及相关数据", "due": "2026-04-03", "status": "status_7"}}, {"Story": {"id": "1158335167004828719", "name": "客户端审核 - 武器装备-UI逻辑", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004828716", "name": "客户端审核 - 法宝装备-UI逻辑", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004828709", "name": "客户端审核 - 武器装备界面逻辑", "due": "2026-03-13", "status": "status_12"}}, {"Story": {"id": "1158335167004828708", "name": "客户端审核 - 法宝装备界面逻辑", "due": "2026-03-13", "status": "status_12"}}, {"Story": {"id": "1158335167004828679", "name": "客户端审核 - 消耗品使用逻辑", "due": "2026-03-06", "status": "status_5"}}, {"Story": {"id": "1158335167004828673", "name": "客户端审核 - SkillSlotMgr新逻辑迭代", "due": "2026-01-28", "status": "status_8"}}, {"Story": {"id": "1158335167004828672", "name": "客户端审核 - 武器槽位映射逻辑重构", "due": "2026-01-30", "status": "status_8"}}, {"Story": {"id": "1158335167004827634", "name": "客户端审核 - 绑定Ability——左右键、派生技、武器战技和武器通用技能", "due": "2026-03-22", "status": "status_5"}}, {"Story": {"id": "1158335167004827625", "name": "客户端审核 - 可追踪角度、追踪速度等参数可靠性优化", "due": "2026-04-04", "status": "status_7"}}, {"Story": {"id": "1158335167004827584", "name": "客户端审核 - 根据血量裂纹和破碎效果", "due": "2026-04-11", "status": "status_7"}}, {"Story": {"id": "1158335167004827583", "name": "客户端审核 - 表现优化,接入动画资源", "due": "2026-04-10", "status": "status_7"}}, {"Story": {"id": "1158335167004806717", "name": "分支上增加显示玩家名称的功能", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800802", "name": "PSO收集", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004794635", "name": "客户端审核 - 格挡功能-子弹奉还", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004794632", "name": "客户端审核 - 弹道系统现有配置优化", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004794631", "name": "客户端审核 - 弹道系统优化- 激光类bullet", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004794629", "name": "客户端审核 - 弹道系统优化- AOE伤害&子弹爆炸", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004792154", "name": "玄铁飞天盾 - 格挡成功超出弧度生成多个盾后若当前盾X秒内未再次受击则消散直到仅剩下一个盾时回到1倍大小", "due": "2026-04-10", "status": "status_7"}}, {"Story": {"id": "1158335167004792153", "name": "玄铁飞天盾 - 格挡成功后X秒内未再次受击则平滑往环绕半径轨道上移动", "due": "2026-04-10", "status": "status_7"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:51:39", "task": "task3", "sync_id": "task3_20260312_115137_176b8282", "module": "tapd", "operation": "bugs", "success": true, "request": {"workspace_id": "58335167", "current_owner": "BardLin", "fields": "id,title,deadline,status"}, "response": {"status": 1, "data": [{"Bug": {"id": "1158335167002283694", "title": "受击动画中root质心需要跟随人物模型运动如击飞、击浮空时root需要向上跟随否则浮空连击时敌人位置会频繁上下跳动。", "deadline": "2025-12-05", "status": "closed"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:51:39", "task": "task3", "sync_id": "task3_20260312_115137_176b8282", "module": "tapd", "operation": "bugs", "success": true, "request": {"workspace_id": "58335167", "current_owner": "星渊", "fields": "id,title,deadline,status"}, "response": {"status": 1, "data": [{"Bug": {"id": "1158335167002296797", "title": "优化性能分辨率提升为1080P静态帧率基本稳定60fps", "deadline": "2025-12-22", "status": "closed"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:51:39", "task": "task3", "sync_id": "task3_20260312_115137_176b8282", "module": "tapd", "operation": "bugs", "success": true, "request": {"workspace_id": "58335167", "current_owner": "mithril", "fields": "id,title,deadline,status"}, "response": {"status": 1, "data": [{"Bug": {"id": "1158335167002280921", "title": "【UI】【单机】血条UI歪了不在屏幕正中间了@mithril(hanjingchao)", "deadline": "2025-12-01", "status": "closed"}}, {"Bug": {"id": "1158335167002280929", "title": "【联机】【弹道】左键第三段,第四段,飞剑子弹数量会丢失几根@mithril(hanjingchao)", "deadline": "2025-12-02", "status": "closed"}}, {"Bug": {"id": "1158335167002280930", "title": "【联机】【弹道】子弹受击特效丢失了@mithril(hanjingchao)", "deadline": "2025-12-01", "status": "closed"}}, {"Bug": {"id": "1158335167002280931", "title": "【联机】【UI】对方的体力条会显示得特别大@mithril(hanjingchao)", "deadline": "2025-12-02", "status": "closed"}}, {"Bug": {"id": "1158335167002283432", "title": "更新之后,放左键,没目标时弹道坏了,不会正确追踪地形", "deadline": "2025-12-09", "status": "closed"}}, {"Bug": {"id": "1158335167002287668", "title": "格挡成功后,延迟时间内盾也要保证和角色相对移动,(当前是会静止在原地,不跟随角色移动)", "deadline": "2025-12-12", "status": "closed"}}, {"Bug": {"id": "1158335167002287671", "title": "格挡成功后,延迟时间内再次格挡,则要刷新当前延迟时间(当前延迟时间内再次受击,延迟时间感觉并没有被刷新)", "deadline": "2025-12-16", "status": "closed"}}, {"Bug": {"id": "1158335167002287675", "title": "在新生成盾时,盾的内外表现不对,且旋转方向不对", "deadline": "2025-12-12", "status": "closed"}}, {"Bug": {"id": "1158335167002294091", "title": "【联机】【符箓】土牢符会把自己困住", "deadline": "2025-12-18", "status": "closed"}}, {"Bug": {"id": "1158335167002294096", "title": "【联机】【法宝】飞天盾会挡住自己的子弹", "deadline": "2025-12-18", "status": "closed"}}, {"Bug": {"id": "1158335167002295354", "title": "飞天盾相关bug - 子弹会穿盾,对角色造成伤害", "deadline": "2025-12-20", "status": "closed"}}, {"Bug": {"id": "1158335167002295358", "title": "限制生成初始总数量为1避免多次使用生成多个盾再次使用时刷新盾血量和持续时间", "deadline": "2025-12-20", "status": "closed"}}, {"Bug": {"id": "1158335167002295360", "title": "飞天盾相关bug - 持续时间配置,避免盾一直不消失", "deadline": "2025-12-20", "status": "closed"}}, {"Bug": {"id": "1158335167002296688", "title": "【BUG】包里能不能默认 DisableAllScreenMessages", "deadline": "2025-12-22", "status": "closed"}}, {"Bug": {"id": "1158335167002297733", "title": "【高-BUG】左键普攻第四段飞剑命中后会延迟一会才消失希望和前三段一样快速消失", "deadline": "2025-12-25", "status": "closed"}}, {"Bug": {"id": "1158335167002299602", "title": "【高-BUG】土牢符的符纸自己能锁定", "deadline": "2025-12-27", "status": "closed"}}, {"Bug": {"id": "1158335167002300378", "title": "【bug】土牢符陷阱现在不开神识探查也能看见", "deadline": "2025-12-30", "status": "in_progress"}}, {"Bug": {"id": "1158335167002300531", "title": "【致命-BUG】按G会Crash复现较为频繁", "deadline": "2025-12-28", "status": "closed"}}, {"Bug": {"id": "1158335167002300717", "title": "【高-BUG】巨剑术诀子弹命中海王兽场景海面底下的地面时没有正确触发overlap事件停在表面并播特效", "deadline": "2025-12-31", "status": "closed"}}, {"Bug": {"id": "1158335167002300837", "title": "【高-bug】MoveToTargetEX触发的时候能直接从土牢符里穿出来需要正常阻挡自身和目标穿出土牢符", "deadline": "2025-12-31", "status": "closed"}}, {"Bug": {"id": "1158335167002304061", "title": "【需Merge分支】【高-BUG】【联机】现在破定期间Q环绕飞剑只环绕一次就消失了。", "deadline": "2026-01-07", "status": "closed"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:51:39", "task": "task3", "sync_id": "task3_20260312_115137_176b8282", "module": "wework", "operation": "webhook/send", "success": true, "request": {"msgtype": "markdown", "markdown": {"content": "⏰ TAPD 过期单提醒2026-03-12\n\n\n<@BardLin>12 条过期)\n1.【需求】主角战斗 - 动作资源 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004787973)\n2.【需求】空中待机 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004774664)\n3.【需求】雷属性受击 - 起始 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004774629)\n4.【需求】雷属性受击 - 循环 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004774628)\n5.【需求】飞遁动画 | 过期 41 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004828079)\n6.【需求】右键垫步突进 | 过期 34 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827909)\n7.【需求】青凝镜-回收Layout | 过期 13 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827996)\n8.【需求】青凝镜-检视表演Layout | 过期 12 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827991)\n9.【需求】青凝镜-召唤Layout | 过期 12 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827989)\n10.【需求】空中右键下劈 | 过期 12 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827910)\n11.【需求】噬金虫召唤动画Layout | 过期 3 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827929)\n12.【需求】3C-基础移动-Bug-Dodge卡帧 | 过期 2 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004866823)\n\n<@mi>2 条过期)\n13.【缺陷】【bug】土牢符陷阱现在不开神识探查也能看见 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/bugtrace/bugs/view?bug_id=1158335167002300378)\n14.【需求】客户端审核 - 消耗品使用逻辑 | 过期 6 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004828679)\n\n<@xingyuan>13 条过期)\n15.【需求】AS脚本Bind扩展 | 过期 37 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839302)\n16.【需求】尝试AS写Validator | 过期 37 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839301)\n17.【需求】Data Validator框架 | 过期 37 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839234)\n18.【需求】材质Mask模式不受motion blur影响 | 过期 35 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839323)\n19.【需求】KawaiiMagicAnimVelet调研 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839272)\n20.【需求】Chaos布料算法调研 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839270)\n21.【需求】编译Android版 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839267)\n22.【需求】对GPU解算进行改近 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839266)\n23.【需求】理解GPU算法 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839259)\n24.【需求】调试和理解NvCloth算法 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839246)\n25.【需求】NvCloth调研 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839241)\n26.【需求】布料解算基建 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839239)\n27.【需求】3C-基础移动-Bug-Dodge卡帧 | 过期 2 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004866823)\n共 27 条过期单,请今日内更新状态 🙏"}, "mentioned_list": ["BardLin", "mi", "xingyuan"]}, "response": {"errcode": 0, "errmsg": "ok"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "end_sync", "timestamp": "2026-03-12 11:51:39", "task": "task3", "sync_id": "task3_20260312_115137_176b8282", "success": true, "stats": {"overdue_count": 27}, "error_message": null, "extra": {}}
{"event_type": "start_sync", "timestamp": "2026-03-12 11:55:21", "task": "task3", "sync_id": "task3_20260312_115521_87933704", "trigger": "manual", "metadata": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:55:21", "task": "task3", "sync_id": "task3_20260312_115521_87933704", "module": "tapd", "operation": "stories", "success": true, "request": {"workspace_id": "58335167", "owner": "BardLin", "fields": "id,name,due,status"}, "response": {"status": 1, "data": [{"Story": {"id": "1158335167004866823", "name": "3C-基础移动-Bug-Dodge卡帧", "due": "2026-03-10", "status": "status_9"}}, {"Story": {"id": "1158335167004834011", "name": "【动画】2026年1月 - 凡人各组月度产出梳理", "due": "2026-01-28", "status": "status_8"}}, {"Story": {"id": "1158335167004828079", "name": "飞遁动画", "due": "2026-01-30", "status": "status_9"}}, {"Story": {"id": "1158335167004828030", "name": "大啼魂-初绑", "due": "2026-03-02", "status": "status_8"}}, {"Story": {"id": "1158335167004827998", "name": "血色披风预研", "due": "2026-02-14", "status": "status_8"}}, {"Story": {"id": "1158335167004827996", "name": "青凝镜-回收Layout", "due": "2026-02-27", "status": "status_9"}}, {"Story": {"id": "1158335167004827994", "name": "青凝镜-待机", "due": "2026-03-20", "status": "status_9"}}, {"Story": {"id": "1158335167004827991", "name": "青凝镜-检视表演Layout", "due": "2026-02-28", "status": "status_9"}}, {"Story": {"id": "1158335167004827989", "name": "青凝镜-召唤Layout", "due": "2026-02-28", "status": "status_9"}}, {"Story": {"id": "1158335167004827987", "name": "青凝镜-初绑", "due": "2026-01-30", "status": "status_8"}}, {"Story": {"id": "1158335167004827946", "name": "玄铁飞天盾-初绑", "due": "2026-01-23", "status": "status_8"}}, {"Story": {"id": "1158335167004827929", "name": "噬金虫召唤动画Layout", "due": "2026-03-09", "status": "status_9"}}, {"Story": {"id": "1158335167004827926", "name": "噬金虫召-初绑", "due": "2026-01-26", "status": "status_8"}}, {"Story": {"id": "1158335167004827921", "name": "飞剑-解控", "due": "2026-03-27", "status": "status_9"}}, {"Story": {"id": "1158335167004827920", "name": "飞剑-检视表演", "due": "2026-03-27", "status": "status_7"}}, {"Story": {"id": "1158335167004827919", "name": "飞剑-检视表演Layout", "due": "2026-03-13", "status": "status_7"}}, {"Story": {"id": "1158335167004827914", "name": "剑影分光·闪回", "due": "2026-03-27", "status": "status_9"}}, {"Story": {"id": "1158335167004827912", "name": "剑影分光·上挑", "due": "2026-03-27", "status": "status_9"}}, {"Story": {"id": "1158335167004827910", "name": "空中右键下劈", "due": "2026-02-28", "status": "status_5"}}, {"Story": {"id": "1158335167004827909", "name": "右键垫步突进", "due": "2026-02-06", "status": "status_5"}}, {"Story": {"id": "1158335167004827852", "name": "动画制作 - 【法宝】青竹蜂云剑", "due": "2026-03-28", "status": "status_7"}}, {"Story": {"id": "1158335167004816915", "name": "3C-飞遁 - 状态机重构", "due": "2026-01-09", "status": "status_8"}}, {"Story": {"id": "1158335167004815661", "name": "3C-飞遁 - W输入HighSpeed状态", "due": "2026-01-09", "status": "status_8"}}, {"Story": {"id": "1158335167004787978", "name": "通用受击 - 动作资源", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004787977", "name": "海王兽 - 动作资源", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004787973", "name": "主角战斗 - 动作资源", "due": "2025-12-30", "status": "status_7"}}, {"Story": {"id": "1158335167004774665", "name": "地面待机", "due": "2025-12-30", "status": "status_8"}}, {"Story": {"id": "1158335167004774664", "name": "空中待机", "due": "2025-12-30", "status": "status_7"}}, {"Story": {"id": "1158335167004774629", "name": "雷属性受击 - 起始", "due": "2025-12-30", "status": "status_7"}}, {"Story": {"id": "1158335167004774628", "name": "雷属性受击 - 循环", "due": "2025-12-30", "status": "status_7"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:55:22", "task": "task3", "sync_id": "task3_20260312_115521_87933704", "module": "tapd", "operation": "stories", "success": true, "request": {"workspace_id": "58335167", "owner": "星渊", "fields": "id,name,due,status"}, "response": {"status": 1, "data": [{"Story": {"id": "1158335167004866823", "name": "3C-基础移动-Bug-Dodge卡帧", "due": "2026-03-10", "status": "status_9"}}, {"Story": {"id": "1158335167004839323", "name": "材质Mask模式不受motion blur影响", "due": "2026-02-05", "status": "status_9"}}, {"Story": {"id": "1158335167004839302", "name": "AS脚本Bind扩展", "due": "2026-02-03", "status": "status_10"}}, {"Story": {"id": "1158335167004839301", "name": "尝试AS写Validator", "due": "2026-02-03", "status": "status_10"}}, {"Story": {"id": "1158335167004839299", "name": "简单Sample跑下流程", "due": "2026-02-03", "status": "status_8"}}, {"Story": {"id": "1158335167004839298", "name": "文档阅读", "due": "2026-02-03", "status": "status_8"}}, {"Story": {"id": "1158335167004839272", "name": "KawaiiMagicAnimVelet调研", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839270", "name": "Chaos布料算法调研", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839267", "name": "编译Android版", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839266", "name": "对GPU解算进行改近", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839263", "name": "育碧GPU布料结算的GDC Paper", "due": "2026-02-13", "status": "status_8"}}, {"Story": {"id": "1158335167004839259", "name": "理解GPU算法", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839251", "name": "增加Profiler", "due": "2026-02-13", "status": "status_8"}}, {"Story": {"id": "1158335167004839246", "name": "调试和理解NvCloth算法", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839242", "name": "编译NvCloth", "due": "2026-02-13", "status": "status_8"}}, {"Story": {"id": "1158335167004839241", "name": "NvCloth调研", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839239", "name": "布料解算基建", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839234", "name": "Data Validator框架", "due": "2026-02-03", "status": "status_5"}}, {"Story": {"id": "1158335167004834466", "name": "Horde相关-持续开发项", "due": "2026-05-30", "status": "status_5"}}, {"Story": {"id": "1158335167004834018", "name": "【引擎/TA】2026年1月 - 凡人各组月度产出梳理", "due": "2026-01-28", "status": "status_8"}}, {"Story": {"id": "1158335167004828309", "name": "技术基建-基础可过滤编辑器控件开发", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004802628", "name": "技术基建-XianDebugger-法术场Debugger", "due": null, "status": "status_9"}}, {"Story": {"id": "1158335167004802626", "name": "技术基建-XianDebugger", "due": null, "status": "status_5"}}, {"Story": {"id": "1158335167004800837", "name": "VAT贴图Foramt以及各种选项的意义", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004800834", "name": "VAT贴图尺寸和种类优化", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800832", "name": "VAT内存优化", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004800829", "name": "内存Profiling", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800828", "name": "内存优化", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800819", "name": "Async优化Lumen反射", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800816", "name": "优化Lumen反射包括水的反射性能", "due": null, "status": "status_8"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:55:22", "task": "task3", "sync_id": "task3_20260312_115521_87933704", "module": "tapd", "operation": "stories", "success": true, "request": {"workspace_id": "58335167", "owner": "mithril", "fields": "id,name,due,status"}, "response": {"status": 1, "data": [{"Story": {"id": "1158335167004865833", "name": "客户端审核 - 噬金虫相关功能", "due": "2026-03-13", "status": "status_7"}}, {"Story": {"id": "1158335167004840448", "name": "技能触发条件接入及联调。", "due": "2026-01-31", "status": "status_8"}}, {"Story": {"id": "1158335167004838325", "name": "AI Codereview", "due": "2026-05-30", "status": "status_5"}}, {"Story": {"id": "1158335167004838322", "name": "界面调整迭代", "due": "2026-02-28", "status": "status_8"}}, {"Story": {"id": "1158335167004838321", "name": "重构MainMenu", "due": "2026-02-28", "status": "status_8"}}, {"Story": {"id": "1158335167004838320", "name": "common ui调研手机端测试", "due": "2026-03-20", "status": "status_7"}}, {"Story": {"id": "1158335167004836875", "name": "- 技能槽位系统重构-迭代", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004834469", "name": "Horde编译失败群通知", "due": "2026-05-30", "status": "status_9"}}, {"Story": {"id": "1158335167004834468", "name": "Horde 自动触发逻辑", "due": "2026-05-30", "status": "status_9"}}, {"Story": {"id": "1158335167004829003", "name": "补全运行时日志", "due": "2026-04-03", "status": "status_7"}}, {"Story": {"id": "1158335167004828993", "name": "接入xiandebug可预览运行时子弹及相关数据", "due": "2026-04-03", "status": "status_7"}}, {"Story": {"id": "1158335167004828719", "name": "客户端审核 - 武器装备-UI逻辑", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004828716", "name": "客户端审核 - 法宝装备-UI逻辑", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004828709", "name": "客户端审核 - 武器装备界面逻辑", "due": "2026-03-13", "status": "status_12"}}, {"Story": {"id": "1158335167004828708", "name": "客户端审核 - 法宝装备界面逻辑", "due": "2026-03-13", "status": "status_12"}}, {"Story": {"id": "1158335167004828679", "name": "客户端审核 - 消耗品使用逻辑", "due": "2026-03-06", "status": "status_5"}}, {"Story": {"id": "1158335167004828673", "name": "客户端审核 - SkillSlotMgr新逻辑迭代", "due": "2026-01-28", "status": "status_8"}}, {"Story": {"id": "1158335167004828672", "name": "客户端审核 - 武器槽位映射逻辑重构", "due": "2026-01-30", "status": "status_8"}}, {"Story": {"id": "1158335167004827634", "name": "客户端审核 - 绑定Ability——左右键、派生技、武器战技和武器通用技能", "due": "2026-03-22", "status": "status_5"}}, {"Story": {"id": "1158335167004827625", "name": "客户端审核 - 可追踪角度、追踪速度等参数可靠性优化", "due": "2026-04-04", "status": "status_7"}}, {"Story": {"id": "1158335167004827584", "name": "客户端审核 - 根据血量裂纹和破碎效果", "due": "2026-04-11", "status": "status_7"}}, {"Story": {"id": "1158335167004827583", "name": "客户端审核 - 表现优化,接入动画资源", "due": "2026-04-10", "status": "status_7"}}, {"Story": {"id": "1158335167004806717", "name": "分支上增加显示玩家名称的功能", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800802", "name": "PSO收集", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004794635", "name": "客户端审核 - 格挡功能-子弹奉还", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004794632", "name": "客户端审核 - 弹道系统现有配置优化", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004794631", "name": "客户端审核 - 弹道系统优化- 激光类bullet", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004794629", "name": "客户端审核 - 弹道系统优化- AOE伤害&子弹爆炸", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004792154", "name": "玄铁飞天盾 - 格挡成功超出弧度生成多个盾后若当前盾X秒内未再次受击则消散直到仅剩下一个盾时回到1倍大小", "due": "2026-04-10", "status": "status_7"}}, {"Story": {"id": "1158335167004792153", "name": "玄铁飞天盾 - 格挡成功后X秒内未再次受击则平滑往环绕半径轨道上移动", "due": "2026-04-10", "status": "status_7"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:55:22", "task": "task3", "sync_id": "task3_20260312_115521_87933704", "module": "tapd", "operation": "bugs", "success": true, "request": {"workspace_id": "58335167", "current_owner": "BardLin", "fields": "id,title,deadline,status"}, "response": {"status": 1, "data": [{"Bug": {"id": "1158335167002283694", "title": "受击动画中root质心需要跟随人物模型运动如击飞、击浮空时root需要向上跟随否则浮空连击时敌人位置会频繁上下跳动。", "deadline": "2025-12-05", "status": "closed"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:55:22", "task": "task3", "sync_id": "task3_20260312_115521_87933704", "module": "tapd", "operation": "bugs", "success": true, "request": {"workspace_id": "58335167", "current_owner": "星渊", "fields": "id,title,deadline,status"}, "response": {"status": 1, "data": [{"Bug": {"id": "1158335167002296797", "title": "优化性能分辨率提升为1080P静态帧率基本稳定60fps", "deadline": "2025-12-22", "status": "closed"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:55:22", "task": "task3", "sync_id": "task3_20260312_115521_87933704", "module": "tapd", "operation": "bugs", "success": true, "request": {"workspace_id": "58335167", "current_owner": "mithril", "fields": "id,title,deadline,status"}, "response": {"status": 1, "data": [{"Bug": {"id": "1158335167002280921", "title": "【UI】【单机】血条UI歪了不在屏幕正中间了@mithril(hanjingchao)", "deadline": "2025-12-01", "status": "closed"}}, {"Bug": {"id": "1158335167002280929", "title": "【联机】【弹道】左键第三段,第四段,飞剑子弹数量会丢失几根@mithril(hanjingchao)", "deadline": "2025-12-02", "status": "closed"}}, {"Bug": {"id": "1158335167002280930", "title": "【联机】【弹道】子弹受击特效丢失了@mithril(hanjingchao)", "deadline": "2025-12-01", "status": "closed"}}, {"Bug": {"id": "1158335167002280931", "title": "【联机】【UI】对方的体力条会显示得特别大@mithril(hanjingchao)", "deadline": "2025-12-02", "status": "closed"}}, {"Bug": {"id": "1158335167002283432", "title": "更新之后,放左键,没目标时弹道坏了,不会正确追踪地形", "deadline": "2025-12-09", "status": "closed"}}, {"Bug": {"id": "1158335167002287668", "title": "格挡成功后,延迟时间内盾也要保证和角色相对移动,(当前是会静止在原地,不跟随角色移动)", "deadline": "2025-12-12", "status": "closed"}}, {"Bug": {"id": "1158335167002287671", "title": "格挡成功后,延迟时间内再次格挡,则要刷新当前延迟时间(当前延迟时间内再次受击,延迟时间感觉并没有被刷新)", "deadline": "2025-12-16", "status": "closed"}}, {"Bug": {"id": "1158335167002287675", "title": "在新生成盾时,盾的内外表现不对,且旋转方向不对", "deadline": "2025-12-12", "status": "closed"}}, {"Bug": {"id": "1158335167002294091", "title": "【联机】【符箓】土牢符会把自己困住", "deadline": "2025-12-18", "status": "closed"}}, {"Bug": {"id": "1158335167002294096", "title": "【联机】【法宝】飞天盾会挡住自己的子弹", "deadline": "2025-12-18", "status": "closed"}}, {"Bug": {"id": "1158335167002295354", "title": "飞天盾相关bug - 子弹会穿盾,对角色造成伤害", "deadline": "2025-12-20", "status": "closed"}}, {"Bug": {"id": "1158335167002295358", "title": "限制生成初始总数量为1避免多次使用生成多个盾再次使用时刷新盾血量和持续时间", "deadline": "2025-12-20", "status": "closed"}}, {"Bug": {"id": "1158335167002295360", "title": "飞天盾相关bug - 持续时间配置,避免盾一直不消失", "deadline": "2025-12-20", "status": "closed"}}, {"Bug": {"id": "1158335167002296688", "title": "【BUG】包里能不能默认 DisableAllScreenMessages", "deadline": "2025-12-22", "status": "closed"}}, {"Bug": {"id": "1158335167002297733", "title": "【高-BUG】左键普攻第四段飞剑命中后会延迟一会才消失希望和前三段一样快速消失", "deadline": "2025-12-25", "status": "closed"}}, {"Bug": {"id": "1158335167002299602", "title": "【高-BUG】土牢符的符纸自己能锁定", "deadline": "2025-12-27", "status": "closed"}}, {"Bug": {"id": "1158335167002300378", "title": "【bug】土牢符陷阱现在不开神识探查也能看见", "deadline": "2025-12-30", "status": "in_progress"}}, {"Bug": {"id": "1158335167002300531", "title": "【致命-BUG】按G会Crash复现较为频繁", "deadline": "2025-12-28", "status": "closed"}}, {"Bug": {"id": "1158335167002300717", "title": "【高-BUG】巨剑术诀子弹命中海王兽场景海面底下的地面时没有正确触发overlap事件停在表面并播特效", "deadline": "2025-12-31", "status": "closed"}}, {"Bug": {"id": "1158335167002300837", "title": "【高-bug】MoveToTargetEX触发的时候能直接从土牢符里穿出来需要正常阻挡自身和目标穿出土牢符", "deadline": "2025-12-31", "status": "closed"}}, {"Bug": {"id": "1158335167002304061", "title": "【需Merge分支】【高-BUG】【联机】现在破定期间Q环绕飞剑只环绕一次就消失了。", "deadline": "2026-01-07", "status": "closed"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:55:23", "task": "task3", "sync_id": "task3_20260312_115521_87933704", "module": "wework", "operation": "webhook/send", "success": true, "request": {"msgtype": "markdown", "markdown": {"content": "⏰ TAPD 过期单提醒2026-03-12\n\n<@BardLin>12 条过期)\n1.【需求】主角战斗 - 动作资源 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004787973)\n2.【需求】空中待机 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004774664)\n3.【需求】雷属性受击 - 起始 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004774629)\n4.【需求】雷属性受击 - 循环 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004774628)\n5.【需求】飞遁动画 | 过期 41 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004828079)\n6.【需求】右键垫步突进 | 过期 34 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827909)\n7.【需求】青凝镜-回收Layout | 过期 13 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827996)\n8.【需求】青凝镜-检视表演Layout | 过期 12 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827991)\n9.【需求】青凝镜-召唤Layout | 过期 12 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827989)\n10.【需求】空中右键下劈 | 过期 12 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827910)\n11.【需求】噬金虫召唤动画Layout | 过期 3 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827929)\n12.【需求】3C-基础移动-Bug-Dodge卡帧 | 过期 2 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004866823)\n\n<@mi>2 条过期)\n13.【缺陷】【bug】土牢符陷阱现在不开神识探查也能看见 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/bugtrace/bugs/view?bug_id=1158335167002300378)\n14.【需求】客户端审核 - 消耗品使用逻辑 | 过期 6 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004828679)\n\n<@xingyuan>13 条过期)\n15.【需求】AS脚本Bind扩展 | 过期 37 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839302)\n16.【需求】尝试AS写Validator | 过期 37 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839301)\n17.【需求】Data Validator框架 | 过期 37 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839234)\n18.【需求】材质Mask模式不受motion blur影响 | 过期 35 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839323)\n19.【需求】KawaiiMagicAnimVelet调研 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839272)\n20.【需求】Chaos布料算法调研 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839270)\n21.【需求】编译Android版 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839267)\n22.【需求】对GPU解算进行改近 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839266)\n23.【需求】理解GPU算法 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839259)\n24.【需求】调试和理解NvCloth算法 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839246)\n25.【需求】NvCloth调研 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839241)\n26.【需求】布料解算基建 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839239)\n27.【需求】3C-基础移动-Bug-Dodge卡帧 | 过期 2 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004866823)\n\n共 27 条过期单,请今日内更新状态 🙏"}, "mentioned_list": ["BardLin", "mi", "xingyuan"]}, "response": {"errcode": 0, "errmsg": "ok"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "end_sync", "timestamp": "2026-03-12 11:55:23", "task": "task3", "sync_id": "task3_20260312_115521_87933704", "success": true, "stats": {"overdue_count": 27}, "error_message": null, "extra": {}}
{"event_type": "start_sync", "timestamp": "2026-03-12 11:56:48", "task": "task3", "sync_id": "task3_20260312_115648_2838ddca", "trigger": "manual", "metadata": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:56:48", "task": "task3", "sync_id": "task3_20260312_115648_2838ddca", "module": "tapd", "operation": "stories", "success": true, "request": {"workspace_id": "58335167", "owner": "BardLin", "fields": "id,name,due,status"}, "response": {"status": 1, "data": [{"Story": {"id": "1158335167004866823", "name": "3C-基础移动-Bug-Dodge卡帧", "due": "2026-03-10", "status": "status_9"}}, {"Story": {"id": "1158335167004834011", "name": "【动画】2026年1月 - 凡人各组月度产出梳理", "due": "2026-01-28", "status": "status_8"}}, {"Story": {"id": "1158335167004828079", "name": "飞遁动画", "due": "2026-01-30", "status": "status_9"}}, {"Story": {"id": "1158335167004828030", "name": "大啼魂-初绑", "due": "2026-03-02", "status": "status_8"}}, {"Story": {"id": "1158335167004827998", "name": "血色披风预研", "due": "2026-02-14", "status": "status_8"}}, {"Story": {"id": "1158335167004827996", "name": "青凝镜-回收Layout", "due": "2026-02-27", "status": "status_9"}}, {"Story": {"id": "1158335167004827994", "name": "青凝镜-待机", "due": "2026-03-20", "status": "status_9"}}, {"Story": {"id": "1158335167004827991", "name": "青凝镜-检视表演Layout", "due": "2026-02-28", "status": "status_9"}}, {"Story": {"id": "1158335167004827989", "name": "青凝镜-召唤Layout", "due": "2026-02-28", "status": "status_9"}}, {"Story": {"id": "1158335167004827987", "name": "青凝镜-初绑", "due": "2026-01-30", "status": "status_8"}}, {"Story": {"id": "1158335167004827946", "name": "玄铁飞天盾-初绑", "due": "2026-01-23", "status": "status_8"}}, {"Story": {"id": "1158335167004827929", "name": "噬金虫召唤动画Layout", "due": "2026-03-09", "status": "status_9"}}, {"Story": {"id": "1158335167004827926", "name": "噬金虫召-初绑", "due": "2026-01-26", "status": "status_8"}}, {"Story": {"id": "1158335167004827921", "name": "飞剑-解控", "due": "2026-03-27", "status": "status_9"}}, {"Story": {"id": "1158335167004827920", "name": "飞剑-检视表演", "due": "2026-03-27", "status": "status_7"}}, {"Story": {"id": "1158335167004827919", "name": "飞剑-检视表演Layout", "due": "2026-03-13", "status": "status_7"}}, {"Story": {"id": "1158335167004827914", "name": "剑影分光·闪回", "due": "2026-03-27", "status": "status_9"}}, {"Story": {"id": "1158335167004827912", "name": "剑影分光·上挑", "due": "2026-03-27", "status": "status_9"}}, {"Story": {"id": "1158335167004827910", "name": "空中右键下劈", "due": "2026-02-28", "status": "status_5"}}, {"Story": {"id": "1158335167004827909", "name": "右键垫步突进", "due": "2026-02-06", "status": "status_5"}}, {"Story": {"id": "1158335167004827852", "name": "动画制作 - 【法宝】青竹蜂云剑", "due": "2026-03-28", "status": "status_7"}}, {"Story": {"id": "1158335167004816915", "name": "3C-飞遁 - 状态机重构", "due": "2026-01-09", "status": "status_8"}}, {"Story": {"id": "1158335167004815661", "name": "3C-飞遁 - W输入HighSpeed状态", "due": "2026-01-09", "status": "status_8"}}, {"Story": {"id": "1158335167004787978", "name": "通用受击 - 动作资源", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004787977", "name": "海王兽 - 动作资源", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004787973", "name": "主角战斗 - 动作资源", "due": "2025-12-30", "status": "status_7"}}, {"Story": {"id": "1158335167004774665", "name": "地面待机", "due": "2025-12-30", "status": "status_8"}}, {"Story": {"id": "1158335167004774664", "name": "空中待机", "due": "2025-12-30", "status": "status_7"}}, {"Story": {"id": "1158335167004774629", "name": "雷属性受击 - 起始", "due": "2025-12-30", "status": "status_7"}}, {"Story": {"id": "1158335167004774628", "name": "雷属性受击 - 循环", "due": "2025-12-30", "status": "status_7"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:56:48", "task": "task3", "sync_id": "task3_20260312_115648_2838ddca", "module": "tapd", "operation": "stories", "success": true, "request": {"workspace_id": "58335167", "owner": "星渊", "fields": "id,name,due,status"}, "response": {"status": 1, "data": [{"Story": {"id": "1158335167004866823", "name": "3C-基础移动-Bug-Dodge卡帧", "due": "2026-03-10", "status": "status_9"}}, {"Story": {"id": "1158335167004839323", "name": "材质Mask模式不受motion blur影响", "due": "2026-02-05", "status": "status_9"}}, {"Story": {"id": "1158335167004839302", "name": "AS脚本Bind扩展", "due": "2026-02-03", "status": "status_10"}}, {"Story": {"id": "1158335167004839301", "name": "尝试AS写Validator", "due": "2026-02-03", "status": "status_10"}}, {"Story": {"id": "1158335167004839299", "name": "简单Sample跑下流程", "due": "2026-02-03", "status": "status_8"}}, {"Story": {"id": "1158335167004839298", "name": "文档阅读", "due": "2026-02-03", "status": "status_8"}}, {"Story": {"id": "1158335167004839272", "name": "KawaiiMagicAnimVelet调研", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839270", "name": "Chaos布料算法调研", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839267", "name": "编译Android版", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839266", "name": "对GPU解算进行改近", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839263", "name": "育碧GPU布料结算的GDC Paper", "due": "2026-02-13", "status": "status_8"}}, {"Story": {"id": "1158335167004839259", "name": "理解GPU算法", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839251", "name": "增加Profiler", "due": "2026-02-13", "status": "status_8"}}, {"Story": {"id": "1158335167004839246", "name": "调试和理解NvCloth算法", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839242", "name": "编译NvCloth", "due": "2026-02-13", "status": "status_8"}}, {"Story": {"id": "1158335167004839241", "name": "NvCloth调研", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839239", "name": "布料解算基建", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839234", "name": "Data Validator框架", "due": "2026-02-03", "status": "status_5"}}, {"Story": {"id": "1158335167004834466", "name": "Horde相关-持续开发项", "due": "2026-05-30", "status": "status_5"}}, {"Story": {"id": "1158335167004834018", "name": "【引擎/TA】2026年1月 - 凡人各组月度产出梳理", "due": "2026-01-28", "status": "status_8"}}, {"Story": {"id": "1158335167004828309", "name": "技术基建-基础可过滤编辑器控件开发", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004802628", "name": "技术基建-XianDebugger-法术场Debugger", "due": null, "status": "status_9"}}, {"Story": {"id": "1158335167004802626", "name": "技术基建-XianDebugger", "due": null, "status": "status_5"}}, {"Story": {"id": "1158335167004800837", "name": "VAT贴图Foramt以及各种选项的意义", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004800834", "name": "VAT贴图尺寸和种类优化", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800832", "name": "VAT内存优化", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004800829", "name": "内存Profiling", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800828", "name": "内存优化", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800819", "name": "Async优化Lumen反射", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800816", "name": "优化Lumen反射包括水的反射性能", "due": null, "status": "status_8"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:56:48", "task": "task3", "sync_id": "task3_20260312_115648_2838ddca", "module": "tapd", "operation": "stories", "success": true, "request": {"workspace_id": "58335167", "owner": "mithril", "fields": "id,name,due,status"}, "response": {"status": 1, "data": [{"Story": {"id": "1158335167004865833", "name": "客户端审核 - 噬金虫相关功能", "due": "2026-03-13", "status": "status_7"}}, {"Story": {"id": "1158335167004840448", "name": "技能触发条件接入及联调。", "due": "2026-01-31", "status": "status_8"}}, {"Story": {"id": "1158335167004838325", "name": "AI Codereview", "due": "2026-05-30", "status": "status_5"}}, {"Story": {"id": "1158335167004838322", "name": "界面调整迭代", "due": "2026-02-28", "status": "status_8"}}, {"Story": {"id": "1158335167004838321", "name": "重构MainMenu", "due": "2026-02-28", "status": "status_8"}}, {"Story": {"id": "1158335167004838320", "name": "common ui调研手机端测试", "due": "2026-03-20", "status": "status_7"}}, {"Story": {"id": "1158335167004836875", "name": "- 技能槽位系统重构-迭代", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004834469", "name": "Horde编译失败群通知", "due": "2026-05-30", "status": "status_9"}}, {"Story": {"id": "1158335167004834468", "name": "Horde 自动触发逻辑", "due": "2026-05-30", "status": "status_9"}}, {"Story": {"id": "1158335167004829003", "name": "补全运行时日志", "due": "2026-04-03", "status": "status_7"}}, {"Story": {"id": "1158335167004828993", "name": "接入xiandebug可预览运行时子弹及相关数据", "due": "2026-04-03", "status": "status_7"}}, {"Story": {"id": "1158335167004828719", "name": "客户端审核 - 武器装备-UI逻辑", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004828716", "name": "客户端审核 - 法宝装备-UI逻辑", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004828709", "name": "客户端审核 - 武器装备界面逻辑", "due": "2026-03-13", "status": "status_12"}}, {"Story": {"id": "1158335167004828708", "name": "客户端审核 - 法宝装备界面逻辑", "due": "2026-03-13", "status": "status_12"}}, {"Story": {"id": "1158335167004828679", "name": "客户端审核 - 消耗品使用逻辑", "due": "2026-03-06", "status": "status_5"}}, {"Story": {"id": "1158335167004828673", "name": "客户端审核 - SkillSlotMgr新逻辑迭代", "due": "2026-01-28", "status": "status_8"}}, {"Story": {"id": "1158335167004828672", "name": "客户端审核 - 武器槽位映射逻辑重构", "due": "2026-01-30", "status": "status_8"}}, {"Story": {"id": "1158335167004827634", "name": "客户端审核 - 绑定Ability——左右键、派生技、武器战技和武器通用技能", "due": "2026-03-22", "status": "status_5"}}, {"Story": {"id": "1158335167004827625", "name": "客户端审核 - 可追踪角度、追踪速度等参数可靠性优化", "due": "2026-04-04", "status": "status_7"}}, {"Story": {"id": "1158335167004827584", "name": "客户端审核 - 根据血量裂纹和破碎效果", "due": "2026-04-11", "status": "status_7"}}, {"Story": {"id": "1158335167004827583", "name": "客户端审核 - 表现优化,接入动画资源", "due": "2026-04-10", "status": "status_7"}}, {"Story": {"id": "1158335167004806717", "name": "分支上增加显示玩家名称的功能", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800802", "name": "PSO收集", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004794635", "name": "客户端审核 - 格挡功能-子弹奉还", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004794632", "name": "客户端审核 - 弹道系统现有配置优化", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004794631", "name": "客户端审核 - 弹道系统优化- 激光类bullet", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004794629", "name": "客户端审核 - 弹道系统优化- AOE伤害&子弹爆炸", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004792154", "name": "玄铁飞天盾 - 格挡成功超出弧度生成多个盾后若当前盾X秒内未再次受击则消散直到仅剩下一个盾时回到1倍大小", "due": "2026-04-10", "status": "status_7"}}, {"Story": {"id": "1158335167004792153", "name": "玄铁飞天盾 - 格挡成功后X秒内未再次受击则平滑往环绕半径轨道上移动", "due": "2026-04-10", "status": "status_7"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:56:49", "task": "task3", "sync_id": "task3_20260312_115648_2838ddca", "module": "tapd", "operation": "bugs", "success": true, "request": {"workspace_id": "58335167", "current_owner": "BardLin", "fields": "id,title,deadline,status"}, "response": {"status": 1, "data": [{"Bug": {"id": "1158335167002283694", "title": "受击动画中root质心需要跟随人物模型运动如击飞、击浮空时root需要向上跟随否则浮空连击时敌人位置会频繁上下跳动。", "deadline": "2025-12-05", "status": "closed"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:56:49", "task": "task3", "sync_id": "task3_20260312_115648_2838ddca", "module": "tapd", "operation": "bugs", "success": true, "request": {"workspace_id": "58335167", "current_owner": "星渊", "fields": "id,title,deadline,status"}, "response": {"status": 1, "data": [{"Bug": {"id": "1158335167002296797", "title": "优化性能分辨率提升为1080P静态帧率基本稳定60fps", "deadline": "2025-12-22", "status": "closed"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:56:49", "task": "task3", "sync_id": "task3_20260312_115648_2838ddca", "module": "tapd", "operation": "bugs", "success": true, "request": {"workspace_id": "58335167", "current_owner": "mithril", "fields": "id,title,deadline,status"}, "response": {"status": 1, "data": [{"Bug": {"id": "1158335167002280921", "title": "【UI】【单机】血条UI歪了不在屏幕正中间了@mithril(hanjingchao)", "deadline": "2025-12-01", "status": "closed"}}, {"Bug": {"id": "1158335167002280929", "title": "【联机】【弹道】左键第三段,第四段,飞剑子弹数量会丢失几根@mithril(hanjingchao)", "deadline": "2025-12-02", "status": "closed"}}, {"Bug": {"id": "1158335167002280930", "title": "【联机】【弹道】子弹受击特效丢失了@mithril(hanjingchao)", "deadline": "2025-12-01", "status": "closed"}}, {"Bug": {"id": "1158335167002280931", "title": "【联机】【UI】对方的体力条会显示得特别大@mithril(hanjingchao)", "deadline": "2025-12-02", "status": "closed"}}, {"Bug": {"id": "1158335167002283432", "title": "更新之后,放左键,没目标时弹道坏了,不会正确追踪地形", "deadline": "2025-12-09", "status": "closed"}}, {"Bug": {"id": "1158335167002287668", "title": "格挡成功后,延迟时间内盾也要保证和角色相对移动,(当前是会静止在原地,不跟随角色移动)", "deadline": "2025-12-12", "status": "closed"}}, {"Bug": {"id": "1158335167002287671", "title": "格挡成功后,延迟时间内再次格挡,则要刷新当前延迟时间(当前延迟时间内再次受击,延迟时间感觉并没有被刷新)", "deadline": "2025-12-16", "status": "closed"}}, {"Bug": {"id": "1158335167002287675", "title": "在新生成盾时,盾的内外表现不对,且旋转方向不对", "deadline": "2025-12-12", "status": "closed"}}, {"Bug": {"id": "1158335167002294091", "title": "【联机】【符箓】土牢符会把自己困住", "deadline": "2025-12-18", "status": "closed"}}, {"Bug": {"id": "1158335167002294096", "title": "【联机】【法宝】飞天盾会挡住自己的子弹", "deadline": "2025-12-18", "status": "closed"}}, {"Bug": {"id": "1158335167002295354", "title": "飞天盾相关bug - 子弹会穿盾,对角色造成伤害", "deadline": "2025-12-20", "status": "closed"}}, {"Bug": {"id": "1158335167002295358", "title": "限制生成初始总数量为1避免多次使用生成多个盾再次使用时刷新盾血量和持续时间", "deadline": "2025-12-20", "status": "closed"}}, {"Bug": {"id": "1158335167002295360", "title": "飞天盾相关bug - 持续时间配置,避免盾一直不消失", "deadline": "2025-12-20", "status": "closed"}}, {"Bug": {"id": "1158335167002296688", "title": "【BUG】包里能不能默认 DisableAllScreenMessages", "deadline": "2025-12-22", "status": "closed"}}, {"Bug": {"id": "1158335167002297733", "title": "【高-BUG】左键普攻第四段飞剑命中后会延迟一会才消失希望和前三段一样快速消失", "deadline": "2025-12-25", "status": "closed"}}, {"Bug": {"id": "1158335167002299602", "title": "【高-BUG】土牢符的符纸自己能锁定", "deadline": "2025-12-27", "status": "closed"}}, {"Bug": {"id": "1158335167002300378", "title": "【bug】土牢符陷阱现在不开神识探查也能看见", "deadline": "2025-12-30", "status": "in_progress"}}, {"Bug": {"id": "1158335167002300531", "title": "【致命-BUG】按G会Crash复现较为频繁", "deadline": "2025-12-28", "status": "closed"}}, {"Bug": {"id": "1158335167002300717", "title": "【高-BUG】巨剑术诀子弹命中海王兽场景海面底下的地面时没有正确触发overlap事件停在表面并播特效", "deadline": "2025-12-31", "status": "closed"}}, {"Bug": {"id": "1158335167002300837", "title": "【高-bug】MoveToTargetEX触发的时候能直接从土牢符里穿出来需要正常阻挡自身和目标穿出土牢符", "deadline": "2025-12-31", "status": "closed"}}, {"Bug": {"id": "1158335167002304061", "title": "【需Merge分支】【高-BUG】【联机】现在破定期间Q环绕飞剑只环绕一次就消失了。", "deadline": "2026-01-07", "status": "closed"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:56:50", "task": "task3", "sync_id": "task3_20260312_115648_2838ddca", "module": "wework", "operation": "webhook/send", "success": true, "request": {"msgtype": "markdown", "markdown": {"content": "⏰ TAPD 过期单提醒2026-03-12\n\n<@BardLin>12 条过期)\n1.【需求】主角战斗 - 动作资源 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004787973)\n2.【需求】空中待机 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004774664)\n3.【需求】雷属性受击 - 起始 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004774629)\n4.【需求】雷属性受击 - 循环 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004774628)\n5.【需求】飞遁动画 | 过期 41 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004828079)\n6.【需求】右键垫步突进 | 过期 34 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827909)\n7.【需求】青凝镜-回收Layout | 过期 13 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827996)\n8.【需求】青凝镜-检视表演Layout | 过期 12 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827991)\n9.【需求】青凝镜-召唤Layout | 过期 12 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827989)\n10.【需求】空中右键下劈 | 过期 12 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827910)\n11.【需求】噬金虫召唤动画Layout | 过期 3 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827929)\n12.【需求】3C-基础移动-Bug-Dodge卡帧 | 过期 2 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004866823)\n=======\n<@mi>2 条过期)\n13.【缺陷】【bug】土牢符陷阱现在不开神识探查也能看见 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/bugtrace/bugs/view?bug_id=1158335167002300378)\n14.【需求】客户端审核 - 消耗品使用逻辑 | 过期 6 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004828679)\n=======\n<@xingyuan>13 条过期)\n15.【需求】AS脚本Bind扩展 | 过期 37 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839302)\n16.【需求】尝试AS写Validator | 过期 37 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839301)\n17.【需求】Data Validator框架 | 过期 37 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839234)\n18.【需求】材质Mask模式不受motion blur影响 | 过期 35 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839323)\n19.【需求】KawaiiMagicAnimVelet调研 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839272)\n20.【需求】Chaos布料算法调研 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839270)\n21.【需求】编译Android版 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839267)\n22.【需求】对GPU解算进行改近 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839266)\n23.【需求】理解GPU算法 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839259)\n24.【需求】调试和理解NvCloth算法 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839246)\n25.【需求】NvCloth调研 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839241)\n26.【需求】布料解算基建 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839239)\n27.【需求】3C-基础移动-Bug-Dodge卡帧 | 过期 2 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004866823)\n=======\n共 27 条过期单,请今日内更新状态 🙏"}, "mentioned_list": ["BardLin", "mi", "xingyuan"]}, "response": {"errcode": 0, "errmsg": "ok"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "end_sync", "timestamp": "2026-03-12 11:56:50", "task": "task3", "sync_id": "task3_20260312_115648_2838ddca", "success": true, "stats": {"overdue_count": 27}, "error_message": null, "extra": {}}
{"event_type": "start_sync", "timestamp": "2026-03-12 11:57:28", "task": "task3", "sync_id": "task3_20260312_115728_e7f36b8f", "trigger": "manual", "metadata": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:57:29", "task": "task3", "sync_id": "task3_20260312_115728_e7f36b8f", "module": "tapd", "operation": "stories", "success": true, "request": {"workspace_id": "58335167", "owner": "BardLin", "fields": "id,name,due,status"}, "response": {"status": 1, "data": [{"Story": {"id": "1158335167004866823", "name": "3C-基础移动-Bug-Dodge卡帧", "due": "2026-03-10", "status": "status_9"}}, {"Story": {"id": "1158335167004834011", "name": "【动画】2026年1月 - 凡人各组月度产出梳理", "due": "2026-01-28", "status": "status_8"}}, {"Story": {"id": "1158335167004828079", "name": "飞遁动画", "due": "2026-01-30", "status": "status_9"}}, {"Story": {"id": "1158335167004828030", "name": "大啼魂-初绑", "due": "2026-03-02", "status": "status_8"}}, {"Story": {"id": "1158335167004827998", "name": "血色披风预研", "due": "2026-02-14", "status": "status_8"}}, {"Story": {"id": "1158335167004827996", "name": "青凝镜-回收Layout", "due": "2026-02-27", "status": "status_9"}}, {"Story": {"id": "1158335167004827994", "name": "青凝镜-待机", "due": "2026-03-20", "status": "status_9"}}, {"Story": {"id": "1158335167004827991", "name": "青凝镜-检视表演Layout", "due": "2026-02-28", "status": "status_9"}}, {"Story": {"id": "1158335167004827989", "name": "青凝镜-召唤Layout", "due": "2026-02-28", "status": "status_9"}}, {"Story": {"id": "1158335167004827987", "name": "青凝镜-初绑", "due": "2026-01-30", "status": "status_8"}}, {"Story": {"id": "1158335167004827946", "name": "玄铁飞天盾-初绑", "due": "2026-01-23", "status": "status_8"}}, {"Story": {"id": "1158335167004827929", "name": "噬金虫召唤动画Layout", "due": "2026-03-09", "status": "status_9"}}, {"Story": {"id": "1158335167004827926", "name": "噬金虫召-初绑", "due": "2026-01-26", "status": "status_8"}}, {"Story": {"id": "1158335167004827921", "name": "飞剑-解控", "due": "2026-03-27", "status": "status_9"}}, {"Story": {"id": "1158335167004827920", "name": "飞剑-检视表演", "due": "2026-03-27", "status": "status_7"}}, {"Story": {"id": "1158335167004827919", "name": "飞剑-检视表演Layout", "due": "2026-03-13", "status": "status_7"}}, {"Story": {"id": "1158335167004827914", "name": "剑影分光·闪回", "due": "2026-03-27", "status": "status_9"}}, {"Story": {"id": "1158335167004827912", "name": "剑影分光·上挑", "due": "2026-03-27", "status": "status_9"}}, {"Story": {"id": "1158335167004827910", "name": "空中右键下劈", "due": "2026-02-28", "status": "status_5"}}, {"Story": {"id": "1158335167004827909", "name": "右键垫步突进", "due": "2026-02-06", "status": "status_5"}}, {"Story": {"id": "1158335167004827852", "name": "动画制作 - 【法宝】青竹蜂云剑", "due": "2026-03-28", "status": "status_7"}}, {"Story": {"id": "1158335167004816915", "name": "3C-飞遁 - 状态机重构", "due": "2026-01-09", "status": "status_8"}}, {"Story": {"id": "1158335167004815661", "name": "3C-飞遁 - W输入HighSpeed状态", "due": "2026-01-09", "status": "status_8"}}, {"Story": {"id": "1158335167004787978", "name": "通用受击 - 动作资源", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004787977", "name": "海王兽 - 动作资源", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004787973", "name": "主角战斗 - 动作资源", "due": "2025-12-30", "status": "status_7"}}, {"Story": {"id": "1158335167004774665", "name": "地面待机", "due": "2025-12-30", "status": "status_8"}}, {"Story": {"id": "1158335167004774664", "name": "空中待机", "due": "2025-12-30", "status": "status_7"}}, {"Story": {"id": "1158335167004774629", "name": "雷属性受击 - 起始", "due": "2025-12-30", "status": "status_7"}}, {"Story": {"id": "1158335167004774628", "name": "雷属性受击 - 循环", "due": "2025-12-30", "status": "status_7"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:57:29", "task": "task3", "sync_id": "task3_20260312_115728_e7f36b8f", "module": "tapd", "operation": "stories", "success": true, "request": {"workspace_id": "58335167", "owner": "星渊", "fields": "id,name,due,status"}, "response": {"status": 1, "data": [{"Story": {"id": "1158335167004866823", "name": "3C-基础移动-Bug-Dodge卡帧", "due": "2026-03-10", "status": "status_9"}}, {"Story": {"id": "1158335167004839323", "name": "材质Mask模式不受motion blur影响", "due": "2026-02-05", "status": "status_9"}}, {"Story": {"id": "1158335167004839302", "name": "AS脚本Bind扩展", "due": "2026-02-03", "status": "status_10"}}, {"Story": {"id": "1158335167004839301", "name": "尝试AS写Validator", "due": "2026-02-03", "status": "status_10"}}, {"Story": {"id": "1158335167004839299", "name": "简单Sample跑下流程", "due": "2026-02-03", "status": "status_8"}}, {"Story": {"id": "1158335167004839298", "name": "文档阅读", "due": "2026-02-03", "status": "status_8"}}, {"Story": {"id": "1158335167004839272", "name": "KawaiiMagicAnimVelet调研", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839270", "name": "Chaos布料算法调研", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839267", "name": "编译Android版", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839266", "name": "对GPU解算进行改近", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839263", "name": "育碧GPU布料结算的GDC Paper", "due": "2026-02-13", "status": "status_8"}}, {"Story": {"id": "1158335167004839259", "name": "理解GPU算法", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839251", "name": "增加Profiler", "due": "2026-02-13", "status": "status_8"}}, {"Story": {"id": "1158335167004839246", "name": "调试和理解NvCloth算法", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839242", "name": "编译NvCloth", "due": "2026-02-13", "status": "status_8"}}, {"Story": {"id": "1158335167004839241", "name": "NvCloth调研", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839239", "name": "布料解算基建", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839234", "name": "Data Validator框架", "due": "2026-02-03", "status": "status_5"}}, {"Story": {"id": "1158335167004834466", "name": "Horde相关-持续开发项", "due": "2026-05-30", "status": "status_5"}}, {"Story": {"id": "1158335167004834018", "name": "【引擎/TA】2026年1月 - 凡人各组月度产出梳理", "due": "2026-01-28", "status": "status_8"}}, {"Story": {"id": "1158335167004828309", "name": "技术基建-基础可过滤编辑器控件开发", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004802628", "name": "技术基建-XianDebugger-法术场Debugger", "due": null, "status": "status_9"}}, {"Story": {"id": "1158335167004802626", "name": "技术基建-XianDebugger", "due": null, "status": "status_5"}}, {"Story": {"id": "1158335167004800837", "name": "VAT贴图Foramt以及各种选项的意义", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004800834", "name": "VAT贴图尺寸和种类优化", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800832", "name": "VAT内存优化", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004800829", "name": "内存Profiling", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800828", "name": "内存优化", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800819", "name": "Async优化Lumen反射", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800816", "name": "优化Lumen反射包括水的反射性能", "due": null, "status": "status_8"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:57:29", "task": "task3", "sync_id": "task3_20260312_115728_e7f36b8f", "module": "tapd", "operation": "stories", "success": true, "request": {"workspace_id": "58335167", "owner": "mithril", "fields": "id,name,due,status"}, "response": {"status": 1, "data": [{"Story": {"id": "1158335167004865833", "name": "客户端审核 - 噬金虫相关功能", "due": "2026-03-13", "status": "status_7"}}, {"Story": {"id": "1158335167004840448", "name": "技能触发条件接入及联调。", "due": "2026-01-31", "status": "status_8"}}, {"Story": {"id": "1158335167004838325", "name": "AI Codereview", "due": "2026-05-30", "status": "status_5"}}, {"Story": {"id": "1158335167004838322", "name": "界面调整迭代", "due": "2026-02-28", "status": "status_8"}}, {"Story": {"id": "1158335167004838321", "name": "重构MainMenu", "due": "2026-02-28", "status": "status_8"}}, {"Story": {"id": "1158335167004838320", "name": "common ui调研手机端测试", "due": "2026-03-20", "status": "status_7"}}, {"Story": {"id": "1158335167004836875", "name": "- 技能槽位系统重构-迭代", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004834469", "name": "Horde编译失败群通知", "due": "2026-05-30", "status": "status_9"}}, {"Story": {"id": "1158335167004834468", "name": "Horde 自动触发逻辑", "due": "2026-05-30", "status": "status_9"}}, {"Story": {"id": "1158335167004829003", "name": "补全运行时日志", "due": "2026-04-03", "status": "status_7"}}, {"Story": {"id": "1158335167004828993", "name": "接入xiandebug可预览运行时子弹及相关数据", "due": "2026-04-03", "status": "status_7"}}, {"Story": {"id": "1158335167004828719", "name": "客户端审核 - 武器装备-UI逻辑", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004828716", "name": "客户端审核 - 法宝装备-UI逻辑", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004828709", "name": "客户端审核 - 武器装备界面逻辑", "due": "2026-03-13", "status": "status_12"}}, {"Story": {"id": "1158335167004828708", "name": "客户端审核 - 法宝装备界面逻辑", "due": "2026-03-13", "status": "status_12"}}, {"Story": {"id": "1158335167004828679", "name": "客户端审核 - 消耗品使用逻辑", "due": "2026-03-06", "status": "status_5"}}, {"Story": {"id": "1158335167004828673", "name": "客户端审核 - SkillSlotMgr新逻辑迭代", "due": "2026-01-28", "status": "status_8"}}, {"Story": {"id": "1158335167004828672", "name": "客户端审核 - 武器槽位映射逻辑重构", "due": "2026-01-30", "status": "status_8"}}, {"Story": {"id": "1158335167004827634", "name": "客户端审核 - 绑定Ability——左右键、派生技、武器战技和武器通用技能", "due": "2026-03-22", "status": "status_5"}}, {"Story": {"id": "1158335167004827625", "name": "客户端审核 - 可追踪角度、追踪速度等参数可靠性优化", "due": "2026-04-04", "status": "status_7"}}, {"Story": {"id": "1158335167004827584", "name": "客户端审核 - 根据血量裂纹和破碎效果", "due": "2026-04-11", "status": "status_7"}}, {"Story": {"id": "1158335167004827583", "name": "客户端审核 - 表现优化,接入动画资源", "due": "2026-04-10", "status": "status_7"}}, {"Story": {"id": "1158335167004806717", "name": "分支上增加显示玩家名称的功能", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800802", "name": "PSO收集", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004794635", "name": "客户端审核 - 格挡功能-子弹奉还", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004794632", "name": "客户端审核 - 弹道系统现有配置优化", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004794631", "name": "客户端审核 - 弹道系统优化- 激光类bullet", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004794629", "name": "客户端审核 - 弹道系统优化- AOE伤害&子弹爆炸", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004792154", "name": "玄铁飞天盾 - 格挡成功超出弧度生成多个盾后若当前盾X秒内未再次受击则消散直到仅剩下一个盾时回到1倍大小", "due": "2026-04-10", "status": "status_7"}}, {"Story": {"id": "1158335167004792153", "name": "玄铁飞天盾 - 格挡成功后X秒内未再次受击则平滑往环绕半径轨道上移动", "due": "2026-04-10", "status": "status_7"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:57:29", "task": "task3", "sync_id": "task3_20260312_115728_e7f36b8f", "module": "tapd", "operation": "bugs", "success": true, "request": {"workspace_id": "58335167", "current_owner": "BardLin", "fields": "id,title,deadline,status"}, "response": {"status": 1, "data": [{"Bug": {"id": "1158335167002283694", "title": "受击动画中root质心需要跟随人物模型运动如击飞、击浮空时root需要向上跟随否则浮空连击时敌人位置会频繁上下跳动。", "deadline": "2025-12-05", "status": "closed"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:57:29", "task": "task3", "sync_id": "task3_20260312_115728_e7f36b8f", "module": "tapd", "operation": "bugs", "success": true, "request": {"workspace_id": "58335167", "current_owner": "星渊", "fields": "id,title,deadline,status"}, "response": {"status": 1, "data": [{"Bug": {"id": "1158335167002296797", "title": "优化性能分辨率提升为1080P静态帧率基本稳定60fps", "deadline": "2025-12-22", "status": "closed"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:57:29", "task": "task3", "sync_id": "task3_20260312_115728_e7f36b8f", "module": "tapd", "operation": "bugs", "success": true, "request": {"workspace_id": "58335167", "current_owner": "mithril", "fields": "id,title,deadline,status"}, "response": {"status": 1, "data": [{"Bug": {"id": "1158335167002280921", "title": "【UI】【单机】血条UI歪了不在屏幕正中间了@mithril(hanjingchao)", "deadline": "2025-12-01", "status": "closed"}}, {"Bug": {"id": "1158335167002280929", "title": "【联机】【弹道】左键第三段,第四段,飞剑子弹数量会丢失几根@mithril(hanjingchao)", "deadline": "2025-12-02", "status": "closed"}}, {"Bug": {"id": "1158335167002280930", "title": "【联机】【弹道】子弹受击特效丢失了@mithril(hanjingchao)", "deadline": "2025-12-01", "status": "closed"}}, {"Bug": {"id": "1158335167002280931", "title": "【联机】【UI】对方的体力条会显示得特别大@mithril(hanjingchao)", "deadline": "2025-12-02", "status": "closed"}}, {"Bug": {"id": "1158335167002283432", "title": "更新之后,放左键,没目标时弹道坏了,不会正确追踪地形", "deadline": "2025-12-09", "status": "closed"}}, {"Bug": {"id": "1158335167002287668", "title": "格挡成功后,延迟时间内盾也要保证和角色相对移动,(当前是会静止在原地,不跟随角色移动)", "deadline": "2025-12-12", "status": "closed"}}, {"Bug": {"id": "1158335167002287671", "title": "格挡成功后,延迟时间内再次格挡,则要刷新当前延迟时间(当前延迟时间内再次受击,延迟时间感觉并没有被刷新)", "deadline": "2025-12-16", "status": "closed"}}, {"Bug": {"id": "1158335167002287675", "title": "在新生成盾时,盾的内外表现不对,且旋转方向不对", "deadline": "2025-12-12", "status": "closed"}}, {"Bug": {"id": "1158335167002294091", "title": "【联机】【符箓】土牢符会把自己困住", "deadline": "2025-12-18", "status": "closed"}}, {"Bug": {"id": "1158335167002294096", "title": "【联机】【法宝】飞天盾会挡住自己的子弹", "deadline": "2025-12-18", "status": "closed"}}, {"Bug": {"id": "1158335167002295354", "title": "飞天盾相关bug - 子弹会穿盾,对角色造成伤害", "deadline": "2025-12-20", "status": "closed"}}, {"Bug": {"id": "1158335167002295358", "title": "限制生成初始总数量为1避免多次使用生成多个盾再次使用时刷新盾血量和持续时间", "deadline": "2025-12-20", "status": "closed"}}, {"Bug": {"id": "1158335167002295360", "title": "飞天盾相关bug - 持续时间配置,避免盾一直不消失", "deadline": "2025-12-20", "status": "closed"}}, {"Bug": {"id": "1158335167002296688", "title": "【BUG】包里能不能默认 DisableAllScreenMessages", "deadline": "2025-12-22", "status": "closed"}}, {"Bug": {"id": "1158335167002297733", "title": "【高-BUG】左键普攻第四段飞剑命中后会延迟一会才消失希望和前三段一样快速消失", "deadline": "2025-12-25", "status": "closed"}}, {"Bug": {"id": "1158335167002299602", "title": "【高-BUG】土牢符的符纸自己能锁定", "deadline": "2025-12-27", "status": "closed"}}, {"Bug": {"id": "1158335167002300378", "title": "【bug】土牢符陷阱现在不开神识探查也能看见", "deadline": "2025-12-30", "status": "in_progress"}}, {"Bug": {"id": "1158335167002300531", "title": "【致命-BUG】按G会Crash复现较为频繁", "deadline": "2025-12-28", "status": "closed"}}, {"Bug": {"id": "1158335167002300717", "title": "【高-BUG】巨剑术诀子弹命中海王兽场景海面底下的地面时没有正确触发overlap事件停在表面并播特效", "deadline": "2025-12-31", "status": "closed"}}, {"Bug": {"id": "1158335167002300837", "title": "【高-bug】MoveToTargetEX触发的时候能直接从土牢符里穿出来需要正常阻挡自身和目标穿出土牢符", "deadline": "2025-12-31", "status": "closed"}}, {"Bug": {"id": "1158335167002304061", "title": "【需Merge分支】【高-BUG】【联机】现在破定期间Q环绕飞剑只环绕一次就消失了。", "deadline": "2026-01-07", "status": "closed"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 11:57:30", "task": "task3", "sync_id": "task3_20260312_115728_e7f36b8f", "module": "wework", "operation": "webhook/send", "success": true, "request": {"msgtype": "markdown", "markdown": {"content": "⏰ TAPD 过期单提醒2026-03-12\n\n<@BardLin>12 条过期)\n1.【需求】主角战斗 - 动作资源 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004787973)\n2.【需求】空中待机 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004774664)\n3.【需求】雷属性受击 - 起始 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004774629)\n4.【需求】雷属性受击 - 循环 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004774628)\n5.【需求】飞遁动画 | 过期 41 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004828079)\n6.【需求】右键垫步突进 | 过期 34 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827909)\n7.【需求】青凝镜-回收Layout | 过期 13 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827996)\n8.【需求】青凝镜-检视表演Layout | 过期 12 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827991)\n9.【需求】青凝镜-召唤Layout | 过期 12 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827989)\n10.【需求】空中右键下劈 | 过期 12 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827910)\n11.【需求】噬金虫召唤动画Layout | 过期 3 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827929)\n12.【需求】3C-基础移动-Bug-Dodge卡帧 | 过期 2 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004866823)\n---\n<@mi>2 条过期)\n13.【缺陷】【bug】土牢符陷阱现在不开神识探查也能看见 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/bugtrace/bugs/view?bug_id=1158335167002300378)\n14.【需求】客户端审核 - 消耗品使用逻辑 | 过期 6 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004828679)\n---\n<@xingyuan>13 条过期)\n15.【需求】AS脚本Bind扩展 | 过期 37 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839302)\n16.【需求】尝试AS写Validator | 过期 37 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839301)\n17.【需求】Data Validator框架 | 过期 37 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839234)\n18.【需求】材质Mask模式不受motion blur影响 | 过期 35 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839323)\n19.【需求】KawaiiMagicAnimVelet调研 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839272)\n20.【需求】Chaos布料算法调研 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839270)\n21.【需求】编译Android版 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839267)\n22.【需求】对GPU解算进行改近 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839266)\n23.【需求】理解GPU算法 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839259)\n24.【需求】调试和理解NvCloth算法 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839246)\n25.【需求】NvCloth调研 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839241)\n26.【需求】布料解算基建 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839239)\n27.【需求】3C-基础移动-Bug-Dodge卡帧 | 过期 2 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004866823)\n---\n共 27 条过期单,请今日内更新状态 🙏"}, "mentioned_list": ["BardLin", "mi", "xingyuan"]}, "response": {"errcode": 0, "errmsg": "ok"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "end_sync", "timestamp": "2026-03-12 11:57:30", "task": "task3", "sync_id": "task3_20260312_115728_e7f36b8f", "success": true, "stats": {"overdue_count": 27}, "error_message": null, "extra": {}}
{"event_type": "start_sync", "timestamp": "2026-03-12 12:03:15", "task": "task3", "sync_id": "task3_20260312_120315_576256a6", "trigger": "manual", "metadata": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 12:03:16", "task": "task3", "sync_id": "task3_20260312_120315_576256a6", "module": "tapd", "operation": "stories", "success": true, "request": {"workspace_id": "58335167", "owner": "BardLin", "fields": "id,name,due,status"}, "response": {"status": 1, "data": [{"Story": {"id": "1158335167004866823", "name": "3C-基础移动-Bug-Dodge卡帧", "due": "2026-03-10", "status": "status_9"}}, {"Story": {"id": "1158335167004834011", "name": "【动画】2026年1月 - 凡人各组月度产出梳理", "due": "2026-01-28", "status": "status_8"}}, {"Story": {"id": "1158335167004828079", "name": "飞遁动画", "due": "2026-01-30", "status": "status_9"}}, {"Story": {"id": "1158335167004828030", "name": "大啼魂-初绑", "due": "2026-03-02", "status": "status_8"}}, {"Story": {"id": "1158335167004827998", "name": "血色披风预研", "due": "2026-02-14", "status": "status_8"}}, {"Story": {"id": "1158335167004827996", "name": "青凝镜-回收Layout", "due": "2026-02-27", "status": "status_9"}}, {"Story": {"id": "1158335167004827994", "name": "青凝镜-待机", "due": "2026-03-20", "status": "status_9"}}, {"Story": {"id": "1158335167004827991", "name": "青凝镜-检视表演Layout", "due": "2026-02-28", "status": "status_9"}}, {"Story": {"id": "1158335167004827989", "name": "青凝镜-召唤Layout", "due": "2026-02-28", "status": "status_9"}}, {"Story": {"id": "1158335167004827987", "name": "青凝镜-初绑", "due": "2026-01-30", "status": "status_8"}}, {"Story": {"id": "1158335167004827946", "name": "玄铁飞天盾-初绑", "due": "2026-01-23", "status": "status_8"}}, {"Story": {"id": "1158335167004827929", "name": "噬金虫召唤动画Layout", "due": "2026-03-09", "status": "status_9"}}, {"Story": {"id": "1158335167004827926", "name": "噬金虫召-初绑", "due": "2026-01-26", "status": "status_8"}}, {"Story": {"id": "1158335167004827921", "name": "飞剑-解控", "due": "2026-03-27", "status": "status_9"}}, {"Story": {"id": "1158335167004827920", "name": "飞剑-检视表演", "due": "2026-03-27", "status": "status_7"}}, {"Story": {"id": "1158335167004827919", "name": "飞剑-检视表演Layout", "due": "2026-03-13", "status": "status_7"}}, {"Story": {"id": "1158335167004827914", "name": "剑影分光·闪回", "due": "2026-03-27", "status": "status_9"}}, {"Story": {"id": "1158335167004827912", "name": "剑影分光·上挑", "due": "2026-03-27", "status": "status_9"}}, {"Story": {"id": "1158335167004827910", "name": "空中右键下劈", "due": "2026-02-28", "status": "status_5"}}, {"Story": {"id": "1158335167004827909", "name": "右键垫步突进", "due": "2026-02-06", "status": "status_5"}}, {"Story": {"id": "1158335167004827852", "name": "动画制作 - 【法宝】青竹蜂云剑", "due": "2026-03-28", "status": "status_7"}}, {"Story": {"id": "1158335167004816915", "name": "3C-飞遁 - 状态机重构", "due": "2026-01-09", "status": "status_8"}}, {"Story": {"id": "1158335167004815661", "name": "3C-飞遁 - W输入HighSpeed状态", "due": "2026-01-09", "status": "status_8"}}, {"Story": {"id": "1158335167004787978", "name": "通用受击 - 动作资源", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004787977", "name": "海王兽 - 动作资源", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004787973", "name": "主角战斗 - 动作资源", "due": "2025-12-30", "status": "status_7"}}, {"Story": {"id": "1158335167004774665", "name": "地面待机", "due": "2025-12-30", "status": "status_8"}}, {"Story": {"id": "1158335167004774664", "name": "空中待机", "due": "2025-12-30", "status": "status_7"}}, {"Story": {"id": "1158335167004774629", "name": "雷属性受击 - 起始", "due": "2025-12-30", "status": "status_7"}}, {"Story": {"id": "1158335167004774628", "name": "雷属性受击 - 循环", "due": "2025-12-30", "status": "status_7"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 12:03:16", "task": "task3", "sync_id": "task3_20260312_120315_576256a6", "module": "tapd", "operation": "stories", "success": true, "request": {"workspace_id": "58335167", "owner": "星渊", "fields": "id,name,due,status"}, "response": {"status": 1, "data": [{"Story": {"id": "1158335167004866823", "name": "3C-基础移动-Bug-Dodge卡帧", "due": "2026-03-10", "status": "status_9"}}, {"Story": {"id": "1158335167004839323", "name": "材质Mask模式不受motion blur影响", "due": "2026-02-05", "status": "status_9"}}, {"Story": {"id": "1158335167004839302", "name": "AS脚本Bind扩展", "due": "2026-02-03", "status": "status_10"}}, {"Story": {"id": "1158335167004839301", "name": "尝试AS写Validator", "due": "2026-02-03", "status": "status_10"}}, {"Story": {"id": "1158335167004839299", "name": "简单Sample跑下流程", "due": "2026-02-03", "status": "status_8"}}, {"Story": {"id": "1158335167004839298", "name": "文档阅读", "due": "2026-02-03", "status": "status_8"}}, {"Story": {"id": "1158335167004839272", "name": "KawaiiMagicAnimVelet调研", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839270", "name": "Chaos布料算法调研", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839267", "name": "编译Android版", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839266", "name": "对GPU解算进行改近", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839263", "name": "育碧GPU布料结算的GDC Paper", "due": "2026-02-13", "status": "status_8"}}, {"Story": {"id": "1158335167004839259", "name": "理解GPU算法", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839251", "name": "增加Profiler", "due": "2026-02-13", "status": "status_8"}}, {"Story": {"id": "1158335167004839246", "name": "调试和理解NvCloth算法", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839242", "name": "编译NvCloth", "due": "2026-02-13", "status": "status_8"}}, {"Story": {"id": "1158335167004839241", "name": "NvCloth调研", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839239", "name": "布料解算基建", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839234", "name": "Data Validator框架", "due": "2026-02-03", "status": "status_5"}}, {"Story": {"id": "1158335167004834466", "name": "Horde相关-持续开发项", "due": "2026-05-30", "status": "status_5"}}, {"Story": {"id": "1158335167004834018", "name": "【引擎/TA】2026年1月 - 凡人各组月度产出梳理", "due": "2026-01-28", "status": "status_8"}}, {"Story": {"id": "1158335167004828309", "name": "技术基建-基础可过滤编辑器控件开发", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004802628", "name": "技术基建-XianDebugger-法术场Debugger", "due": null, "status": "status_9"}}, {"Story": {"id": "1158335167004802626", "name": "技术基建-XianDebugger", "due": null, "status": "status_5"}}, {"Story": {"id": "1158335167004800837", "name": "VAT贴图Foramt以及各种选项的意义", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004800834", "name": "VAT贴图尺寸和种类优化", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800832", "name": "VAT内存优化", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004800829", "name": "内存Profiling", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800828", "name": "内存优化", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800819", "name": "Async优化Lumen反射", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800816", "name": "优化Lumen反射包括水的反射性能", "due": null, "status": "status_8"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 12:03:16", "task": "task3", "sync_id": "task3_20260312_120315_576256a6", "module": "tapd", "operation": "stories", "success": true, "request": {"workspace_id": "58335167", "owner": "mithril", "fields": "id,name,due,status"}, "response": {"status": 1, "data": [{"Story": {"id": "1158335167004865833", "name": "客户端审核 - 噬金虫相关功能", "due": "2026-03-13", "status": "status_7"}}, {"Story": {"id": "1158335167004840448", "name": "技能触发条件接入及联调。", "due": "2026-01-31", "status": "status_8"}}, {"Story": {"id": "1158335167004838325", "name": "AI Codereview", "due": "2026-05-30", "status": "status_5"}}, {"Story": {"id": "1158335167004838322", "name": "界面调整迭代", "due": "2026-02-28", "status": "status_8"}}, {"Story": {"id": "1158335167004838321", "name": "重构MainMenu", "due": "2026-02-28", "status": "status_8"}}, {"Story": {"id": "1158335167004838320", "name": "common ui调研手机端测试", "due": "2026-03-20", "status": "status_7"}}, {"Story": {"id": "1158335167004836875", "name": "- 技能槽位系统重构-迭代", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004834469", "name": "Horde编译失败群通知", "due": "2026-05-30", "status": "status_9"}}, {"Story": {"id": "1158335167004834468", "name": "Horde 自动触发逻辑", "due": "2026-05-30", "status": "status_9"}}, {"Story": {"id": "1158335167004829003", "name": "补全运行时日志", "due": "2026-04-03", "status": "status_7"}}, {"Story": {"id": "1158335167004828993", "name": "接入xiandebug可预览运行时子弹及相关数据", "due": "2026-04-03", "status": "status_7"}}, {"Story": {"id": "1158335167004828719", "name": "客户端审核 - 武器装备-UI逻辑", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004828716", "name": "客户端审核 - 法宝装备-UI逻辑", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004828709", "name": "客户端审核 - 武器装备界面逻辑", "due": "2026-03-13", "status": "status_12"}}, {"Story": {"id": "1158335167004828708", "name": "客户端审核 - 法宝装备界面逻辑", "due": "2026-03-13", "status": "status_12"}}, {"Story": {"id": "1158335167004828679", "name": "客户端审核 - 消耗品使用逻辑", "due": "2026-03-06", "status": "status_5"}}, {"Story": {"id": "1158335167004828673", "name": "客户端审核 - SkillSlotMgr新逻辑迭代", "due": "2026-01-28", "status": "status_8"}}, {"Story": {"id": "1158335167004828672", "name": "客户端审核 - 武器槽位映射逻辑重构", "due": "2026-01-30", "status": "status_8"}}, {"Story": {"id": "1158335167004827634", "name": "客户端审核 - 绑定Ability——左右键、派生技、武器战技和武器通用技能", "due": "2026-03-22", "status": "status_5"}}, {"Story": {"id": "1158335167004827625", "name": "客户端审核 - 可追踪角度、追踪速度等参数可靠性优化", "due": "2026-04-04", "status": "status_7"}}, {"Story": {"id": "1158335167004827584", "name": "客户端审核 - 根据血量裂纹和破碎效果", "due": "2026-04-11", "status": "status_7"}}, {"Story": {"id": "1158335167004827583", "name": "客户端审核 - 表现优化,接入动画资源", "due": "2026-04-10", "status": "status_7"}}, {"Story": {"id": "1158335167004806717", "name": "分支上增加显示玩家名称的功能", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800802", "name": "PSO收集", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004794635", "name": "客户端审核 - 格挡功能-子弹奉还", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004794632", "name": "客户端审核 - 弹道系统现有配置优化", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004794631", "name": "客户端审核 - 弹道系统优化- 激光类bullet", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004794629", "name": "客户端审核 - 弹道系统优化- AOE伤害&子弹爆炸", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004792154", "name": "玄铁飞天盾 - 格挡成功超出弧度生成多个盾后若当前盾X秒内未再次受击则消散直到仅剩下一个盾时回到1倍大小", "due": "2026-04-10", "status": "status_7"}}, {"Story": {"id": "1158335167004792153", "name": "玄铁飞天盾 - 格挡成功后X秒内未再次受击则平滑往环绕半径轨道上移动", "due": "2026-04-10", "status": "status_7"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 12:03:16", "task": "task3", "sync_id": "task3_20260312_120315_576256a6", "module": "tapd", "operation": "bugs", "success": true, "request": {"workspace_id": "58335167", "current_owner": "BardLin", "fields": "id,title,deadline,status"}, "response": {"status": 1, "data": [{"Bug": {"id": "1158335167002283694", "title": "受击动画中root质心需要跟随人物模型运动如击飞、击浮空时root需要向上跟随否则浮空连击时敌人位置会频繁上下跳动。", "deadline": "2025-12-05", "status": "closed"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 12:03:16", "task": "task3", "sync_id": "task3_20260312_120315_576256a6", "module": "tapd", "operation": "bugs", "success": true, "request": {"workspace_id": "58335167", "current_owner": "星渊", "fields": "id,title,deadline,status"}, "response": {"status": 1, "data": [{"Bug": {"id": "1158335167002296797", "title": "优化性能分辨率提升为1080P静态帧率基本稳定60fps", "deadline": "2025-12-22", "status": "closed"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 12:03:16", "task": "task3", "sync_id": "task3_20260312_120315_576256a6", "module": "tapd", "operation": "bugs", "success": true, "request": {"workspace_id": "58335167", "current_owner": "mithril", "fields": "id,title,deadline,status"}, "response": {"status": 1, "data": [{"Bug": {"id": "1158335167002280921", "title": "【UI】【单机】血条UI歪了不在屏幕正中间了@mithril(hanjingchao)", "deadline": "2025-12-01", "status": "closed"}}, {"Bug": {"id": "1158335167002280929", "title": "【联机】【弹道】左键第三段,第四段,飞剑子弹数量会丢失几根@mithril(hanjingchao)", "deadline": "2025-12-02", "status": "closed"}}, {"Bug": {"id": "1158335167002280930", "title": "【联机】【弹道】子弹受击特效丢失了@mithril(hanjingchao)", "deadline": "2025-12-01", "status": "closed"}}, {"Bug": {"id": "1158335167002280931", "title": "【联机】【UI】对方的体力条会显示得特别大@mithril(hanjingchao)", "deadline": "2025-12-02", "status": "closed"}}, {"Bug": {"id": "1158335167002283432", "title": "更新之后,放左键,没目标时弹道坏了,不会正确追踪地形", "deadline": "2025-12-09", "status": "closed"}}, {"Bug": {"id": "1158335167002287668", "title": "格挡成功后,延迟时间内盾也要保证和角色相对移动,(当前是会静止在原地,不跟随角色移动)", "deadline": "2025-12-12", "status": "closed"}}, {"Bug": {"id": "1158335167002287671", "title": "格挡成功后,延迟时间内再次格挡,则要刷新当前延迟时间(当前延迟时间内再次受击,延迟时间感觉并没有被刷新)", "deadline": "2025-12-16", "status": "closed"}}, {"Bug": {"id": "1158335167002287675", "title": "在新生成盾时,盾的内外表现不对,且旋转方向不对", "deadline": "2025-12-12", "status": "closed"}}, {"Bug": {"id": "1158335167002294091", "title": "【联机】【符箓】土牢符会把自己困住", "deadline": "2025-12-18", "status": "closed"}}, {"Bug": {"id": "1158335167002294096", "title": "【联机】【法宝】飞天盾会挡住自己的子弹", "deadline": "2025-12-18", "status": "closed"}}, {"Bug": {"id": "1158335167002295354", "title": "飞天盾相关bug - 子弹会穿盾,对角色造成伤害", "deadline": "2025-12-20", "status": "closed"}}, {"Bug": {"id": "1158335167002295358", "title": "限制生成初始总数量为1避免多次使用生成多个盾再次使用时刷新盾血量和持续时间", "deadline": "2025-12-20", "status": "closed"}}, {"Bug": {"id": "1158335167002295360", "title": "飞天盾相关bug - 持续时间配置,避免盾一直不消失", "deadline": "2025-12-20", "status": "closed"}}, {"Bug": {"id": "1158335167002296688", "title": "【BUG】包里能不能默认 DisableAllScreenMessages", "deadline": "2025-12-22", "status": "closed"}}, {"Bug": {"id": "1158335167002297733", "title": "【高-BUG】左键普攻第四段飞剑命中后会延迟一会才消失希望和前三段一样快速消失", "deadline": "2025-12-25", "status": "closed"}}, {"Bug": {"id": "1158335167002299602", "title": "【高-BUG】土牢符的符纸自己能锁定", "deadline": "2025-12-27", "status": "closed"}}, {"Bug": {"id": "1158335167002300378", "title": "【bug】土牢符陷阱现在不开神识探查也能看见", "deadline": "2025-12-30", "status": "in_progress"}}, {"Bug": {"id": "1158335167002300531", "title": "【致命-BUG】按G会Crash复现较为频繁", "deadline": "2025-12-28", "status": "closed"}}, {"Bug": {"id": "1158335167002300717", "title": "【高-BUG】巨剑术诀子弹命中海王兽场景海面底下的地面时没有正确触发overlap事件停在表面并播特效", "deadline": "2025-12-31", "status": "closed"}}, {"Bug": {"id": "1158335167002300837", "title": "【高-bug】MoveToTargetEX触发的时候能直接从土牢符里穿出来需要正常阻挡自身和目标穿出土牢符", "deadline": "2025-12-31", "status": "closed"}}, {"Bug": {"id": "1158335167002304061", "title": "【需Merge分支】【高-BUG】【联机】现在破定期间Q环绕飞剑只环绕一次就消失了。", "deadline": "2026-01-07", "status": "closed"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 12:03:17", "task": "task3", "sync_id": "task3_20260312_120315_576256a6", "module": "wework", "operation": "webhook/send", "success": true, "request": {"msgtype": "markdown", "markdown": {"content": "⏰ TAPD 过期单提醒2026-03-12\n\n<@BardLin>12 条过期)\n1.【需求】主角战斗 - 动作资源 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004787973)\n2.【需求】空中待机 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004774664)\n3.【需求】雷属性受击 - 起始 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004774629)\n4.【需求】雷属性受击 - 循环 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004774628)\n5.【需求】飞遁动画 | 过期 41 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004828079)\n6.【需求】右键垫步突进 | 过期 34 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827909)\n7.【需求】青凝镜-回收Layout | 过期 13 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827996)\n8.【需求】青凝镜-检视表演Layout | 过期 12 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827991)\n9.【需求】青凝镜-召唤Layout | 过期 12 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827989)\n10.【需求】空中右键下劈 | 过期 12 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827910)\n11.【需求】噬金虫召唤动画Layout | 过期 3 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827929)\n12.【需求】3C-基础移动-Bug-Dodge卡帧 | 过期 2 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004866823)\n========================\n<@mi>2 条过期)\n13.【缺陷】【bug】土牢符陷阱现在不开神识探查也能看见 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/bugtrace/bugs/view?bug_id=1158335167002300378)\n14.【需求】客户端审核 - 消耗品使用逻辑 | 过期 6 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004828679)\n========================\n<@xingyuan>13 条过期)\n15.【需求】AS脚本Bind扩展 | 过期 37 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839302)\n16.【需求】尝试AS写Validator | 过期 37 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839301)\n17.【需求】Data Validator框架 | 过期 37 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839234)\n18.【需求】材质Mask模式不受motion blur影响 | 过期 35 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839323)\n19.【需求】KawaiiMagicAnimVelet调研 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839272)\n20.【需求】Chaos布料算法调研 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839270)\n21.【需求】编译Android版 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839267)\n22.【需求】对GPU解算进行改近 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839266)\n23.【需求】理解GPU算法 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839259)\n24.【需求】调试和理解NvCloth算法 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839246)\n25.【需求】NvCloth调研 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839241)\n26.【需求】布料解算基建 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839239)\n27.【需求】3C-基础移动-Bug-Dodge卡帧 | 过期 2 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004866823)\n========================\n共 27 条过期单,请今日内更新状态 🙏"}, "mentioned_list": ["BardLin", "mi", "xingyuan"]}, "response": {"errcode": 0, "errmsg": "ok"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "end_sync", "timestamp": "2026-03-12 12:03:17", "task": "task3", "sync_id": "task3_20260312_120315_576256a6", "success": true, "stats": {"overdue_count": 27}, "error_message": null, "extra": {}}
{"event_type": "start_sync", "timestamp": "2026-03-12 12:05:37", "task": "task3", "sync_id": "task3_20260312_120537_b6645a54", "trigger": "manual", "metadata": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 12:05:38", "task": "task3", "sync_id": "task3_20260312_120537_b6645a54", "module": "tapd", "operation": "stories", "success": true, "request": {"workspace_id": "58335167", "owner": "BardLin", "fields": "id,name,due,status"}, "response": {"status": 1, "data": [{"Story": {"id": "1158335167004866823", "name": "3C-基础移动-Bug-Dodge卡帧", "due": "2026-03-10", "status": "status_9"}}, {"Story": {"id": "1158335167004834011", "name": "【动画】2026年1月 - 凡人各组月度产出梳理", "due": "2026-01-28", "status": "status_8"}}, {"Story": {"id": "1158335167004828079", "name": "飞遁动画", "due": "2026-01-30", "status": "status_9"}}, {"Story": {"id": "1158335167004828030", "name": "大啼魂-初绑", "due": "2026-03-02", "status": "status_8"}}, {"Story": {"id": "1158335167004827998", "name": "血色披风预研", "due": "2026-02-14", "status": "status_8"}}, {"Story": {"id": "1158335167004827996", "name": "青凝镜-回收Layout", "due": "2026-02-27", "status": "status_9"}}, {"Story": {"id": "1158335167004827994", "name": "青凝镜-待机", "due": "2026-03-20", "status": "status_9"}}, {"Story": {"id": "1158335167004827991", "name": "青凝镜-检视表演Layout", "due": "2026-02-28", "status": "status_9"}}, {"Story": {"id": "1158335167004827989", "name": "青凝镜-召唤Layout", "due": "2026-02-28", "status": "status_9"}}, {"Story": {"id": "1158335167004827987", "name": "青凝镜-初绑", "due": "2026-01-30", "status": "status_8"}}, {"Story": {"id": "1158335167004827946", "name": "玄铁飞天盾-初绑", "due": "2026-01-23", "status": "status_8"}}, {"Story": {"id": "1158335167004827929", "name": "噬金虫召唤动画Layout", "due": "2026-03-09", "status": "status_9"}}, {"Story": {"id": "1158335167004827926", "name": "噬金虫召-初绑", "due": "2026-01-26", "status": "status_8"}}, {"Story": {"id": "1158335167004827921", "name": "飞剑-解控", "due": "2026-03-27", "status": "status_9"}}, {"Story": {"id": "1158335167004827920", "name": "飞剑-检视表演", "due": "2026-03-27", "status": "status_7"}}, {"Story": {"id": "1158335167004827919", "name": "飞剑-检视表演Layout", "due": "2026-03-13", "status": "status_7"}}, {"Story": {"id": "1158335167004827914", "name": "剑影分光·闪回", "due": "2026-03-27", "status": "status_9"}}, {"Story": {"id": "1158335167004827912", "name": "剑影分光·上挑", "due": "2026-03-27", "status": "status_9"}}, {"Story": {"id": "1158335167004827910", "name": "空中右键下劈", "due": "2026-02-28", "status": "status_5"}}, {"Story": {"id": "1158335167004827909", "name": "右键垫步突进", "due": "2026-02-06", "status": "status_5"}}, {"Story": {"id": "1158335167004827852", "name": "动画制作 - 【法宝】青竹蜂云剑", "due": "2026-03-28", "status": "status_7"}}, {"Story": {"id": "1158335167004816915", "name": "3C-飞遁 - 状态机重构", "due": "2026-01-09", "status": "status_8"}}, {"Story": {"id": "1158335167004815661", "name": "3C-飞遁 - W输入HighSpeed状态", "due": "2026-01-09", "status": "status_8"}}, {"Story": {"id": "1158335167004787978", "name": "通用受击 - 动作资源", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004787977", "name": "海王兽 - 动作资源", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004787973", "name": "主角战斗 - 动作资源", "due": "2025-12-30", "status": "status_7"}}, {"Story": {"id": "1158335167004774665", "name": "地面待机", "due": "2025-12-30", "status": "status_8"}}, {"Story": {"id": "1158335167004774664", "name": "空中待机", "due": "2025-12-30", "status": "status_7"}}, {"Story": {"id": "1158335167004774629", "name": "雷属性受击 - 起始", "due": "2025-12-30", "status": "status_7"}}, {"Story": {"id": "1158335167004774628", "name": "雷属性受击 - 循环", "due": "2025-12-30", "status": "status_7"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 12:05:38", "task": "task3", "sync_id": "task3_20260312_120537_b6645a54", "module": "tapd", "operation": "stories", "success": true, "request": {"workspace_id": "58335167", "owner": "星渊", "fields": "id,name,due,status"}, "response": {"status": 1, "data": [{"Story": {"id": "1158335167004866823", "name": "3C-基础移动-Bug-Dodge卡帧", "due": "2026-03-10", "status": "status_9"}}, {"Story": {"id": "1158335167004839323", "name": "材质Mask模式不受motion blur影响", "due": "2026-02-05", "status": "status_9"}}, {"Story": {"id": "1158335167004839302", "name": "AS脚本Bind扩展", "due": "2026-02-03", "status": "status_10"}}, {"Story": {"id": "1158335167004839301", "name": "尝试AS写Validator", "due": "2026-02-03", "status": "status_10"}}, {"Story": {"id": "1158335167004839299", "name": "简单Sample跑下流程", "due": "2026-02-03", "status": "status_8"}}, {"Story": {"id": "1158335167004839298", "name": "文档阅读", "due": "2026-02-03", "status": "status_8"}}, {"Story": {"id": "1158335167004839272", "name": "KawaiiMagicAnimVelet调研", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839270", "name": "Chaos布料算法调研", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839267", "name": "编译Android版", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839266", "name": "对GPU解算进行改近", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839263", "name": "育碧GPU布料结算的GDC Paper", "due": "2026-02-13", "status": "status_8"}}, {"Story": {"id": "1158335167004839259", "name": "理解GPU算法", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839251", "name": "增加Profiler", "due": "2026-02-13", "status": "status_8"}}, {"Story": {"id": "1158335167004839246", "name": "调试和理解NvCloth算法", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839242", "name": "编译NvCloth", "due": "2026-02-13", "status": "status_8"}}, {"Story": {"id": "1158335167004839241", "name": "NvCloth调研", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839239", "name": "布料解算基建", "due": "2026-02-13", "status": "status_5"}}, {"Story": {"id": "1158335167004839234", "name": "Data Validator框架", "due": "2026-02-03", "status": "status_5"}}, {"Story": {"id": "1158335167004834466", "name": "Horde相关-持续开发项", "due": "2026-05-30", "status": "status_5"}}, {"Story": {"id": "1158335167004834018", "name": "【引擎/TA】2026年1月 - 凡人各组月度产出梳理", "due": "2026-01-28", "status": "status_8"}}, {"Story": {"id": "1158335167004828309", "name": "技术基建-基础可过滤编辑器控件开发", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004802628", "name": "技术基建-XianDebugger-法术场Debugger", "due": null, "status": "status_9"}}, {"Story": {"id": "1158335167004802626", "name": "技术基建-XianDebugger", "due": null, "status": "status_5"}}, {"Story": {"id": "1158335167004800837", "name": "VAT贴图Foramt以及各种选项的意义", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004800834", "name": "VAT贴图尺寸和种类优化", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800832", "name": "VAT内存优化", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004800829", "name": "内存Profiling", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800828", "name": "内存优化", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800819", "name": "Async优化Lumen反射", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800816", "name": "优化Lumen反射包括水的反射性能", "due": null, "status": "status_8"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 12:05:38", "task": "task3", "sync_id": "task3_20260312_120537_b6645a54", "module": "tapd", "operation": "stories", "success": true, "request": {"workspace_id": "58335167", "owner": "mithril", "fields": "id,name,due,status"}, "response": {"status": 1, "data": [{"Story": {"id": "1158335167004865833", "name": "客户端审核 - 噬金虫相关功能", "due": "2026-03-13", "status": "status_7"}}, {"Story": {"id": "1158335167004840448", "name": "技能触发条件接入及联调。", "due": "2026-01-31", "status": "status_8"}}, {"Story": {"id": "1158335167004838325", "name": "AI Codereview", "due": "2026-05-30", "status": "status_5"}}, {"Story": {"id": "1158335167004838322", "name": "界面调整迭代", "due": "2026-02-28", "status": "status_8"}}, {"Story": {"id": "1158335167004838321", "name": "重构MainMenu", "due": "2026-02-28", "status": "status_8"}}, {"Story": {"id": "1158335167004838320", "name": "common ui调研手机端测试", "due": "2026-03-20", "status": "status_7"}}, {"Story": {"id": "1158335167004836875", "name": "- 技能槽位系统重构-迭代", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004834469", "name": "Horde编译失败群通知", "due": "2026-05-30", "status": "status_9"}}, {"Story": {"id": "1158335167004834468", "name": "Horde 自动触发逻辑", "due": "2026-05-30", "status": "status_9"}}, {"Story": {"id": "1158335167004829003", "name": "补全运行时日志", "due": "2026-04-03", "status": "status_7"}}, {"Story": {"id": "1158335167004828993", "name": "接入xiandebug可预览运行时子弹及相关数据", "due": "2026-04-03", "status": "status_7"}}, {"Story": {"id": "1158335167004828719", "name": "客户端审核 - 武器装备-UI逻辑", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004828716", "name": "客户端审核 - 法宝装备-UI逻辑", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004828709", "name": "客户端审核 - 武器装备界面逻辑", "due": "2026-03-13", "status": "status_12"}}, {"Story": {"id": "1158335167004828708", "name": "客户端审核 - 法宝装备界面逻辑", "due": "2026-03-13", "status": "status_12"}}, {"Story": {"id": "1158335167004828679", "name": "客户端审核 - 消耗品使用逻辑", "due": "2026-03-06", "status": "status_5"}}, {"Story": {"id": "1158335167004828673", "name": "客户端审核 - SkillSlotMgr新逻辑迭代", "due": "2026-01-28", "status": "status_8"}}, {"Story": {"id": "1158335167004828672", "name": "客户端审核 - 武器槽位映射逻辑重构", "due": "2026-01-30", "status": "status_8"}}, {"Story": {"id": "1158335167004827634", "name": "客户端审核 - 绑定Ability——左右键、派生技、武器战技和武器通用技能", "due": "2026-03-22", "status": "status_5"}}, {"Story": {"id": "1158335167004827625", "name": "客户端审核 - 可追踪角度、追踪速度等参数可靠性优化", "due": "2026-04-04", "status": "status_7"}}, {"Story": {"id": "1158335167004827584", "name": "客户端审核 - 根据血量裂纹和破碎效果", "due": "2026-04-11", "status": "status_7"}}, {"Story": {"id": "1158335167004827583", "name": "客户端审核 - 表现优化,接入动画资源", "due": "2026-04-10", "status": "status_7"}}, {"Story": {"id": "1158335167004806717", "name": "分支上增加显示玩家名称的功能", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004800802", "name": "PSO收集", "due": null, "status": "status_8"}}, {"Story": {"id": "1158335167004794635", "name": "客户端审核 - 格挡功能-子弹奉还", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004794632", "name": "客户端审核 - 弹道系统现有配置优化", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004794631", "name": "客户端审核 - 弹道系统优化- 激光类bullet", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004794629", "name": "客户端审核 - 弹道系统优化- AOE伤害&子弹爆炸", "due": null, "status": "status_7"}}, {"Story": {"id": "1158335167004792154", "name": "玄铁飞天盾 - 格挡成功超出弧度生成多个盾后若当前盾X秒内未再次受击则消散直到仅剩下一个盾时回到1倍大小", "due": "2026-04-10", "status": "status_7"}}, {"Story": {"id": "1158335167004792153", "name": "玄铁飞天盾 - 格挡成功后X秒内未再次受击则平滑往环绕半径轨道上移动", "due": "2026-04-10", "status": "status_7"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 12:05:38", "task": "task3", "sync_id": "task3_20260312_120537_b6645a54", "module": "tapd", "operation": "bugs", "success": true, "request": {"workspace_id": "58335167", "current_owner": "BardLin", "fields": "id,title,deadline,status"}, "response": {"status": 1, "data": [{"Bug": {"id": "1158335167002283694", "title": "受击动画中root质心需要跟随人物模型运动如击飞、击浮空时root需要向上跟随否则浮空连击时敌人位置会频繁上下跳动。", "deadline": "2025-12-05", "status": "closed"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 12:05:38", "task": "task3", "sync_id": "task3_20260312_120537_b6645a54", "module": "tapd", "operation": "bugs", "success": true, "request": {"workspace_id": "58335167", "current_owner": "星渊", "fields": "id,title,deadline,status"}, "response": {"status": 1, "data": [{"Bug": {"id": "1158335167002296797", "title": "优化性能分辨率提升为1080P静态帧率基本稳定60fps", "deadline": "2025-12-22", "status": "closed"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 12:05:38", "task": "task3", "sync_id": "task3_20260312_120537_b6645a54", "module": "tapd", "operation": "bugs", "success": true, "request": {"workspace_id": "58335167", "current_owner": "mithril", "fields": "id,title,deadline,status"}, "response": {"status": 1, "data": [{"Bug": {"id": "1158335167002280921", "title": "【UI】【单机】血条UI歪了不在屏幕正中间了@mithril(hanjingchao)", "deadline": "2025-12-01", "status": "closed"}}, {"Bug": {"id": "1158335167002280929", "title": "【联机】【弹道】左键第三段,第四段,飞剑子弹数量会丢失几根@mithril(hanjingchao)", "deadline": "2025-12-02", "status": "closed"}}, {"Bug": {"id": "1158335167002280930", "title": "【联机】【弹道】子弹受击特效丢失了@mithril(hanjingchao)", "deadline": "2025-12-01", "status": "closed"}}, {"Bug": {"id": "1158335167002280931", "title": "【联机】【UI】对方的体力条会显示得特别大@mithril(hanjingchao)", "deadline": "2025-12-02", "status": "closed"}}, {"Bug": {"id": "1158335167002283432", "title": "更新之后,放左键,没目标时弹道坏了,不会正确追踪地形", "deadline": "2025-12-09", "status": "closed"}}, {"Bug": {"id": "1158335167002287668", "title": "格挡成功后,延迟时间内盾也要保证和角色相对移动,(当前是会静止在原地,不跟随角色移动)", "deadline": "2025-12-12", "status": "closed"}}, {"Bug": {"id": "1158335167002287671", "title": "格挡成功后,延迟时间内再次格挡,则要刷新当前延迟时间(当前延迟时间内再次受击,延迟时间感觉并没有被刷新)", "deadline": "2025-12-16", "status": "closed"}}, {"Bug": {"id": "1158335167002287675", "title": "在新生成盾时,盾的内外表现不对,且旋转方向不对", "deadline": "2025-12-12", "status": "closed"}}, {"Bug": {"id": "1158335167002294091", "title": "【联机】【符箓】土牢符会把自己困住", "deadline": "2025-12-18", "status": "closed"}}, {"Bug": {"id": "1158335167002294096", "title": "【联机】【法宝】飞天盾会挡住自己的子弹", "deadline": "2025-12-18", "status": "closed"}}, {"Bug": {"id": "1158335167002295354", "title": "飞天盾相关bug - 子弹会穿盾,对角色造成伤害", "deadline": "2025-12-20", "status": "closed"}}, {"Bug": {"id": "1158335167002295358", "title": "限制生成初始总数量为1避免多次使用生成多个盾再次使用时刷新盾血量和持续时间", "deadline": "2025-12-20", "status": "closed"}}, {"Bug": {"id": "1158335167002295360", "title": "飞天盾相关bug - 持续时间配置,避免盾一直不消失", "deadline": "2025-12-20", "status": "closed"}}, {"Bug": {"id": "1158335167002296688", "title": "【BUG】包里能不能默认 DisableAllScreenMessages", "deadline": "2025-12-22", "status": "closed"}}, {"Bug": {"id": "1158335167002297733", "title": "【高-BUG】左键普攻第四段飞剑命中后会延迟一会才消失希望和前三段一样快速消失", "deadline": "2025-12-25", "status": "closed"}}, {"Bug": {"id": "1158335167002299602", "title": "【高-BUG】土牢符的符纸自己能锁定", "deadline": "2025-12-27", "status": "closed"}}, {"Bug": {"id": "1158335167002300378", "title": "【bug】土牢符陷阱现在不开神识探查也能看见", "deadline": "2025-12-30", "status": "in_progress"}}, {"Bug": {"id": "1158335167002300531", "title": "【致命-BUG】按G会Crash复现较为频繁", "deadline": "2025-12-28", "status": "closed"}}, {"Bug": {"id": "1158335167002300717", "title": "【高-BUG】巨剑术诀子弹命中海王兽场景海面底下的地面时没有正确触发overlap事件停在表面并播特效", "deadline": "2025-12-31", "status": "closed"}}, {"Bug": {"id": "1158335167002300837", "title": "【高-bug】MoveToTargetEX触发的时候能直接从土牢符里穿出来需要正常阻挡自身和目标穿出土牢符", "deadline": "2025-12-31", "status": "closed"}}, {"Bug": {"id": "1158335167002304061", "title": "【需Merge分支】【高-BUG】【联机】现在破定期间Q环绕飞剑只环绕一次就消失了。", "deadline": "2026-01-07", "status": "closed"}}], "info": "success"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "api_call", "timestamp": "2026-03-12 12:05:39", "task": "task3", "sync_id": "task3_20260312_120537_b6645a54", "module": "wework", "operation": "webhook/send", "success": true, "request": {"msgtype": "markdown", "markdown": {"content": "⏰ TAPD 过期单提醒2026-03-12\n\n\n\n<@BardLin>12 条过期)\n1.【需求】主角战斗 - 动作资源 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004787973)\n2.【需求】空中待机 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004774664)\n3.【需求】雷属性受击 - 起始 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004774629)\n4.【需求】雷属性受击 - 循环 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004774628)\n5.【需求】飞遁动画 | 过期 41 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004828079)\n6.【需求】右键垫步突进 | 过期 34 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827909)\n7.【需求】青凝镜-回收Layout | 过期 13 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827996)\n8.【需求】青凝镜-检视表演Layout | 过期 12 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827991)\n9.【需求】青凝镜-召唤Layout | 过期 12 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827989)\n10.【需求】空中右键下劈 | 过期 12 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827910)\n11.【需求】噬金虫召唤动画Layout | 过期 3 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004827929)\n12.【需求】3C-基础移动-Bug-Dodge卡帧 | 过期 2 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004866823)\n========================\n\n\n<@mi>2 条过期)\n13.【缺陷】【bug】土牢符陷阱现在不开神识探查也能看见 | 过期 72 天 | [查看](https://www.tapd.cn/58335167/bugtrace/bugs/view?bug_id=1158335167002300378)\n14.【需求】客户端审核 - 消耗品使用逻辑 | 过期 6 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004828679)\n========================\n\n\n<@xingyuan>13 条过期)\n15.【需求】AS脚本Bind扩展 | 过期 37 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839302)\n16.【需求】尝试AS写Validator | 过期 37 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839301)\n17.【需求】Data Validator框架 | 过期 37 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839234)\n18.【需求】材质Mask模式不受motion blur影响 | 过期 35 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839323)\n19.【需求】KawaiiMagicAnimVelet调研 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839272)\n20.【需求】Chaos布料算法调研 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839270)\n21.【需求】编译Android版 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839267)\n22.【需求】对GPU解算进行改近 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839266)\n23.【需求】理解GPU算法 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839259)\n24.【需求】调试和理解NvCloth算法 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839246)\n25.【需求】NvCloth调研 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839241)\n26.【需求】布料解算基建 | 过期 27 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004839239)\n27.【需求】3C-基础移动-Bug-Dodge卡帧 | 过期 2 天 | [查看](https://www.tapd.cn/58335167/prong/stories/view/1158335167004866823)\n========================\n共 27 条过期单,请今日内更新状态 🙏"}, "mentioned_list": ["BardLin", "mi", "xingyuan"]}, "response": {"errcode": 0, "errmsg": "ok"}, "error_message": null, "duration_ms": null, "extra": {}}
{"event_type": "end_sync", "timestamp": "2026-03-12 12:05:39", "task": "task3", "sync_id": "task3_20260312_120537_b6645a54", "success": true, "stats": {"overdue_count": 27}, "error_message": null, "extra": {}}

1
src3/__init__.py Normal file
View File

@ -0,0 +1 @@
# 任务三TAPD过期单推送

82
src3/config.py Normal file
View File

@ -0,0 +1,82 @@
"""任务三配置管理"""
from src.config import ConfigManager
from pathlib import Path
class Task3ConfigManager(ConfigManager):
"""任务三配置管理器"""
def __init__(self):
project_root = Path(__file__).parent.parent
config_path = project_root / "config3" / "config.ini"
super().__init__(config_path)
def get_workspace_id(self) -> str:
"""获取TAPD工作空间ID"""
if not self.config.has_section('TAPD'):
raise ValueError("配置文件缺少[TAPD]节")
if not self.config.has_option('TAPD', 'workspace_id'):
raise ValueError("配置文件[TAPD]节缺少workspace_id配置项")
workspace_id = self.config.get('TAPD', 'workspace_id').strip()
if not workspace_id:
raise ValueError("workspace_id配置项不能为空")
return workspace_id
def get_push_time(self) -> str:
"""获取推送时间"""
if not self.config.has_section('Schedule'):
return "09:30"
return self.config.get('Schedule', 'push_time', fallback='09:30').strip()
def get_skip_weekend(self) -> bool:
"""是否跳过周末"""
if not self.config.has_section('Schedule'):
return True
return self.config.getboolean('Schedule', 'skip_weekend', fallback=True)
def get_webhook_url(self) -> str:
"""获取企微Webhook URL"""
if not self.config.has_section('WeWork'):
raise ValueError("配置文件缺少[WeWork]节")
if not self.config.has_option('WeWork', 'webhook_url'):
raise ValueError("配置文件[WeWork]节缺少webhook_url配置项")
webhook_url = self.config.get('WeWork', 'webhook_url').strip()
if not webhook_url:
raise ValueError("webhook_url配置项不能为空")
return webhook_url
def get_tech_team_config(self) -> dict:
"""解析技术组成员配置
返回: {
'member_list': ['范宇', '杰割', '周浩'],
'user_mapping': {'范宇': 'FanYu', '杰割': 'JieGe', '周浩': 'ZhouHao'}
}
"""
if not self.config.has_section('TechTeam'):
raise ValueError("配置文件缺少[TechTeam]节")
if not self.config.has_option('TechTeam', 'members'):
raise ValueError("配置文件[TechTeam]节缺少members配置项")
members_str = self.config.get('TechTeam', 'members').strip()
if not members_str:
raise ValueError("members配置项不能为空")
member_list = []
user_mapping = {}
for item in members_str.split(','):
item = item.strip()
if ':' not in item:
raise ValueError(f"成员配置格式错误: {item},应为'TAPD用户名:企微UserID'")
tapd_name, wework_id = item.split(':', 1)
tapd_name = tapd_name.strip()
wework_id = wework_id.strip()
if not tapd_name or not wework_id:
raise ValueError(f"成员配置格式错误: {item}")
member_list.append(tapd_name)
user_mapping[tapd_name] = wework_id
return {
'member_list': member_list,
'user_mapping': user_mapping
}

14
src3/logger.py Normal file
View File

@ -0,0 +1,14 @@
"""任务三日志系统"""
from src.api_logger import APILogger
from pathlib import Path
project_root = Path(__file__).parent.parent
TASK3_LOG_DIR = project_root / "logs3"
_task3_logger = None
def get_task3_logger() -> APILogger:
"""获取任务三日志实例"""
global _task3_logger
if _task3_logger is None:
_task3_logger = APILogger(log_dir=str(TASK3_LOG_DIR), task_name="task3")
return _task3_logger

68
src3/main.py Normal file
View File

@ -0,0 +1,68 @@
"""任务三主流程"""
import sys
from pathlib import Path
from datetime import datetime
# 添加项目根目录到Python路径
project_root = Path(__file__).parent.parent
sys.path.insert(0, str(project_root))
from src3.logger import get_task3_logger
from src3.config import Task3ConfigManager
from src3.overdue_fetcher import OverdueFetcher
from src3.message_formatter import MessageFormatter
from src3.webhook_sender import WebhookSender
def run_once():
"""执行一次过期单推送"""
logger = get_task3_logger()
sync_id = logger.start_sync("manual")
try:
print("任务三TAPD过期单推送")
# 1. 加载配置
config = Task3ConfigManager()
workspace_id = config.get_workspace_id()
webhook_url = config.get_webhook_url()
tech_team = config.get_tech_team_config()
member_list = tech_team['member_list']
user_mapping = tech_team['user_mapping']
print(f"技术组成员: {member_list}")
# 2. 获取过期单
fetcher = OverdueFetcher(workspace_id, logger)
items = fetcher.fetch_all_overdue(member_list)
if not items:
print("没有过期单")
logger.end_sync_with_stats({"overdue_count": 0}, True, sync_id=sync_id)
return
print(f"获取到 {len(items)} 条过期单")
# 3. 格式化消息
formatter = MessageFormatter()
today = datetime.now().strftime('%Y-%m-%d')
content, mentioned_list = formatter.format_message(items, user_mapping, today)
# 4. 发送消息
sender = WebhookSender(webhook_url, logger)
success = sender.send_markdown(content, mentioned_list)
if success:
print(f"✓ 推送成功")
logger.end_sync_with_stats({"overdue_count": len(items)}, True, sync_id=sync_id)
else:
print("✗ 推送失败")
logger.end_sync_with_stats({"overdue_count": len(items)}, False, "推送失败", sync_id=sync_id)
except Exception as e:
print(f"执行失败: {e}")
logger.end_sync_with_stats({}, False, str(e), sync_id=sync_id)
raise
if __name__ == "__main__":
run_once()

72
src3/message_formatter.py Normal file
View File

@ -0,0 +1,72 @@
"""消息格式化器"""
from typing import List, Dict
from datetime import datetime
class MessageFormatter:
"""消息格式化器"""
def format_message(self, items: List[dict], user_mapping: Dict[str, str], date: str = None) -> tuple:
"""格式化消息
返回: (markdown_content, mentioned_list)
"""
if not items:
return None, []
if date is None:
date = datetime.now().strftime('%Y-%m-%d')
# 按处理人分组
grouped = self._group_by_owner(items)
# 排序
sorted_groups = self._sort_groups(grouped)
# 生成Markdown
lines = [f"⏰ TAPD 过期单提醒({date}\n\n"]
mentioned_list = []
total_count = 0
item_index = 1
for owner, owner_items in sorted_groups:
wework_id = user_mapping.get(owner, owner)
mentioned_list.append(wework_id)
lines.append(f"<@{wework_id}>{len(owner_items)} 条过期)")
for item in owner_items:
type_label = "需求" if item['type'] == 'story' else "缺陷"
title = item.get('name') or item.get('title', '未命名')
lines.append(f"{item_index}.【{type_label}{title} | 过期 {item['overdue_days']} 天 | [查看]({item['url']})")
item_index += 1
total_count += 1
lines.append("\n\n========================")
lines.append(f"{total_count} 条过期单,请今日内更新状态 🙏")
return "\n".join(lines), mentioned_list
def _group_by_owner(self, items: List[dict]) -> Dict[str, List[dict]]:
"""按处理人分组"""
grouped = {}
for item in items:
owner = item['owner']
if owner not in grouped:
grouped[owner] = []
grouped[owner].append(item)
return grouped
def _sort_groups(self, grouped: Dict[str, List[dict]]) -> List[tuple]:
"""排序:组内按过期天数降序,组间按最大过期天数降序"""
sorted_groups = []
for owner, items in grouped.items():
# 组内排序
items.sort(key=lambda x: x['overdue_days'], reverse=True)
sorted_groups.append((owner, items))
# 组间排序
sorted_groups.sort(key=lambda x: max(item['overdue_days'] for item in x[1]), reverse=True)
return sorted_groups

39
src3/overdue_fetcher.py Normal file
View File

@ -0,0 +1,39 @@
"""过期单获取器"""
from typing import List, Dict
from datetime import datetime
from src3.tapd_api import TAPDUnifiedApi
class OverdueFetcher:
"""过期单获取器"""
def __init__(self, workspace_id: str, logger):
self.workspace_id = workspace_id
self.logger = logger
self.api = TAPDUnifiedApi(workspace_id, logger)
def fetch_all_overdue(self, owner_list: List[str]) -> List[dict]:
"""获取所有过期单(需求+缺陷)"""
stories = self.api.get_overdue_stories(owner_list)
bugs = self.api.get_overdue_bugs(owner_list)
# 合并并计算过期天数
all_items = stories + bugs
for item in all_items:
item['overdue_days'] = self.calculate_overdue_days(item['due'])
item['url'] = self._get_url(item)
return all_items
def calculate_overdue_days(self, due_date: str) -> int:
"""计算过期天数"""
today = datetime.now().date()
due = datetime.strptime(due_date, '%Y-%m-%d').date()
return (today - due).days
def _get_url(self, item: dict) -> str:
"""获取单据URL"""
if item['type'] == 'story':
return self.api.get_story_url(item['id'])
else:
return self.api.get_bug_url(item['id'])

128
src3/tapd_api.py Normal file
View File

@ -0,0 +1,128 @@
"""任务三TAPD API - 整合Story和Bug查询"""
import os
import requests
from typing import List, Dict
from requests.auth import HTTPBasicAuth
from datetime import datetime
class TAPDUnifiedApi:
"""统一的TAPD API整合Story和Bug查询"""
BASE_URL = "https://tapd-api.bilibili.co/tapd"
# 需求终态
STORY_TERMINAL_STATUSES = ['status_8', 'status_12'] # 已完成、取消
# 缺陷终态
BUG_TERMINAL_STATUSES = ['rejected', 'closed'] # 取消、验证通过
def __init__(self, workspace_id: str, logger):
self.workspace_id = workspace_id
self.logger = logger
self.api_user = os.environ.get('TAPD_API_USER')
self.api_password = os.environ.get('TAPD_API_PASSWORD')
if not self.api_user or not self.api_password:
raise ValueError("TAPD认证信息未设置")
self.auth = HTTPBasicAuth(self.api_user, self.api_password)
self.session = requests.Session()
def _make_request(self, endpoint: str, params: Dict) -> Dict:
"""发起TAPD API请求"""
url = f"{self.BASE_URL}/{endpoint}"
try:
response = self.session.get(url, params=params, auth=self.auth, timeout=30)
response.raise_for_status()
result = response.json()
if result.get('status') != 1:
raise RuntimeError(f"TAPD API返回错误: {result}")
self.logger.log_api_call("tapd", endpoint, params, result, True)
return result
except Exception as e:
self.logger.log_api_call("tapd", endpoint, params, {}, False, str(e))
raise
def get_overdue_stories(self, owner_list: List[str]) -> List[dict]:
"""获取过期需求"""
today = datetime.now().strftime('%Y-%m-%d')
all_stories = []
for owner in owner_list:
params = {
'workspace_id': self.workspace_id,
'owner': owner,
'fields': 'id,name,due,status'
}
try:
result = self._make_request("stories", params)
data = result.get('data', [])
for item in data:
story = item.get('Story', {})
due_date = story.get('due', '')
status = story.get('status', '')
# 过滤:有截止日期、已过期、非终态
if due_date and due_date < today and status not in self.STORY_TERMINAL_STATUSES:
all_stories.append({
'id': story.get('id'),
'name': story.get('name'),
'owner': owner,
'due': due_date,
'status': status,
'type': 'story'
})
except Exception as e:
pass
return all_stories
def get_overdue_bugs(self, owner_list: List[str]) -> List[dict]:
"""获取过期缺陷"""
today = datetime.now().strftime('%Y-%m-%d')
all_bugs = []
for owner in owner_list:
params = {
'workspace_id': self.workspace_id,
'current_owner': owner,
'fields': 'id,title,deadline,status'
}
try:
result = self._make_request("bugs", params)
data = result.get('data', [])
for item in data:
bug = item.get('Bug', {})
deadline = bug.get('deadline', '')
status = bug.get('status', '')
# 过滤:有截止日期、已过期、非终态
if deadline and deadline < today and status not in self.BUG_TERMINAL_STATUSES:
all_bugs.append({
'id': bug.get('id'),
'title': bug.get('title'),
'owner': owner,
'due': deadline,
'status': status,
'type': 'bug'
})
except Exception as e:
pass
return all_bugs
def get_story_url(self, story_id: str) -> str:
"""生成需求URL"""
return f"https://www.tapd.cn/{self.workspace_id}/prong/stories/view/{story_id}"
def get_bug_url(self, bug_id: str) -> str:
"""生成缺陷URL"""
return f"https://www.tapd.cn/{self.workspace_id}/bugtrace/bugs/view?bug_id={bug_id}"

40
src3/webhook_sender.py Normal file
View File

@ -0,0 +1,40 @@
"""Webhook推送器"""
import requests
import time
from typing import List
class WebhookSender:
"""企微Webhook推送器"""
def __init__(self, webhook_url: str, logger):
self.webhook_url = webhook_url
self.logger = logger
def send_markdown(self, content: str, mentioned_list: List[str]) -> bool:
"""发送Markdown消息"""
payload = {
"msgtype": "markdown",
"markdown": {
"content": content
},
"mentioned_list": mentioned_list
}
for attempt in range(3):
try:
response = requests.post(self.webhook_url, json=payload, timeout=10)
response.raise_for_status()
result = response.json()
self.logger.log_api_call("wework", "webhook/send", payload, result, result.get('errcode') == 0)
if result.get('errcode') == 0:
return True
except Exception as e:
self.logger.log_api_call("wework", "webhook/send", payload, {}, False, str(e))
if attempt < 2:
time.sleep(30)
return False