跳到主要内容

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 ];
}