docs: 状态文件同步到 2026-09-18 实况(方案任务三)
- STATUS.md:顶部权威行由 "PHASE 20 COMPLETE"(09-17)更新为 09-18 口径(Phase 01~22 关闭 / Phase 23 部分关闭 / 三轮横向加固 / 669 tests / 停在 Phase 24 门前);版本演进表补 rc.11~rc.16; **合并三处重复的「V1.1 本地部署完成 (2026-09-09)」区块为一处**(996 行 → 946 行)并加 「历史记录边界」声明;清「Phase 04~05 ⏳ 待开发」等与实测矛盾项。契约锚点全部保住 (UI REDESIGN ACCEPTED BY USER / Phase 07 已通过用户验收 / 管理后台: http://localhost:13520/)。 - AGENTS.md + STATUS.md:UI 契约门禁口径 13/13 → **14/14**(历史时点行保留原值并注明, 不篡改史实)。 - JIRA_BACKLOG.md:Epic 总览表补 P14/P15/P19~P23 的 ✅(P23 标「部分关闭」)。 - 客户需求基线计划:Phase 07 标题去 "UI REOPENED";Phase 10~15/19 补 ✅;Phase 20/21 勾选 checkbox 并注日期;**Phase 22 如实标「未复验」**(口径澄清:计划的 Deployment/Ops 与 STATUS 的 「部署运维配置扩展(Feature Flag)」是两份不同工作,后者复验结论不构成本节证据); Phase 23 标「部分关闭」,第 3/5 项(E2E 场景实现、CI 串联)**不虚勾**。 - PENDING_DECISIONS.md:历史部署声明 10 项按各 Phase Recovery 报告证据回写处置结果 (9 项已关闭 / 1 项部分);补登 HTTP 与幂等检修遗留的第三方开放待决策 7 项。 - REMAINING_WORK.md:整体重写 —— 原文称 CHANGELOG 3.3MB(实为 4234 字节)、P1-3 指向从未存在的 Phase-23-Completion-Report.md;改为「已关闭 / 仍未完成 / 原编号索引 / 验收标准」四段,保留原编号 以便对照历史引用。 - database 两份:TABLE_INVENTORY 40 表 → **59 表**(带「来源迁移」列);MIGRATION_GUIDE V001~V011 → **V001~V046(46 个)**;两份均标注「以 backend/src/main/resources/db/migration/ 为准」。
This commit is contained in:
+74
-300
@@ -1,322 +1,96 @@
|
||||
# 丹阳公益婚恋服务平台 V1.0 — 上线前剩余工作
|
||||
# 丹阳公益婚恋服务平台 V1.1 — 上线前剩余工作
|
||||
|
||||
> 本文件为上线前必须完成的工作清单,按优先级排序。
|
||||
> 交由 WorkBuddy 执行。
|
||||
> **最后更新:2026-09-18**(原文为 2026-09-01,内容已严重过期,本轮按实测重写)
|
||||
>
|
||||
> ⚠️ **重写说明**:本文件此前被多处引用,但内容与实际严重不符 —— 称 `CHANGELOG.md` 有 **3.3MB**(实际
|
||||
> **4234 字节 / 73 行**);P1-3 指向**已删除**的 `docs/Phase-23-Completion-Report.md`。2026-09-18 文档治理按实测重写,
|
||||
> 并保留原编号以便对照历史引用。**逐项处置计划与批次划分**见
|
||||
> `docs/superpowers/plans/2026-09-18-phase23-closeout-and-uat-readiness.md`。
|
||||
|
||||
---
|
||||
|
||||
## P0 — 上线前必须完成(阻塞性)
|
||||
## 一、已关闭项(原文标为阻塞 / 重要,实测已完成)
|
||||
|
||||
### P0-1: 产品确认16项技术默认值
|
||||
|
||||
**文件**: `docs/PENDING_DECISIONS.md`
|
||||
|
||||
**问题**: 以下技术默认值已硬编码,但无产品最终确认:
|
||||
|
||||
| 决策项 | 当前技术默认值 | 需要确认 |
|
||||
| 原编号 | 事项 | 结论(2026-09-18 复核) |
|
||||
|---|---|---|
|
||||
| 每日推荐数量 | 6 人 | 产品确认 |
|
||||
| 推荐最低阈值分数 | 60 分 | 产品确认 |
|
||||
| Pass 冷却时间 | 180 天 | 产品确认 |
|
||||
| 照片上限 | 6 张 | 产品确认 |
|
||||
| 兴趣标签上限 | 8 个 | 产品确认 |
|
||||
| 自我介绍长度上限 | 500 字符 | 产品确认 |
|
||||
| Privacy 默认值 | 全部 TRUE | 产品确认 |
|
||||
| 活动是否需要审核 | TRUE | 产品确认 |
|
||||
| 活动互选最大人数 | 3 人 | 产品确认 |
|
||||
| 活动互选截止时间 | 48 小时 | 产品确认 |
|
||||
| 红娘是否允许电话联系 | FALSE | 产品确认 |
|
||||
| "正在了解"是否自动暂停推荐 | 用户选择 | 产品确认 |
|
||||
| RelationshipStatus 最终命名 | searching/getting_to_know/paused/matched_successfully/service_exited | 产品确认 |
|
||||
| Appeal 是否 V1.0 首发 | 否(Feature Flag 预留) | 产品确认 |
|
||||
| 每日推荐重置时间 | 00:00 Asia/Shanghai | 产品确认 |
|
||||
|
||||
**操作**:
|
||||
1. 产品负责人逐一确认以上16项
|
||||
2. 确认后更新 `application.yml` 或对应配置类
|
||||
3. 从 `docs/PENDING_DECISIONS.md` 移除已确认项
|
||||
4. 更新 `AGENTS.md` 中的规则说明(如有影响)
|
||||
| P0-1 | 产品确认 16 项技术默认值 | ✅ **已确认 16 项**(见 `docs/PENDING_DECISIONS.md`「已确认决策列表」);仍有 13 项待确认(另见该文件「第三方开放遗留」7 项) |
|
||||
| P0-2 | 隐私政策最终版本确认 | ✅ `docs/legal/privacy-policy.md` 已存在(2996 字节)。上线前仍需确认是否经法务终审签署 |
|
||||
| P0-3 | PIA(隐私影响评估)书面记录 | ✅ `docs/security/PIA.md` 已存在(4700 字节) |
|
||||
| P1-1 | CoreInvariantsTest 补实质性测试 | ✅ **已如实处置**:该类(195 行 / 12 用例)已明确降级为「**常量取值口径守卫,不验证行为**」(DisplayName 已改),真实行为验证转由各 Integration 测试承担(Phase 13 复验)。原文"只是检查常量定义"的批评成立,但处置方式是**如实命名 + 转移**,而非硬塞行为断言 |
|
||||
| P1-2 | PermissionMatrixTest 补自动化验证 | ✅ 已有 341 行 / 12 用例;权限覆盖另由 `V11PermissionMatrixContractTest`(**扫描全部迁移**)+ `OperatorEndpointPermissionCoverageTest` 承担 |
|
||||
| P1-3 | 补全 Phase 23 系统测试完成报告 | ✅ `docs/Phase-23-V11-Recovery-Completion-Report-2026-09-18.md` 已存在(结论:**部分关闭**)。**注意原文指向的 `docs/Phase-23-Completion-Report.md` 从未存在** |
|
||||
| P1-4 | 清理 CHANGELOG 重复内容 | ✅ **不成立**:`CHANGELOG.md` 实际 **4234 字节 / 73 行**,无重复条目问题;已加指向 `docs/V1_1_CHANGELOG.md` 的指针头注(2026-09-18) |
|
||||
| P2-1 | AccountLifecycle 注销联动完善 | ✅ Phase 21 复验关闭(2026-09-18):**CLOSED 仍可登录、两处 TODO 桩、匿名化死代码、注销障碍设计矛盾**等 6 处缺陷已修 |
|
||||
| P2-2 | PhotoService Presigned URL 实现 | ⚠️ **部分**:`PhotoService` 魔数校验恒失败、PDF 被误挡等已修(Phase 10 复验);`POST /me/photos/upload-token` / 下载凭证 / EXIF 清理的落地程度**待确认** |
|
||||
| P2-3 | WebSocket 在线状态管理 | ✅ Phase 09 复验关闭(2026-09-16):下行链路死代码、握手鉴权、Unmatch 不联动会话等 4 处缺陷已修 |
|
||||
|
||||
---
|
||||
|
||||
### P0-2: 隐私政策最终版本确认
|
||||
## 二、仍未完成(按优先级)
|
||||
|
||||
**问题**: Go/No-Go 检查单标注"待确认",为上线前绝对阻塞项。
|
||||
### A. 阻塞 Phase 24(UAT)启动
|
||||
|
||||
**操作**:
|
||||
1. 确认隐私政策文本(用户数据采集、存储、使用、共享、权利)
|
||||
2. 确认用户协议文本
|
||||
3. 将最终版本放入 `docs/legal/` 目录
|
||||
4. 更新小程序登录页和设置页的协议链接
|
||||
1. **Phase 23 剩余**:E2E 场景真实实现 + CI 串联 E2E —— 需「活栈供给方式」**基础设施决策**
|
||||
(占位文件头已保留场景清单:首页 11 / 本地资格 11 / 互选 8 / 权限 10 / 预约 7 项)。
|
||||
2. **管理端桌面端目视复验** —— 需**用户执行**。
|
||||
3. **`docs/PENDING_DECISIONS.md` 13 项待决策** —— 需产品确认。
|
||||
|
||||
> 在 A 组完成前,**不应宣布「失败为零可进入 UAT」**(Phase 23 Gate 要求端到端链路被真实执行)。
|
||||
|
||||
### B. 上线前(运维 / 产品,需人工)
|
||||
|
||||
- **P0-4** 微信小程序审核提交(人工)。
|
||||
- **P0-5** SSL 证书申请与 DNS 配置(人工)。
|
||||
- **Phase 22 Deployment / Ops 口径 5 项未复验**:删除镜像跳过测试的发布路径、生产关 Mock WeChat/演示 Seed/Debug/Swagger、
|
||||
端口与依赖检测、**备份加密 + 真实恢复演练**、Rollback 目标明确。
|
||||
⚠️ 该 Phase 与 `STATUS.md` 所述「Phase 22 部署运维配置扩展(Feature Flag)」**是两份不同工作**。
|
||||
- **Phase 25 运营素材**(真实 Banner/站点/咨询/课堂/反诈内容,不 Seed 假数据)、**Phase 26 上线前 13 项 smoke**。
|
||||
|
||||
### C. 代码级遗留(不阻塞 UAT,但需清偿)
|
||||
|
||||
- **Phase 21**:① 红娘服务进行中拦截**硬编码 `0`** —— 根因是数据模型**没有 `matchmaker_services` 表**,
|
||||
拦截项在设计上无法落地(建表属扩权,待产品确认存储模型);② `getPrivacySettings` / `updatePrivacySettings` 仍是 TODO 桩。
|
||||
- **Phase 22**:T01~T05 五个模块开关 + T07 私有桶为**死配置**(配置暴露但从未被业务读取)。
|
||||
- **任务级 ⏳**:P16-T13(互选超时接线)、P13A-T31(随访审计)、P13A-T33(`RiskEvent source=counseling`)、
|
||||
P04-T10(Onboarding 本地资格步骤)。
|
||||
|
||||
---
|
||||
|
||||
### P0-3: PIA(隐私影响评估)书面记录
|
||||
## 三、原编号索引(便于对照历史引用)
|
||||
|
||||
**问题**: 9个场景需要书面记录,当前无记录。
|
||||
|
||||
**操作**:
|
||||
1. 按以下场景撰写PIA记录:
|
||||
- 实名认证(身份证采集)
|
||||
- 照片存储与展示
|
||||
- 位置/地区信息
|
||||
- 聊天消息存储
|
||||
- 活动报名数据
|
||||
- 红娘服务数据
|
||||
- 举报与风控数据
|
||||
- 账号注销与数据删除
|
||||
- 跨组织数据访问
|
||||
2. 保存到 `docs/security/PIA.md`
|
||||
| 原编号 | 原文标题 | 本文件位置 |
|
||||
|---|---|---|
|
||||
| P0-1 | 产品确认 16 项技术默认值 | 一、已关闭 |
|
||||
| P0-2 | 隐私政策最终版本确认 | 一、已关闭(待法务终审) |
|
||||
| P0-3 | PIA 书面记录 | 一、已关闭 |
|
||||
| P0-4 | 提交微信小程序审核 | 二、B |
|
||||
| P0-5 | SSL 证书申请与 DNS 配置 | 二、B |
|
||||
| P1-1 | CoreInvariantsTest 补充实质性测试 | 一、已关闭 |
|
||||
| P1-2 | PermissionMatrixTest 补充自动化验证 | 一、已关闭 |
|
||||
| P1-3 | 补全 Phase 23 系统测试完成报告 | 一、已关闭 |
|
||||
| P1-4 | 清理 CHANGELOG.md 重复内容 | 一、已关闭(原描述不成立) |
|
||||
| P2-1 | AccountLifecycle 注销联动完善 | 一、已关闭 |
|
||||
| P2-2 | PhotoService Presigned URL 实现 | 一、部分 |
|
||||
| P2-3 | WebSocket 在线状态管理 | 一、已关闭 |
|
||||
|
||||
---
|
||||
|
||||
### P0-4: 提交微信小程序审核
|
||||
## 四、验收标准(更新)
|
||||
|
||||
**问题**: 用户端核心入口,无审核通过的小程序无法服务用户。
|
||||
|
||||
**操作**:
|
||||
1. 在微信公众平台提交小程序审核
|
||||
2. 确保所有页面符合微信小程序审核规范
|
||||
3. 配置好 `app.json` 中的类目和标签
|
||||
4. 准备好隐私政策链接(见 P0-2)
|
||||
| 项目 | 验收条件 | 状态 |
|
||||
|---|---|---|
|
||||
| P0-1 | 16 项全部产品确认,配置正确,文档更新 | ✅ 已完成 |
|
||||
| P0-2 | 隐私政策文本在 `docs/legal/` 中,链接正确 | ✅ 文件已就位(待终审确认) |
|
||||
| P0-3 | `PIA.md` 存在,覆盖全部 9 个场景 | ✅ 文件已就位 |
|
||||
| P1-1 | CoreInvariantsTest 用例如实命名;真实行为由 Integration 测试覆盖 | ✅ 已如实处置 |
|
||||
| P1-2 | 权限矩阵 9×18 覆盖,实际调用验证 | ✅ 由契约守卫承担 |
|
||||
| P1-3 | Phase 23 完成报告存在且内容完整 | ✅ 已存在(部分关闭) |
|
||||
| P1-4 | `CHANGELOG.md` < 100KB,无重复条目 | ✅ 已满足(4.2KB) |
|
||||
| P0-4 | 微信审核提交并通过 | ⬜ 待人工 |
|
||||
| P0-5 | HTTPS 正常,证书有效 | ⬜ 待人工 |
|
||||
| Phase 23 剩余 | E2E 场景实现 + CI 串联 | ⬜ 待决策 |
|
||||
| Phase 24 | UAT 分角色验收,阻断缺陷为零 | ⬜ 待用户确认启动 |
|
||||
|
||||
---
|
||||
|
||||
### P0-5: SSL证书申请与DNS配置
|
||||
|
||||
**问题**: 生产HTTPS必需。
|
||||
|
||||
**操作**:
|
||||
1. 申请SSL证书(Let's Encrypt 或商业证书)
|
||||
2. 配置生产域名 DNS 解析(`match.danyang.gov.cn` 或约定域名)
|
||||
3. 将证书放入 `infrastructure/certs/`
|
||||
4. 验证 `nginx-production.conf` 中的证书路径
|
||||
|
||||
---
|
||||
|
||||
## P1 — 上线前应该完成(重要)
|
||||
|
||||
### P1-1: CoreInvariantsTest 补充实质性测试
|
||||
|
||||
**文件**: `backend/src/test/java/com/danyang/match/platform/invariants/CoreInvariantsTest.java`
|
||||
|
||||
**问题**: 当前测试只是检查常量定义,不是真正的业务逻辑验证。
|
||||
|
||||
**需要实现**(每个不变量需要真实业务逻辑测试):
|
||||
|
||||
```java
|
||||
// INV-001: Required不可自动放宽
|
||||
@Test
|
||||
void testRequiredConditionNotRelaxed() {
|
||||
// 创建用户A(要求对方学历=本科)和用户B(学历=专科)
|
||||
// B进入A的推荐池 → 应该被Required条件过滤
|
||||
// 验证B不在推荐结果中
|
||||
}
|
||||
|
||||
// INV-002: 未Mutual不可聊天
|
||||
@Test
|
||||
void testCannotMessageWithoutMutual() {
|
||||
// 用户A Like用户B,但B未Like A
|
||||
// 调用发送消息接口 → 应返回403/禁止
|
||||
}
|
||||
|
||||
// INV-003: Block优先级最高
|
||||
@Test
|
||||
void testBlockStopsAllInteractions() {
|
||||
// A Block B后
|
||||
// 验证B不在A的推荐中
|
||||
// 验证A Like B后自动取消
|
||||
// 验证A和B的Match自动解除
|
||||
}
|
||||
|
||||
// INV-004: 双向并发Like只创建一个Match
|
||||
@Test
|
||||
void testConcurrentLikeCreatesOneMatch() {
|
||||
// 线程A: A Like B
|
||||
// 线程B: B Like A(并发)
|
||||
// 验证只创建1个Match记录
|
||||
}
|
||||
|
||||
// INV-005: 活动名额不超卖
|
||||
@Test
|
||||
void testActivityCapacityNotOversold() {
|
||||
// 活动剩余1个名额
|
||||
// 线程A和线程B同时报名
|
||||
// 验证只有1人成功,1人被拒绝
|
||||
}
|
||||
|
||||
// INV-006: 单向活动意向不泄露
|
||||
@Test
|
||||
void testActivityInterestNotDisclosed() {
|
||||
// A选择B,但B没选A
|
||||
// 验证B的查询结果中看不到A的选择
|
||||
}
|
||||
|
||||
// INV-007: 红娘不能替用户Like
|
||||
@Test
|
||||
void testMatchmakerCannotLikeForUser() {
|
||||
// 红娘角色调用Like接口 → 应返回403
|
||||
}
|
||||
|
||||
// INV-008: 非授权Operator不能读取身份证
|
||||
@Test
|
||||
void testUnauthorizedOperatorCannotViewIdCard() {
|
||||
// reviewer角色调用敏感身份查看接口 → 应返回403
|
||||
}
|
||||
|
||||
// INV-009: 非案件上下文不能读取聊天
|
||||
@Test
|
||||
void testNoChatAccessOutsideCaseContext() {
|
||||
// risk_operator无案件授权调用聊天记录 → 应返回403
|
||||
}
|
||||
|
||||
// INV-010: 跨Organization不能越权
|
||||
@Test
|
||||
void testCrossOrgCannotAccess() {
|
||||
// Organization A的用户,不能访问Organization B的数据
|
||||
}
|
||||
```
|
||||
|
||||
**注意**: 测试应使用真实数据库(集成测试模式),通过 `@SpringBootTest` + Testcontainers 或指定测试数据库。
|
||||
|
||||
---
|
||||
|
||||
### P1-2: PermissionMatrixTest 补充自动化验证
|
||||
|
||||
**文件**: `backend/src/test/java/com/danyang/match/platform/invariants/PermissionMatrixTest.java`
|
||||
|
||||
**问题**: 当前只有权限矩阵定义,没有实际API调用验证。
|
||||
|
||||
**需要实现**:
|
||||
|
||||
```java
|
||||
@Test
|
||||
void testPermissionMatrixAllRoles() {
|
||||
// 遍历9个角色 × 18个权限
|
||||
// 每个组合:
|
||||
// 有权限 → 调用对应API → 应返回2xx
|
||||
// 无权限 → 调用对应API → 应返回403
|
||||
}
|
||||
|
||||
// 需要验证的角色:
|
||||
// super_admin, platform_admin, organization_admin,
|
||||
// reviewer, matchmaker, activity_manager,
|
||||
// risk_operator, volunteer, data_viewer
|
||||
|
||||
// 需要验证的权限模块:
|
||||
// user.view, user.sensitive.view, user.status.change,
|
||||
// review.view, review.process,
|
||||
// matchmaker.view, matchmaker.assign, matchmaker.service,
|
||||
// activity.view, activity.create, activity.review_registration,
|
||||
// risk.report.view, risk.report.process, risk.user.ban,
|
||||
// organization.manage, permission.manage,
|
||||
// analytics.view, data.export
|
||||
```
|
||||
|
||||
**验证方式**: 通过 `MockMvc` 或 `RestAssured` 调用管理端API,使用不同角色的JWT Token认证。
|
||||
|
||||
---
|
||||
|
||||
### P1-3: 补全 Phase 23 系统测试完成报告
|
||||
|
||||
**文件**: `docs/Phase-23-Completion-Report.md`
|
||||
|
||||
**问题**: Phase 23(系统测试)缺少完成报告。
|
||||
|
||||
**需要包含**:
|
||||
- 执行的测试类型和数量
|
||||
- 测试结果(通过/失败/阻塞)
|
||||
- 安全测试结果(SQL注入/XSS/CSRF等)
|
||||
- 并发测试结果
|
||||
- 发现的问题和修复情况
|
||||
|
||||
---
|
||||
|
||||
### P1-4: 清理 CHANGELOG.md 重复内容
|
||||
|
||||
**文件**: `CHANGELOG.md`
|
||||
|
||||
**问题**: 文件大小3.3MB,存在大量重复条目(同一个Phase变更被复制数十次)。
|
||||
|
||||
**操作**:
|
||||
1. 去重,保留每项变更的唯一记录
|
||||
2. 按版本(v1.0.0-rc.1, v1.0.0)组织
|
||||
3. 文件压缩到合理大小(目标 < 100KB)
|
||||
|
||||
---
|
||||
|
||||
## P2 — 建议完成(非阻塞)
|
||||
|
||||
### P2-1: AccountLifecycle 注销联动完善
|
||||
|
||||
**现状**: 代码已实现,STATUS.md 标记为TODO。
|
||||
|
||||
**验证**: 确认注销后以下联动正确:
|
||||
- 推荐停止
|
||||
- 聊天停止(新消息禁止)
|
||||
- 红娘服务停止
|
||||
- 活动处理(未开始的按规则)
|
||||
- 历史关系保留但标记为已注销
|
||||
|
||||
---
|
||||
|
||||
### P2-2: PhotoService Presigned URL 实现
|
||||
|
||||
**现状**: 代码骨架存在,功能未完整实现。
|
||||
|
||||
**需要完成**:
|
||||
- `PhotoService` 生成 MinIO Presigned URL
|
||||
- 上传凭证接口 `POST /me/photos/upload-token`
|
||||
- 下载凭证接口(私有图片访问)
|
||||
- EXIF信息清理逻辑
|
||||
|
||||
---
|
||||
|
||||
### P2-3: WebSocket 在线状态管理
|
||||
|
||||
**现状**: 骨架实现。
|
||||
|
||||
**需要完善**:
|
||||
- 用户在线/离线状态跟踪
|
||||
- 消息送达状态(已发送/已读)
|
||||
- WebSocket 重连后的状态恢复
|
||||
- 通知推送(`notification.new` 事件)
|
||||
|
||||
---
|
||||
|
||||
## 执行顺序建议
|
||||
|
||||
```
|
||||
1. P0-1 (产品确认) → 产品负责人
|
||||
2. P0-2 (隐私政策) → 产品/法务
|
||||
3. P0-3 (PIA记录) → 安全负责人
|
||||
4. P1-1 (Invariants测试) → 研发
|
||||
5. P1-2 (权限矩阵测试) → 研发
|
||||
6. P1-3 (Phase23报告) → 研发
|
||||
7. P1-4 (CHANGELOG) → 研发
|
||||
8. P0-4 (微信审核) → 产品
|
||||
9. P0-5 (SSL/DNS) → 运维
|
||||
10. P2-1 ~ P2-3 → 研发(可并行)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 验收标准
|
||||
|
||||
每项完成后应满足:
|
||||
|
||||
| 项目 | 验收条件 |
|
||||
|---|---|
|
||||
| P0-1 | 16项全部产品确认,配置正确,文档更新 |
|
||||
| P0-2 | 隐私政策文本在 `docs/legal/` 中,链接正确 |
|
||||
| P0-3 | PIA.md 存在,覆盖全部9个场景 |
|
||||
| P1-1 | CoreInvariantsTest 10个用例全部包含真实业务逻辑 |
|
||||
| P1-2 | PermissionMatrixTest 9×18全部覆盖,实际调用验证 |
|
||||
| P1-3 | Phase-23-Completion-Report.md 存在且内容完整 |
|
||||
| P1-4 | CHANGELOG.md < 100KB,无重复条目 |
|
||||
| P0-4 | 微信审核提交并通过 |
|
||||
| P0-5 | HTTPS正常,证书有效 |
|
||||
|
||||
---
|
||||
|
||||
*最后更新: 2026-09-01*
|
||||
*最后更新: 2026-09-18 — 按实测重写(原文 2026-09-01,含 3 处与实际不符的陈述)*
|
||||
|
||||
Reference in New Issue
Block a user