forked from datawhale/whale-town-end
* **新增 Zulip 模块**:包含完整的集成服务,涵盖客户端池(client pool)、会话管理及事件处理。 * **新增 WebSocket 网关**:用于处理 Zulip 的实时事件监听与双向通信。 * **新增安全服务**:支持 API 密钥加密存储及凭据的安全管理。 * **新增配置管理服务**:支持配置热加载(hot-reload),实现动态配置更新。 * **新增错误处理与监控服务**:提升系统的可靠性与可观测性。 * **新增消息过滤服务**:用于内容校验及速率限制(流控)。 * **新增流初始化与会话清理服务**:优化资源管理与回收。 * **完善测试覆盖**:包含单元测试及端到端(e2e)集成测试。 * **完善详细文档**:包括 API 参考手册、配置指南及集成概述。 * **新增地图配置系统**:实现游戏地点与 Zulip Stream(频道)及 Topic(话题)的逻辑映射。 * **新增环境变量配置**:涵盖 Zulip 服务器地址、身份验证及监控相关设置。 * **更新 App 模块**:注册并启用新的 Zulip 集成模块。 * **更新 Redis 接口**:以支持增强型的会话管理功能。 * **实现 WebSocket 协议支持**:确保与 Zulip 之间的实时双向通信。
89 lines
1.8 KiB
TypeScript
89 lines
1.8 KiB
TypeScript
/**
|
||
* Redis接口定义
|
||
* 定义统一的Redis操作接口,支持文件存储和真实Redis切换
|
||
*/
|
||
export interface IRedisService {
|
||
/**
|
||
* 设置键值对
|
||
* @param key 键
|
||
* @param value 值
|
||
* @param ttl 过期时间(秒)
|
||
*/
|
||
set(key: string, value: string, ttl?: number): Promise<void>;
|
||
|
||
/**
|
||
* 设置键值对并指定过期时间
|
||
* @param key 键
|
||
* @param ttl 过期时间(秒)
|
||
* @param value 值
|
||
*/
|
||
setex(key: string, ttl: number, value: string): Promise<void>;
|
||
|
||
/**
|
||
* 获取值
|
||
* @param key 键
|
||
* @returns 值或null
|
||
*/
|
||
get(key: string): Promise<string | null>;
|
||
|
||
/**
|
||
* 删除键
|
||
* @param key 键
|
||
* @returns 是否删除成功
|
||
*/
|
||
del(key: string): Promise<boolean>;
|
||
|
||
/**
|
||
* 检查键是否存在
|
||
* @param key 键
|
||
* @returns 是否存在
|
||
*/
|
||
exists(key: string): Promise<boolean>;
|
||
|
||
/**
|
||
* 设置过期时间
|
||
* @param key 键
|
||
* @param ttl 过期时间(秒)
|
||
*/
|
||
expire(key: string, ttl: number): Promise<void>;
|
||
|
||
/**
|
||
* 获取剩余过期时间
|
||
* @param key 键
|
||
* @returns 剩余时间(秒),-1表示永不过期,-2表示不存在
|
||
*/
|
||
ttl(key: string): Promise<number>;
|
||
|
||
/**
|
||
* 自增
|
||
* @param key 键
|
||
* @returns 自增后的值
|
||
*/
|
||
incr(key: string): Promise<number>;
|
||
|
||
/**
|
||
* 添加元素到集合
|
||
* @param key 键
|
||
* @param member 成员
|
||
*/
|
||
sadd(key: string, member: string): Promise<void>;
|
||
|
||
/**
|
||
* 从集合移除元素
|
||
* @param key 键
|
||
* @param member 成员
|
||
*/
|
||
srem(key: string, member: string): Promise<void>;
|
||
|
||
/**
|
||
* 获取集合所有成员
|
||
* @param key 键
|
||
* @returns 成员列表
|
||
*/
|
||
smembers(key: string): Promise<string[]>;
|
||
|
||
/**
|
||
* 清空所有数据
|
||
*/
|
||
flushall(): Promise<void>;
|
||
} |