Files
olons_server/README.md
T

89 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# im_workbench
工作台服务从 `im_server` 拆分后的独立 Go 工程。当前阶段只拆服务和接口边界,数据库暂不迁移,继续访问现有租户库中的工作台表。
## 路由
- `GET /healthz`
- `GET /metrics`
- `GET /v1/workbench`
- `/v1/workbench/organization/*`
- `/v1/workbench/attendance/*`
- `/v1/workbench/meetings*`
- `/v1/workbench/meeting-notes`
- `/v1/workbench/reports/daily*`
- `/v1/workbench/reports/monthly*`
- `/v1/workbench/executive-mailbox/*`
## 本地运行
```bash
IM_WORKBENCH_CONFIG=configs/workbench.local.json go run ./cmd/workbench
```
默认监听 `:6061`,默认连接本地 `tinode` 库和本地 Redis。
开发联调可在 `configs/workbench.local.json` 打开 `allow_dev_header_auth`,请求头带:
```text
X-User-ID: 1
X-Tenant-ID: 1
X-Tenant-Code: default
```
正式链路使用:
```text
Authorization: Bearer {token}
X-MeetingIM-APIKey: {apikey}
X-Tenant-Code: default
X-IM-Schema: 1
X-Request-ID: {uuid}
```
服务从 Redis 读取 `im:session:token:{sha256(token)}` 校验登录态。
## Kafka 事件
工作台写操作统一投递到 `im.workbench.event`。本地配置默认关闭 Kafka:
```bash
IM_WORKBENCH_KAFKA_ENABLED=true \
IM_WORKBENCH_KAFKA_BROKERS=127.0.0.1:9092 \
IM_WORKBENCH_CONFIG=configs/workbench.local.json \
go run ./cmd/workbench
```
测试环境使用 `configs/workbench.test.json` 中的 SASL/SCRAM-SHA-512 配置。
事件体字段:
```json
{
"event_id": "wbe_xxx",
"trace_id": "request-id",
"tenant_id": 1,
"tenant_code": "default",
"actor_user_id": 42,
"module": "meeting",
"action": "meeting.created",
"resource_id": "mtg_xxx",
"target_user_ids": [42, 43],
"title": "会议通知",
"summary": "项目周会",
"occurred_at": "2026-09-13T14:00:00Z",
"data": {}
}
```
## 构建
```bash
make test
make build
```
## 数据库原则
服务启动不自动建库建表,不执行 `CREATE TABLE` / `ALTER TABLE`。所有表结构和种子数据继续通过 SQL 审核后人工执行。