-
Notifications
You must be signed in to change notification settings - Fork 3
自定义搜索函数
优秀的小杨同学 edited this page Jun 21, 2023
·
2 revisions
搜索是 Sonolus 服务器的一个核心功能。接下来,本页面将向您介绍如何自定义搜索函数。
{
"options": [
{
"query": "keywords",
"name": "#KEYWORDS",
"type": "text",
"placeholder": "#KEYWORDS"
}
]
}
本代码默认处理所有满足 ?keywords={{keywords}}
的请求。
以处理搜索关卡为例,修改 items/LevelItem.h
中的 levelSearch()
函数。
函数定义: string levelSearch(map<string, string> $_GET) {}
。
其中 $_GET
为请求的 GET
参数,返回值为 SQL SELECT
函数 WHERE
后面的参数。
具体示例:
/**
* @brief 关卡搜索请求处理函数
* @param $_GET 请求 GET 参数
* @return SQL 搜索过滤代码
*/
string levelSearch(map<string, string> $_GET) {
string filter = "";
if ($_GET["keywords"] != "") filter = "title like \"%" + str_replace("\"", "\\\"", $_GET["keywords"]) + "%\"";
return filter;
}
代码编写完毕后,退出代码编辑器,使用 手动编译 中的指令重新编译 Sonolus 服务主程序和插件即可。
最后更新时间: 2023.07.01