tool · 通用工具
ts
import { ToolDomain, UgcMediaSceneType } from '@hfyidu/api/tool';Tool 领域提供微信图片内容安全检测相关能力,包括提交检测任务、按 trace_id 查询检测结果,以及分页获取检测记录,服务前缀为 tool。
用例总览
| 用例 | 说明 | 请求方式 |
|---|---|---|
ToolDomain.cases.wechatMediaUgc | 提交微信图片内容安全检测 | POST tool/wechatMediaUgc |
ToolDomain.cases.wechatMediaUgcInfo | 查询单次检测结果 | GET tool/wechatMediaUgcInfo |
ToolDomain.cases.wechatMediaUgcList | 获取检测记录(分页) | GET tool/wechatMediaUgcList |
wechatMediaUgc · 提交微信图片内容安全检测
ts
const { data } = await ToolDomain.cases.wechatMediaUgc.run({
media_url: 'https://example.com/images/avatar.jpg',
scene: UgcMediaSceneType.MATERIAL.value,
});
console.log(data?.trace_id); // 后续查询检测结果使用的任务标识请求参数 ToolWechatMediaUgcBodyParams
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
media_url | string | 是 | 待检测图片的可公开访问远程地址 |
scene | number | 是 | 内容场景,建议使用 UgcMediaSceneType 的 value |
响应 ToolWechatMediaUgcDto
| 字段 | 类型 | 后台原始字段 | 说明 |
|---|---|---|---|
errcode | number | errcode | 微信内容安全接口错误码,必填 |
errmsg | string | errmsg | 微信内容安全接口错误信息,必填 |
trace_id | string | trace_id | 检测任务标识,必填;用于调用 wechatMediaUgcInfo 查询结果 |
wechatMediaUgcInfo · 查询微信图片内容安全检测结果
ts
const { data } = await ToolDomain.cases.wechatMediaUgcInfo.run({
trace_id: '6a80524c-179ebf98-7c8930fa',
});
console.log(data?.detail); // ToolWechatMediaUgcInfoDetailDto[]请求参数 ToolWechatMediaUgcInfoQueryParams
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
trace_id | string | 是 | 提交检测任务后返回的任务标识 |
响应 ToolWechatMediaUgcInfoDto
| 字段 | 类型 | 后台原始字段 | 说明 |
|---|---|---|---|
id | number | id | 检测记录 ID,必填 |
appId | number | app_id | 业务应用 ID |
wxAppId | string | appid | 微信 AppID |
errCode | number | errcode | 微信内容安全接口错误码 |
mediaUrl | string | media_url | 被检测的媒体地址 |
openid | string | openid | 用户 OpenID;当前转换器未写入该字段,运行时可能为 undefined |
scene | number | scene | 内容场景;当前转换器未写入该字段,运行时可能为 undefined |
detail | ToolWechatMediaUgcInfoDetailDto[] | detail | 各检测策略的详细结果,默认 [] |
result | ToolWechatMediaUgcInfoResultDto | null | result | 汇总检测结果,默认 null;当前实现直接保留后台对象 |
traceId | number | trace_id | 检测任务标识;当前源码声明为 number |
updatedAt | number | updated_at | 更新时间戳 |
createdAt | string | created_at | 创建时间 |
wechatMediaUgcList · 获取微信图片内容安全检测记录(分页)
这是分页列表用例,返回结构为 { list: ToolWechatMediaUgcListDto[] }。应只获取一次用例实例并复用,避免分页状态丢失:
ts
const ugcListCase = ToolDomain.cases.wechatMediaUgcList;
await ugcListCase.refresh();
console.log(ugcListCase.list); // ToolWechatMediaUgcListDto[]
if (ugcListCase.hasMore.value) {
await ugcListCase.loadMore();
}请求参数 ToolWechatMediaUgcListQueryParams
page 和 limit 由 PaginatorUseCase 在调用 refresh() / loadMore() 时自动维护,通常无需业务代码手动传入。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
page | number | 是 | 页码,由分页用例内部注入 |
limit | number | 是 | 每页条数,由分页用例内部注入 |
响应 ToolWechatMediaUgcListDto[]
ToolWechatMediaUgcListDto 支持 @List 批量转换,并通过 @Freeze 冻结实例。字段与 ToolWechatMediaUgcInfoDto 一致:
| 字段 | 类型 | 后台原始字段 | 说明 |
|---|---|---|---|
id | number | id | 检测记录 ID,必填 |
appId | number | app_id | 业务应用 ID |
wxAppId | string | appid | 微信 AppID |
errCode | number | errcode | 微信内容安全接口错误码 |
mediaUrl | string | media_url | 被检测的媒体地址 |
openid | string | openid | 用户 OpenID;当前转换器未写入该字段,运行时可能为 undefined |
scene | number | scene | 内容场景;当前转换器未写入该字段,运行时可能为 undefined |
detail | ToolWechatMediaUgcInfoDetailDto[] | detail | 各检测策略的详细结果,默认 [] |
result | ToolWechatMediaUgcInfoResultDto | null | result | 汇总检测结果,默认 null;当前实现直接保留后台对象 |
traceId | number | trace_id | 检测任务标识;当前源码声明为 number |
updatedAt | number | updated_at | 更新时间戳 |
createdAt | string | created_at | 创建时间 |
ToolWechatMediaUgcInfoDetailDto · 检测明细
该 DTO 支持 @List 批量转换。
| 字段 | 类型 | 后台原始字段 | 说明 |
|---|---|---|---|
errCode | number | errcode | 当前策略的错误码 |
label | number | label | 命中的内容标签 |
prob | number | prob | 命中概率 |
strategy | string | strategy | 检测策略标识 |
suggest | string | suggest | 处理建议 |
ToolWechatMediaUgcInfoResultDto · 汇总结果
| 字段 | 类型 | 说明 |
|---|---|---|
label | number | 汇总命中的内容标签 |
suggest | string | 汇总处理建议 |
枚举
UgcMediaSceneType 内容场景
| 枚举成员 | value | code | text | 说明 |
|---|---|---|---|---|
MATERIAL | 1 | material | 资料 | 资料类图片 |
COMMENT | 2 | comment | 评论 | 评论场景 |
FORUM | 3 | forum | 论坛 | 论坛场景 |
SOCIAL | 4 | social_log | 社交 | 社交日志场景 |