## Features Status 功能项状态说明。 ## 目前支持的功能集合 #### 子服务 * `OldWeb` 开启旧的Web服务(目前状态: 已弃,不可用) * [ ] 提按文档 * [x] 服务初始化逻辑 * [x] 接口定义 * [x] 业务逻辑实现 * `Web` 开启Web服务(目前状态: WIP) * [ ] 提按文档 * [x] 服务初始化逻辑 * [x] 接口定义 * [x] 业务逻辑实现 * `Admin` 开启Admin后台运维服务(目前状态: WIP) * [ ] 提按文档 * [x] 服务初始化逻辑 * [ ] 接口定义 * [ ] 业务逻辑实现 * `SpaceX` 开启SpaceX服务(目前状态: WIP) * [ ] 提按文档 * [x] 服务初始化逻辑 * [ ] 接口定义 * [ ] 业务逻辑实现 * `Bot` 开启Bot服务(目前状态: WIP) * [ ] 提按文档 * [x] 服务初始化逻辑 * [ ] 接口定义 * [ ] 业务逻辑实现 * `NativeOBS` 开启NativeOBS服务(目前状态: WIP) * [ ] 提按文档 * [ ] 服务初始化逻辑 * [ ] 接口定义 * [ ] 业务逻辑实现 * `Docs` 开启NativeOBS服务(目前状态: WIP) * [ ] 提按文档 * [x] 服务初始化逻辑 * `Frontend:Web` 开启独立前端服务(目前状态: 内测) * [ ] 提按文档 * [x] 服务初始化逻辑 * `Frontend:EmbedWeb` 开启内嵌于后端Web API服务中的前端服务(目前状态: 稳定|默认) * [ ] 提按文档 * [x] 服务初始化逻辑 * `Deprecated:OldWeb` 开启旧的Web服务(目前状态: 已弃,不可用) * [ ] 提按文档 * [x] 服务初始化逻辑 #### 数据库: * `Gorm` + `MySQL`/`Sqlite3`/`PostgreSQL` 使用[gorm](https://github.com/go-gorm/gorm)作为数据库的ORM,默认使用 `Grom` + `MySQL`组合(目前状态:稳定,默认,推荐使用); * [ ] 提按文档 * [x] 接口定义 * [x] 业务逻辑实现 * `Sqlx` + `MySQL`/`PostgreSQL` 使用[sqlx](https://github.com/bitbus/sqlx)作为数据库的ORM(目前状态:WIP); * [ ] 提按文档 * [ ] 接口定义 * [ ] 业务逻辑实现 #### 对象存储: * `AliOSS` 阿里云对象存储服务; * [ ] 提按文档 * [x] 接口定义 * [x] 业务逻辑实现 * `COS` 腾讯云对象存储服务; * [ ] 提按文档 * [x] 接口定义 * [x] 业务逻辑实现 * `HuaweiOBS` 华为云对象存储服务; * [ ] 提按文档 * [x] 接口定义 * [x] 业务逻辑实现 * `MinIO` [MinIO](https://github.com/minio/minio)对象存储服务; * [ ] 提按文档 * [x] 接口定义 * [x] 业务逻辑实现 * `S3` AWS S3兼容的对象存储服务; * [ ] 提按文档 * [x] 接口定义 * [x] 业务逻辑实现 * `LocalOSS` 提供使用本地目录文件作为对象存储的功能,仅用于开发调试环境; * [ ] 提按文档 * [x] 接口定义 * [x] 业务逻辑实现 * `OSS:Retention` 基于对象存储系统的对象过期自动删除特性实现 先创建临时对象再持久化的功能(目前状态: 内测阶段); * [ ] 提按文档 * [x] 接口定义 * [x] 业务逻辑实现 * `OSS:TempDir` 基于对象存储系统的对象拷贝/移动特性实现 先创建临时对象再持久化的功能(目前状态: 内测阶段); * [ ] 提按文档 * [x] 接口定义 * [x] 业务逻辑实现 #### 缓存: * `Redis` Redis缓存 * [ ] 提按文档 * [x] 接口定义 * [x] 业务逻辑实现 * `SimpleCacheIndex` 提供简单的 广场推文列表 的缓存功能能(目前状态: Deprecated); * [ ] 提按文档 * [x] 接口定义 * [x] 业务逻辑实现 * `BigCacheIndex` 使用[BigCache](https://github.com/allegro/bigcache)缓存 广场推文列表,缓存每个用户每一页,简单做到千人千面(目前状态: Deprecated); * [ ] 提按文档 * [x] 接口定义 * [x] 业务逻辑实现 * `RedisCacheIndex` 使用Redis缓存 广场推文列表,缓存每个用户每一页,简单做到千人千面(目前状态: Deprecated); * [ ] 提按文档 * [x] 接口定义 * [x] 业务逻辑实现 #### 搜索: * `Zinc` 基于[Zinc](https://github.com/zinclabs/zinc)搜索引擎提供推文搜索服务(目前状态: 稳定,推荐使用); * [ ] 提按文档 * [x] 接口定义 * [x] 业务逻辑实现 * `Meili` 基于[Meilisearch](https://github.com/meilisearch/meilisearch)搜索引擎提供推文搜索服务(目前状态: 稳定,推荐使用); * [ ] 提按文档 * [x] 接口定义 * [x] 业务逻辑实现 * `Bleve` 基于[Bleve](https://github.com/blevesearch/bleve)搜索引擎提供推文搜索服务(目前状态: WIP); * [ ] 提按文档 * [ ] 接口定义 * [ ] 业务逻辑实现 #### 日志: * `LoggerFile` 使用文件写日志(目前状态: 稳定); * [ ] 提按文档 * [x] 接口定义 * [x] 业务逻辑实现 * `LoggerZinc` 使用[Zinc](https://github.com/zinclabs/zinc)写日志(目前状态: 稳定,推荐使用); * [ ] 提按文档 * [x] 接口定义 * [x] 业务逻辑实现 * `LoggerMeili` 使用[Meilisearch](https://github.com/meilisearch/meilisearch)写日志(目前状态: 内测阶段); * [ ] 提按文档 * [x] 接口定义 * [x] 业务逻辑实现 * `LoggerOpenObserve` 使用[OpenObserve](https://github.com/openobserve/openobserve)写日志(目前状态: 内测阶段); * [ ] 提按文档 * [x] 接口定义 * [x] 业务逻辑实现 #### 监控: * `Sentry` 使用Sentry进行错误跟踪与性能监控(目前状态: 内测); * [x] [提按文档](docs/proposal/23040412-关于使用sentry用于错误追踪与性能检测的设计.md) * [x] 接口定义 * [x] 业务逻辑实现 #### 关系模式: * `Friendship` 弱关系好友模式,类似微信朋友圈(目前状态: 内置Builtin); * [x] [提按文档](docs/proposal/22110410-关于Friendship功能项的设计.md) * [x] 接口定义 * [x] 业务逻辑实现 * `Followship` 关注者模式,类似Twitter的Follow模式(目前状态: 内置Builtin); * [ ] [提按文档](docs/proposal/22110409-关于Followship功能项的设计.md) * [ ] 接口定义 * [ ] 业务逻辑实现 * `Lightship` 开放模式,所有推文都公开可见(目前状态: 已弃,不可用); * [x] [提按文档](docs/proposal/22121409-关于Lightship功能项的设计.md) * [x] 接口定义 * [x] 业务逻辑实现 ### 支付: * `Alipay` 开启基于[支付宝开放平台](https://open.alipay.com/)的钱包功能; * [ ] 提按文档 * [x] 接口定义 * [x] 业务逻辑实现 ### 短信验证: * SmsJuhe(需要开启sms) * [ ] 提按文档 * [x] 接口定义 * [x] 业务逻辑实现 * `Sms` 开启短信验证码功能,用于手机绑定验证手机是否注册者的;功能如果没有开启,手机绑定时任意短信验证码都可以绑定手机; * [ ] 提按文档 * [x] 接口定义 * [x] 业务逻辑实现 ### 开发文档: * `Docs:OpenAPI` 开启openapi文档功能,提供web api文档说明(visit http://127.0.0.1:8008/docs/openapi); * [ ] 提按文档 * [x] 接口定义 * [x] 业务逻辑实现 ### 性能优化 * [`Pyroscope`](docs/proposal/23021510-关于使用pyroscope用于性能调试的设计.md) 开启Pyroscope功能用于性能调试(目前状态: 内测); * [x] 提按文档 * [x] 业务逻辑实现 * [`Pprof`](docs/proposal/23062905-添加Pprof功能特性用于获取Profile.md) 开启Pprof功能收集Profile信息(目前状态: 内测); * [x] 提按文档 * [x] 业务逻辑实现 ### 其他: * `PhoneBind` 手机绑定功能; * [ ] 提按文档 * [x] 接口定义 * [x] 业务逻辑实现 * `UseAuditHook` 使用审核hook功能 (目前状态: 内测 待完善后将转为Builtin) * [ ] 提按文档 * [x] 接口定义 * [x] 业务逻辑实现 * `DisableJobManager` 禁止使用JobManager功能 (目前状态: 内测 待完善后将转为Builtin) * [ ] 提按文档 * [x] 接口定义 * [x] 业务逻辑实现 ### 功能特性: * `Web:DisallowUserRegister` 不允许用户注册; * [ ] 提按文档 * [x] 接口定义 * [x] 业务逻辑实现