feat: scope blacklists and paginate phone segments
This commit is contained in:
@@ -298,6 +298,7 @@ npm run test:gateway
|
||||
- `DELETE /api/admin/channels/:id`:软删除通道,避免破坏历史发送/报备外键。
|
||||
- `GET /api/admin/channels/:id/connection-logs`:基于 `OperationLog` 和 `CmppConnectionState` 查询连接日志;保留 `/link-logs` 兼容旧前端。
|
||||
- 安全控制补齐真实 API:敏感词、全局黑名单、企业黑名单支持 keyword/status 查询、创建、启停/软删除,并写操作日志。
|
||||
- 企业黑名单修正为企业应用级黑名单:Prisma `EnterpriseBlacklist` 新增 `applicationId` 并改为 `applicationId + phoneNumber` 唯一;运营端页面按企业和短信应用新增/搜索;发送预览和风控只命中当前应用的 active 黑名单。
|
||||
- 模板审核补齐真实查询:运营端模板列表支持 keyword/status,并返回企业、应用、签名信息;前端模板审核页已改为调用真实 API。
|
||||
- 运营端企业模板管理新增短信模板时,后端直接写入 `auditStatus=approved`;短信模板审核页展示为“已通过”,客户端自行提交模板仍保留审核流。
|
||||
- 企业认证审核补齐真实查询:列表支持 keyword/status,详情返回企业信息和认证 materials;前端企业认证审核页已改为调用真实 API。
|
||||
@@ -1355,3 +1356,34 @@ git diff --check
|
||||
- API build 通过。
|
||||
- 前端 build 通过,仍存在既有 Vite chunk size warning。
|
||||
- `git diff --check` 无空白错误,仅 Windows 工作区 LF/CRLF 提示。
|
||||
|
||||
## 2026-07-10 手机号段库大数据分页
|
||||
|
||||
### 本轮修复
|
||||
|
||||
- `GET /api/admin/dictionaries/phone-segments` 从固定返回前 200 条改为按唯一 `prefix` 游标分页,支持服务端按号段、运营商、省份和城市搜索。
|
||||
- API 每页多读取 1 条计算 `hasMore/nextCursor`,不执行 50 万级号段表的 `COUNT(*)`。
|
||||
- 运营端手机号段页面使用真实服务端分页,移除号段总数卡片、Tab 数字和分页总数,只显示当前页码及上一页/下一页。
|
||||
- 生产手机号段数据已从 `dannyhu926/phone_location` 2026 年 4 月数据导入;源数据 516470 条,过滤 253 条非 7 位异常记录,最终有效 7 位号段 516217 条。
|
||||
|
||||
### 验证口径
|
||||
|
||||
- API 定向单测覆盖游标、搜索、每页多取 1 条和不查询总数。
|
||||
- 前端 build 和 API build 必须通过。
|
||||
- 生产验证应覆盖首尾翻页、关键词搜索、API/Gateway/PostgreSQL 健康状态和典型号段归属地查询。
|
||||
|
||||
### 已执行命令与结果
|
||||
|
||||
```bash
|
||||
npm --prefix api test -- --runTestsByPath src/dictionaries/dictionaries.service.spec.ts
|
||||
npm --prefix api run build
|
||||
npm run build
|
||||
git diff --check
|
||||
```
|
||||
|
||||
- DictionariesService 定向单测通过:1 个 test suite、3 个测试通过。
|
||||
- API build 和前端 build 通过;前端仍有既有 chunk size warning。
|
||||
- 生产 API 实测 `pageSize=2`:第一页返回 `1300000/1300001` 和 `nextCursor=1300001`,下一页返回 `1300002/1300003`,响应无 `total` 字段。
|
||||
- 生产 API 搜索 `1882120` 返回“中国移动/上海/上海”;搜索“上海”首屏响应约 80ms。
|
||||
- 生产 `cmpp-api`、`cmpp-gateway`、PostgreSQL、Nginx 均为 active,API health 正常。
|
||||
- 隔离部署后曾因 `dist/assets` 被保留为 `700 root:root` 导致 Nginx 无权读取 JS/CSS、admin 页面空白;线上已修正为目录 `755`、文件 `644`,正式生产部署脚本同步固化权限。
|
||||
|
||||
Reference in New Issue
Block a user