本项目包含了一系列适用于 OpenIM 通用工具和库以及一些其他的项目提供工具支持,旨在支持高效方案开发。以下是各个模块的功能介绍:
api2rpc.go
:API 到 RPC 的转换工具,用于将 HTTP API 请求转换为 RPC 调用。
format.go
,gin.go
,http.go
,resp.go
:处理 API 响应的格式化、封装及发送,支持不同的Web框架。
check.go
:提供服务健康检查和依赖项验证功能。
config.go
,config_parser.go
,config_source.go
,manager.go
,path.go
:配置管理模块,支持配置的解析、加载及动态更新。validation
:提供配置验证的工具和库。
mongo
,pagination
,redis
,tx.go
:数据库操作相关的工具,包括 MongoDB、Redis 的支持和事务管理。
discovery_register.go
:服务发现与注册功能。zookeeper
:基于 Zookeeper 的服务发现实现。
env.go
,env_test.go
:环境变量管理工具,包括加载和解析环境变量。
code.go
,coderr.go
,error.go
,predefine.go
,relation.go
:错误码管理和自定义错误类型。
file.go
,path.go
:处理文件操作和路径生成的实用工具。- 相关的测试文件。
color.go
,encoder.go
,logger.go
,sql_logger.go
,zap.go
,zk_logger.go
:日志管理模块,支持多种日志格式和输出。
Important
关于 OpenIM log 可以阅读 https://github.com/openimsdk/open-im-server/blob/main/docs/contrib/logging.md
ctx.go
:上下文管理工具,用于在中间件和服务之间传递请求相关的信息。
kafka
:基于 Kafka 的消息队列支持。
gin.go
,intercept_chain.go
,rpc_client_interceptor.go
,rpc_server_interceptor.go
:中间件和拦截器,用于处理请求的预处理和后处理。specialerror
:特殊错误处理模块。
jwt_token.go
,jwt_token_test.go
:JWT 令牌验证和测试。
utils 包含多个工具库,如 encoding
, encrypt
, httputil
, jsonutil
, network
, splitter
, stringutil
, timeutil
:提供各种常用功能,例如加密、编码、网络操作等。
base64.go
&base64_test.go
:提供 Base64 编码和解码的实用函数,及其单元测试。
encryption.go
&encryption_test.go
:包含加密和解密的功能实现,支持常见的加密算法,以及相关的单元测试。
jsonutils.go
&jsonutils_test.go
:提供 JSON 数据处理的实用函数,如解析和生成 JSON,以及相关的单元测试。
http_client.go
&http_client_test.go
:封装 HTTP 客户端的操作,提供便捷的 HTTP 请求发送方法,及其单元测试。
interface.go
,json.go
&json_test.go
:专注于 JSON 数据处理,包括更高级的 JSON 操作和定制化的 JSON 解析方法,及其单元测试。
ip.go
&ip_test.go
:提供网络相关的实用函数,如 IP 地址的解析和验证,以及相关的单元测试。
splitter.go
&splitter_test.go
:提供字符串分割的工具,支持多种分割策略和复杂的分割场景,及其单元测试。
strings.go
&strings_test.go
:包含一系列字符串操作的实用函数,如字符串的修改、搜索、比较等,及其单元测试。
time_format.go
&time_format_test.go
:提供与时间相关的实用函数,包括时间格式的解析和格式化,以及相关的单元测试。
base.go
,doc.go
,types.go
,version.go
:版本管理工具,用于定义和管理项目版本信息。