sword_client
简介
作为客户端接入敏感词服务器sword server
本pkg用于创建连接sword server的客户端连接对象;
一般的,只有作为sword server的客户端(比如社交服务器)才需要本pkg;
组件接口
SwordClient.gs
处理sword server连接的对象
本对象包含组件:request_client。
| 函数原型 | 函数作用 |
|---|---|
| bool ping() | 检查目标主机是否可用 |
| mixed check_content(string content, map para = ) | 检查文本内容里是否包含敏感词 |
| mixed filter_content(string content, map para = ) | 过滤文本内容里的敏感词 |
sword_client.gs
| 函数原型 | 函数作用 |
|---|---|
| object create_client(map para) | 创建一个连接sword server的客户端连接对象 |
样例
#pragma parallel
import gs.lang.*;
import gs.util.*;
import pkg.sword_client;
readonly object _client;
void create()
{
map cfg = {
"port_recv_size" : 131072,
"host" : "127.0.0.1",
"port" : 7432,
"admin_token" : "{xxxxxxxxxxxxxxxxxxxxx}",
};
object ob = sword_client.create_client(cfg);
_client := ob;
}
// 检查并且过滤内容
public mixed check_and_filter_content(string content)
{
let bool check_success, mixed check_result = check_content(content);
if (! check_success)
// 操作失败
return [ false, nil ];
// 操作成功根据操作结果继续处理
//
if (! check_result)
// 操作成功但是内容未变更
return [ true, nil ];
// 有敏感词,过滤并返回结果
let bool filter_success, mixed filter_result = filter_content(content);
if (! filter_success)
// 操作失败
return [ false, nil ];
// 操作成功并且内容变更
return [ true, filter_result ];
}
// 检查内容
// 返回结果: [ 操作成功/失败, 操作结果]
mixed check_content(string content)
{
mixed result = _client.check_content(content);
if (is_nil(result))
return [ false, result ];
return [ true, result ];
}
// 返回结果: [ 操作成功/失败, 操作结果]
array filter_content(string content)
{
mixed result = _client.filter_content(content);
if (is_nil(result))
return [ false, result ];
return [ true, result ];
}