模块说明
search 提供跨模块的全局搜索:默认搜商品,可通过参数切换到其它模块(文章、案例、下载等),支持分类筛选、分页与多种排序。返回结果由服务端渲染组装,含结果列表与可用的排序选项。
鉴权级别:可选(匿名可调)。
接口一览
| 方法 |
URL |
鉴权 |
说明 |
| GET |
/api/search |
可选 |
全局搜索 |
请求参数
| 参数 |
必填 |
默认 |
说明 |
q |
否 |
空 |
搜索关键词(服务端做合法性校验,非法字符会返回 422) |
module |
否 |
product |
搜索模块(模块英文名,如 product、article、cases、download) |
category_id |
否 |
0 |
分类 ID 筛选(0=全部) |
page |
否 |
1 |
页码 |
by |
否 |
空 |
排序字段(以返回的 sort_list 为准) |
sort |
否 |
空 |
排序方向(asc / desc) |
GET /api/search?q=手机&module=product&page=1
响应
{
"code": "OK",
"message": "",
"data": {
"title": "搜索",
"keyword": "手机",
"search_module": "product",
"search_results": "...",
"search_list": [ { "id": 1, "name": "...", "url": "...", "...": "" } ],
"sort_list": [ { "name": "默认", "value": "", "active": true } ]
},
"errors": {},
"request_id": "9f2a5c8e1b3d7f40"
}
| 字段 |
说明 |
title |
结果页标题 |
keyword |
回显的搜索关键词 |
search_module |
实际生效的搜索模块 |
search_results |
结果统计/摘要片段 |
search_list |
结果列表 |
sort_list |
可用排序选项(含 active 标记当前选中项),客户端渲染排序切换器 |
注意事项
- 空关键词也可调用(相当于浏览模式,结果按模块默认规则返回);
module 只接受字母(做白名单式校验),未安装/未开放的模块结果为空;
- 关键词含非法字符时返回
422(DomainException,message 提示关键词不合法);
- 结果列表分页语义与站点其它列表一致(
page 翻页)。