大屏 — 畜牧资源统计 — 测试用例
依据:大屏畜牧资源功能需求.md(v1.3)、大屏畜牧资源技术方案.md(v1.3)
接口 Base Path:/bigScreen/livestockResource(含 context-path、网关前缀须补齐)。鉴权:若依 Cookie / Authorization Token;权限 bigScreen:livestockResource:query。
通用前置(无特殊说明):已执行 sql/biz_consult_session.sql、sql/biz_consult_message.sql、sql/biz_consult_user.sql;测试账号具备大屏畜牧资源查询权限;时区 Asia/Shanghai。
口径摘要
| 域 |
规则 |
| 统计年 Y |
切换后年内区块一致;默认当前自然年 |
| 统计日 / 时刻 |
Y=当前年→statDate 今日、statDateTime 请求时刻;历史年→statDate=Y-12-31 |
| AI 会话 |
consult_type=2;已隐藏(vet_visible=0)计入 |
| 接诊隔离 |
consult_type=1 不参与 |
| 提问量 |
AI 回复(sender_role=3、sender_user_id=0)条数;界面名称仍为「提问量」 |
| 今日四项 |
仅 Y=当前自然年按 statDate 统计;历史年固定 0 |
| 分类占比 |
AI 回复 + 提问人 ai_category 归因;分母=年内全部 AI 回复;占比之和 100% |
| 平均耗时 |
cost_time 非空(含 0)参与平均;空值不参与;展示秒 |
| 用户结构 |
biz_consult_user 全表;新≤180 天、老>180 天;不随 Y |
| 近 7 日 |
[statDate−6, statDate] 共 7 日;缺日 0 |
| 分时热度 |
距 statDateTime 最近 24 整点小时桶;与 Y 无关 |
| 今日活跃 |
会话 update_time 在统计日 |
| 日新增 |
create_time 与 update_time 均在统计日,且此前无 AI 会话 |
| 分类/模型/热点 |
AI 回复条数 + 提问人 ai_category 归因;占比分母=年内 AI 回复总数 |
| 关键词 |
仅 文本提问(msg_type=1) |
本期不测:移动端「畜牧资源」资讯 v_livestock_resource、AI 诊断维护接口、在线接诊数据。
UI 测试:Playwright + Chromium,playwright.config 中 use: { channel: 'chrome' } 调用本机 Google Chrome。
自动化对照(建议):com.ruoyi.web.modules.screen.**.*LivestockResource*(JUnit5 / MockMvc / Playwright)。
测试数据样本
| 代号 |
说明 |
| AI-Y |
2026 AI 会话:用户 U1/U2;含提问+AI 回复;ai_category 含 1、2 与未分类 |
| AI-HIDE |
2026 vet_visible=0 的 AI 会话,有 AI 回复 |
| AI-VET |
2026 consult_type=1 接诊会话及消息 |
| AI-EMPTY |
2025 无 AI 会话 |
| AI-HIST |
2024 AI 会话 2 条、提问量 5 |
| AI-TODAY |
统计日当日新建会话、当日 AI 回复、U3 首次会话(日新增) |
| AI-COST |
AI 回复:cost_time=0、正数毫秒、NULL 各至少 1 条 |
| AI-BAND |
年内会话 A~D 的 AI 回复数分别为 2、4、8、12 条(四档分布) |
| AI-7D |
近 7 日内每日各有会话创建与 AI 回复 |
| AI-DAY-HOUR |
统计日自然日内跨 3 个整点小时桶有会话/回复 |
| DU-MIX |
biz_consult_user:新用户 3、老用户 2(间隔按 180 天规则构造) |
| DU-EMPTY |
无 biz_consult_user 行 |
| KW-TEXT |
2026 文本提问含可分词关键词「牦牛」「防疫」等 |
| KW-NONTEXT |
仅图片/语音提问、无文本 |
一、单元测试用例
| 用例编号 |
测试模块 |
测试项 |
测试类型 |
测试工具 |
测试目的 |
前置条件 |
测试步骤 |
预期结果 |
| DP-XM-UT-001 |
参数校验 |
statYear 合法 |
单元测试 |
JUnit5 |
年份解析 |
无 |
传入 2026、2000 |
解析为整数通过 |
| DP-XM-UT-002 |
参数校验 |
statYear 非法 |
单元测试 |
JUnit5 |
异常入参 |
无 |
空、26、abcd、1899 |
抛 ServiceException 或等价失败 |
| DP-XM-UT-003 |
统计日 |
当前年 statDate |
单元测试 |
JUnit5 |
SY-XM-01 |
Mock 当前日 2026-05-20 |
resolveStatDate(2026) |
返回 2026-05-20 |
| DP-XM-UT-004 |
统计日 |
历史年 statDate |
单元测试 |
JUnit5 |
§2.2 |
无 |
resolveStatDate(2024) |
返回 2024-12-31 |
| DP-XM-UT-005 |
口径 |
排除接诊会话 |
单元测试 |
JUnit5 |
SY-XM-13 |
AI-Y+AI-VET |
countAiSessions(2026) |
仅 AI-Y |
| DP-XM-UT-006 |
口径 |
隐藏会话计入 |
单元测试 |
JUnit5 |
§2.18#2 |
AI-Y+AI-HIDE |
countAiSessions(2026) |
含 AI-HIDE |
| DP-XM-UT-007 |
提问量 |
AI 回复计数 |
单元测试 |
JUnit5 |
§2.6 |
AI-Y 已知 AI 条数 |
countAiReplies(year) |
等于 sender_role=3 条数;不含提问人消息 |
| DP-XM-UT-008 |
今日指标 |
历史年为 0 |
单元测试 |
JUnit5 |
§2.4 |
AI-TODAY 有当日数据 |
buildOverview(2024) |
todayActiveUsers 等四项为 0 |
| DP-XM-UT-009 |
今日指标 |
当前年今日 |
单元测试 |
JUnit5 |
§2.8 |
AI-TODAY;statDate=今日 |
buildOverview(2026) |
今日四项与样本一致 |
| DP-XM-UT-010 |
平均耗时 |
含 0 不排除 |
单元测试 |
JUnit5 |
§2.18#5 |
AI-COST:0ms、3000ms、NULL |
avgResponseSeconds |
平均=(0+3)/2 秒;NULL 不入分母 |
| DP-XM-UT-011 |
7 日序列 |
补零 7 点 |
单元测试 |
JUnit5 |
§2.11 |
仅首尾 2 日有数据 |
buildDailySeries(statDate) |
length=7;中间日 sessionCount=questionCount=0 |
| DP-XM-UT-012 |
分时 |
最近 24 整点小时桶 |
单元测试 |
JUnit5 |
§2.12、SY-XM-07 |
anchor=2026-05-20 10:30 |
buildHourlyHeat |
hourlySeries.length=24;windowEnd=2026-05-20 10:00;末桶 10:00 有数据;含 bucketDateTime |
| DP-XM-UT-013 |
用户结构 |
180 天分界 |
单元测试 |
JUnit5 |
§2.9 |
DU-MIX |
buildUserStructure |
新/老人数与 DATEDIFF 规则一致 |
| DP-XM-UT-014 |
用户结构 |
不随 Y 变 |
单元测试 |
JUnit5 |
SY-XM-05 |
固定 DU-MIX |
loadDashboard(2025) 与 2026 |
userStructure 相同 |
| DP-XM-UT-015 |
分类占比 |
分母全量 |
单元测试 |
JUnit5 |
§2.18#3 |
5 类 AI 回复已知 |
buildCategoryShare |
各 ratio 之和≈100(1 位小数);分母=年内 AI 回复总数 |
| DP-XM-UT-016 |
分类映射 |
编码转中文 |
单元测试 |
JUnit5 |
§2.10 |
ai_category 为 1~4、空 |
normalizeCategory |
养殖技巧…设备操作;空→未分类 |
| DP-XM-UT-017 |
会话分档 |
四档固定 |
单元测试 |
JUnit5 |
§2.13 |
AI-BAND |
buildSessionReplyDistribution |
4 项 LIGHT~DEEP;sum(sessionCount)=年内会话数 |
| DP-XM-UT-018 |
状态分布 |
正常/失败 |
单元测试 |
JUnit5 |
§2.14 |
AI-COST |
buildReplyStatus |
OK+FAIL=totalAiReplies;NULL→FAIL |
| DP-XM-UT-019 |
热点榜 |
Top5 分类 |
单元测试 |
JUnit5 |
SY-XM-09 |
多分类条数 |
buildHotTopics |
≤5 条;按 count/ratio 降序;无单条消息序 |
| DP-XM-UT-020 |
关键词 |
仅文本 Top30 |
单元测试 |
JUnit5 |
§2.16 |
KW-TEXT+KW-NONTEXT |
extractTopKeywords(30) |
来自文本语料;≤30;不含媒体 |
| DP-XM-UT-021 |
7 日窗口 |
与 Y 无关 |
单元测试 |
JUnit5 |
SY-XM-02 |
固定 AI-7D |
activityTrend 2025 vs 2026 |
相同 statDate 下 dailySeries 一致 |
| DP-XM-UT-022 |
一致性 |
总览与状态总量 |
单元测试 |
JUnit5 |
§6 |
AI-Y |
对比 totalQuestionCount 与 replyStatus.total |
一致 |
| DP-XM-UT-023 |
约束 |
只读无写 |
单元测试 |
JUnit5 |
SY-XM-12 |
检查 Controller |
无 insert/update/delete |
仅 dashboard |
| DP-XM-UT-024 |
缓存 |
forceRefresh |
单元测试 |
JUnit5 |
技术§2.3 |
启用缓存 |
loadDashboard(2026,true) |
跳过缓存重算 |
二、接口测试用例
| 用例编号 |
测试模块 |
测试项 |
测试类型 |
测试工具 |
测试目的 |
前置条件 |
测试步骤 |
预期结果 |
| DP-XM-API-001 |
看板 |
满数据正常 |
接口测试 |
Postman/curl |
SY-XM-01 |
已登录;AI-Y+DU-MIX |
GET .../dashboard?statYear=2026 |
code 成功;含 overview~topKeywords 十区块;statDate 为今日 |
| DP-XM-API-002 |
看板 |
核心总览 8 项 |
接口测试 |
Postman |
SY-XM-03 |
AI-Y+AI-TODAY |
GET dashboard 2026 |
8 字段与 SQL/手工抽样一致;提问量为 AI 回复数 |
| DP-XM-API-003 |
看板 |
隐藏会话计入 |
接口测试 |
Postman |
§2.18#2 |
AI-Y+AI-HIDE |
对比计入前后 totalSessions |
含隐藏会话 |
| DP-XM-API-004 |
看板 |
排除接诊 |
接口测试 |
Postman |
SY-XM-13 |
AI-Y+AI-VET |
GET dashboard 2026 |
指标不含接诊会话/消息 |
| DP-XM-API-005 |
看板 |
历史年今日为 0 |
接口测试 |
Postman |
§2.4 |
AI-TODAY 有当日数据 |
statYear=2024 |
todayActiveUsers 等四项=0 |
| DP-XM-API-006 |
看板 |
历史年 statDate |
接口测试 |
Postman |
§2.2 |
AI-HIST |
statYear=2024 |
statDate=2024-12-31;年内指标仅 2024 |
| DP-XM-API-007 |
看板 |
活跃度 7 日 |
接口测试 |
Postman |
SY-XM-04 |
AI-7D |
GET dashboard |
activityTrend.dailySeries.length=7;含 sessionCount、questionCount |
| DP-XM-API-008 |
看板 |
7 日与 Y 无关 |
接口测试 |
Postman |
SY-XM-02 |
固定 AI-7D |
statYear=2025 与 2026(同日请求) |
activityTrend 一致 |
| DP-XM-API-009 |
看板 |
用户结构 |
接口测试 |
Postman |
SY-XM-05 |
DU-MIX |
GET dashboard |
newUserCount/oldUserCount 正确;newUserRatio+oldUserRatio≈100 |
| DP-XM-API-010 |
看板 |
用户结构切年不变 |
接口测试 |
Postman |
§2.9 |
DU-MIX 固定 |
statYear=2025 与 2026 |
userStructure 相同 |
| DP-XM-API-011 |
看板 |
分类占比 100% |
接口测试 |
Postman |
SY-XM-06 |
AI-Y 多分类 |
categoryShare.items |
sum(ratio)≈100;分母=年内 AI 回复 总数(totalAskerMessages 字段名沿用) |
| DP-XM-API-012 |
看板 |
模型调用同源 |
接口测试 |
Postman |
§5.6 |
AI-Y |
对比 modelCallAnalysis 与 categoryShare |
分类条数一致 |
| DP-XM-API-013 |
看板 |
分时使用热度 |
接口测试 |
Postman |
SY-XM-07 |
24h 窗口有跨小时数据 |
GET dashboard |
hourlyHeat.hourlySeries.length=24;windowEnd 为整点 yyyy-MM-dd HH:mm;点含 bucketDateTime |
| DP-XM-API-014 |
看板 |
会话分档四档 |
接口测试 |
Postman |
SY-XM-08 |
AI-BAND |
sessionReplyDistribution |
4 条;sum(ratio)≈100 |
| DP-XM-API-015 |
看板 |
应答状态 |
接口测试 |
Postman |
SY-XM-08 |
AI-COST |
replyStatusDistribution |
OK+FAIL=totalAiReplies |
| DP-XM-API-016 |
看板 |
热点 Top5 |
接口测试 |
Postman |
SY-XM-09 |
AI-Y |
hotTopics |
≤5;为分类非单条消息 |
| DP-XM-API-017 |
看板 |
关键词 Top30 |
接口测试 |
Postman |
SY-XM-10 |
KW-TEXT |
topKeywords |
≤30;含 keyword、count |
| DP-XM-API-018 |
看板 |
无数据空态 |
接口测试 |
Postman |
§7.1 |
AI-EMPTY 2025 |
GET dashboard |
总览累计为 0;图表空态或全 0 |
| DP-XM-API-019 |
看板 |
无用户台账 |
接口测试 |
Postman |
§7.1 |
DU-EMPTY |
userStructure |
人数 0 或空态标记 |
| DP-XM-API-020 |
看板 |
无文本关键词 |
接口测试 |
Postman |
§7.1 |
KW-NONTEXT |
topKeywords |
[] 或空态 |
| DP-XM-API-021 |
看板 |
平均耗时含 0 |
接口测试 |
Postman |
§2.18#5 |
AI-COST 仅 0 与 3000ms |
avgResponseSeconds |
为 1.5 秒(实现四舍五入一致即可) |
| DP-XM-API-022 |
看板 |
缺 statYear |
接口测试 |
Postman |
异常 |
已登录 |
不传 statYear |
失败或默认当前年(与实现一致) |
| DP-XM-API-023 |
看板 |
非法 statYear |
接口测试 |
Postman |
异常 |
已登录 |
statYear=abc |
失败;参数错误 |
| DP-XM-API-024 |
看板 |
statYear 回显 |
接口测试 |
Postman |
一致性 |
已登录 |
statYear=2025 |
data.statYear=2025 |
| DP-XM-API-025 |
看板 |
availableYears |
接口测试 |
Postman |
§2.1 |
会话年 2024、2026 |
GET dashboard |
含各年+当前年;降序 |
| DP-XM-API-026 |
看板 |
切年不串 |
接口测试 |
Postman |
SY-XM-02 |
AI-HIST 与 AI-Y |
分别 2024、2026 |
年内指标互不混入 |
| DP-XM-API-027 |
看板 |
forceRefresh |
接口测试 |
Postman |
技术§2.3 |
已启用缓存 |
?statYear=2026&forceRefresh=true |
成功;与库最新一致 |
| DP-XM-API-028 |
范围 |
无维护接口 |
接口测试 |
Postman |
SY-XM-12 |
已登录 |
POST/PUT/DELETE .../bigScreen/livestockResource/** |
404/405 或无权限 |
| DP-XM-API-029 |
范围 |
无资讯接口 |
接口测试 |
Postman |
§3.2 |
已登录 |
探测 /app/livestockResource/list 等 |
大屏无资讯列表接口;与看板分离 |
| DP-XM-API-030 |
联动 |
AI 新会话后 |
接口测试 |
Postman |
SY-XM-11 |
2026 原计数 N |
后台/移动端新建 AI 会话→GET dashboard |
totalSessions 等增加 |
| DP-XM-API-031 |
鉴权 |
未登录 |
接口测试 |
curl |
安全 |
无 Token |
GET dashboard |
401 或统一未登录 |
| DP-XM-API-032 |
权限 |
无大屏权限 |
接口测试 |
Postman |
越权 |
无 bigScreen:livestockResource:query |
GET dashboard |
403 或无权限 |
三、界面测试用例(UI)
| 用例编号 |
测试模块 |
测试项 |
测试类型 |
测试工具 |
测试目的 |
前置条件 |
测试步骤 |
预期结果 |
| DP-XM-UI-001 |
页面 |
默认当前年加载 |
UI 测试 |
Playwright+Chrome |
SY-XM-01 |
已登录有权限;2026 有 AI-Y |
打开 #/livestock-resources |
默认当前年;请求 dashboard;十区块展示 |
| DP-XM-UI-002 |
筛选 |
切换年份刷新 |
UI 测试 |
Playwright+Chrome |
SY-XM-02 |
含 2025、2026 数据 |
切换统计年份 2025→2026 |
总览/分类/分档等随 Y 更新;7 日/24h 仍按当前统计日/时刻 |
| DP-XM-UI-003 |
筛选 |
加载中防残留 |
UI 测试 |
Playwright+Chrome |
§7.2 |
已登录 |
切年(可 route 延迟 dashboard) |
Loading;完成后无上年残留 |
| DP-XM-UI-004 |
总览 |
八项指标卡 |
UI 测试 |
Playwright+Chrome |
SY-XM-03 |
AI-Y+AI-TODAY |
查看「核心数据总览」 |
8 卡:用户/会话/提问量/平均响应时长;单位人、次、秒正确 |
| DP-XM-UI-005 |
总览 |
提问量文案 |
UI 测试 |
Playwright+Chrome |
§2.18#1 |
有 AI 回复 |
查看总览与趋势文案 |
显示「提问量」;数值为 AI 回复规模 |
| DP-XM-UI-006 |
图表 |
活跃度 7 日 |
UI 测试 |
Playwright+Chrome |
SY-XM-04 |
AI-7D |
查看「活跃度趋势」;切换会话数/提问量 |
7 个日期点;双维度可切换或双系列 |
| DP-XM-UI-007 |
图表 |
用户结构 |
UI 测试 |
Playwright+Chrome |
SY-XM-05 |
DU-MIX |
查看「用户结构分析」 |
新/老用户人数与占比;切年不变 |
| DP-XM-UI-008 |
图表 |
提问分类占比 |
UI 测试 |
Playwright+Chrome |
SY-XM-06 |
AI-Y |
查看饼图 |
含 1~4 类及未分类;占比之和 100% |
| DP-XM-UI-009 |
图表 |
模型调用分析 |
UI 测试 |
Playwright+Chrome |
§5.6 |
AI-Y |
查看柱状/条形区 |
各分类条数与占比区一致 |
| DP-XM-UI-010 |
图表 |
分时使用热度 |
UI 测试 |
Playwright+Chrome |
SY-XM-07 |
24h 有数据 |
查看「分时使用热度」 |
24 整点;横轴 HH:mm;悬停显完整时刻+会话/提问量 |
| DP-XM-UI-011 |
图表 |
会话提问分布 |
UI 测试 |
Playwright+Chrome |
SY-XM-08 |
AI-BAND |
查看「会话提问数量分布」 |
四档轻度~深度;占比展示 |
| DP-XM-UI-012 |
图表 |
会话状态分布 |
UI 测试 |
Playwright+Chrome |
SY-XM-08 |
AI-COST |
查看「会话状态分布」 |
正常应答/调用失败两档 |
| DP-XM-UI-013 |
榜单 |
热点问题 Top5 |
UI 测试 |
Playwright+Chrome |
SY-XM-09 |
AI-Y |
查看「热点问题榜单」 |
≤5 条分类排行 |
| DP-XM-UI-014 |
榜单 |
高频关键词 |
UI 测试 |
Playwright+Chrome |
SY-XM-10 |
KW-TEXT |
查看「高频关键词」 |
词云或列表;≤30 |
| DP-XM-UI-015 |
空态 |
无 AI 数据年 |
UI 测试 |
Playwright+Chrome |
§7.1 |
AI-EMPTY |
切换 2025 |
总览累计 0;图表空态或全 0 |
| DP-XM-UI-016 |
空态 |
无关键词 |
UI 测试 |
Playwright+Chrome |
§7.1 |
KW-NONTEXT |
查看关键词区 |
空态;不报错 |
| DP-XM-UI-017 |
约束 |
历史年今日为 0 |
UI 测试 |
Playwright+Chrome |
§2.4 |
AI-TODAY;切 2024 |
查看今日四项卡 |
均为 0 |
| DP-XM-UI-018 |
只读 |
无维护按钮 |
UI 测试 |
Playwright+Chrome |
SY-XM-12 |
已登录 |
扫描全页 |
无新建会话/发消息/隐藏;可有刷新 |
| DP-XM-UI-019 |
错误 |
接口失败重试 |
UI 测试 |
Playwright+Chrome |
§7.2 |
Mock dashboard 500 |
进入或切年 |
失败提示;支持重试 |
| DP-XM-UI-020 |
权限 |
无入口 |
UI 测试 |
Playwright+Chrome |
安全 |
无大屏权限账号 |
登录/直链 |
无菜单或 403 |
| DP-XM-UI-021 |
联动 |
AI 使用后刷新 |
UI 集成 |
Playwright+Chrome |
SY-XM-11 |
原计数已知 |
业务端发 AI 问答→F5/刷新 |
总览/趋势等更新 |
| DP-XM-UI-022 |
端到端 |
全流程查阅 |
UI 集成 |
Playwright+Chrome |
§4、SY-XM-01~13 |
2026 完整样本 |
登录→进页→默认年→切年→浏览十区块 |
数据合理;无控制台报错 |
Playwright 实施提示
// playwright.config.ts 片段
use: { channel: 'chrome', headless: false }
await page.goto('/#/livestock-resources');
await Promise.all([
page.waitForResponse('**/bigScreen/livestockResource/dashboard**'),
page.getByRole('combobox', { name: /统计年份|年份/ }).selectOption('2026'),
]);
await expect(page.getByText(/核心数据总览/)).toBeVisible();
await expect(page.getByText(/累计使用用户|提问量/)).toBeVisible();
await expect(page.getByText(/活跃度趋势|用户结构分析/)).toBeVisible();
// 7 日 / 24h 切年后仍应请求 dashboard(观察 network)
await page.route('**/bigScreen/livestockResource/dashboard**', route =>
route.fulfill({ status: 500, body: '{}' })
);
覆盖对照
| 类别 |
单元 UT |
接口 API |
界面 UI |
| 正常流程 |
UT-003~007、009~017、019~022 |
API-001~017、030 |
UI-001~014、021~022 |
| 异常流程 |
UT-002、008 |
API-018~020、022~023、031~032 |
UI-015~016、019~020 |
| 业务约束 |
UT-005~006、010~014、018、023~024 |
API-003~006、010~011、021、028~029 |
UI-005、007、017~018 |
功能需求追溯(SY-XM / 章节)
| 追溯 |
要点 |
主要用例 |
| SY-XM-01 |
默认当前年 |
UI-001;API-001 |
| SY-XM-02 |
切年;7 日/24h 不按 Y |
UT-021;API-008、026;UI-002 |
| SY-XM-03 |
核心总览 8 项 |
UT-007、009;API-002;UI-004 |
| SY-XM-04 |
活跃度 7 日 |
UT-011;API-007;UI-006 |
| SY-XM-05 |
用户结构 |
UT-013~014;API-009~010;UI-007 |
| SY-XM-06 |
分类 100% |
UT-015;API-011~012;UI-008~009 |
| SY-XM-07 |
最近 24h 整点热度 |
UT-012;API-013;UI-010 |
| SY-XM-08 |
分档与状态 |
UT-017~018;API-014~015;UI-011~012 |
| SY-XM-09 |
热点 Top5 |
UT-019;API-016;UI-013 |
| SY-XM-10 |
关键词 |
UT-020;API-017;UI-014 |
| SY-XM-11 |
刷新联动 |
API-030;UI-021 |
| SY-XM-12 |
只读 |
UT-023;API-028;UI-018 |
| SY-XM-13 |
接诊隔离 |
UT-005;API-004 |
| §2.18#1~6 |
产品确认 |
UT-006~007、010、015;API-003、011、021;UI-005 |
| §7.1 |
空态 |
API-018~020;UI-015~016 |
| §7.2 |
加载失败 |
UI-003、019 |
修订记录
| 版本 |
说明 |
| 1.0 |
初版:单元 24、接口 32、UI 22;覆盖 SY-XM-01~13 与正常/异常/约束;Playwright+Chrome;Base /bigScreen/livestockResource |
| 1.1 |
对齐功能需求 v1.1(提问量、滑动 24h 等) |
| 1.3 |
2026-07-04 |