docs: 统一时间格式为亚洲友好的日期时间字符串
所有文档中的时间字段统一为 yyyy-MM-dd HH:mm:ss 格式(Asia/Shanghai): - 移除 ISO 8601 格式(2026-02-27T10:00:00Z) - 移除 Unix 时间戳(1740700000) - 响应字段从 timestamp(int64) 改为 time(string) - API README 新增「时间格式规范」章节 - 涉及 10 个文档文件 Made-with: Cursor
This commit is contained in:
@@ -37,6 +37,21 @@
|
||||
Authorization: Bearer <access_token>
|
||||
```
|
||||
|
||||
### 时间格式规范
|
||||
|
||||
系统所有时间字段统一使用 **亚洲友好的日期时间字符串格式**:
|
||||
|
||||
```
|
||||
yyyy-MM-dd HH:mm:ss
|
||||
```
|
||||
|
||||
示例:`"2026-03-01 14:12:12"`
|
||||
|
||||
- 所有 API 响应中的时间字段(`created_at`、`updated_at`、`last_login_at`、`started_at` 等)均使用此格式
|
||||
- 所有 API 请求中的时间参数(如预约会议时间)也使用此格式
|
||||
- WebSocket 消息中的时间字段同样遵循此格式
|
||||
- 时区统一采用 **Asia/Shanghai (UTC+8)**
|
||||
|
||||
### 统一响应格式
|
||||
|
||||
**成功响应:**
|
||||
@@ -45,7 +60,7 @@ Authorization: Bearer <access_token>
|
||||
"code": 0,
|
||||
"message": "ok",
|
||||
"data": { ... },
|
||||
"timestamp": 1740700000
|
||||
"time": "2026-02-27 18:00:00"
|
||||
}
|
||||
```
|
||||
|
||||
@@ -55,7 +70,7 @@ Authorization: Bearer <access_token>
|
||||
"code": 1001,
|
||||
"message": "参数错误:邮箱格式不正确",
|
||||
"data": null,
|
||||
"timestamp": 1740700000
|
||||
"time": "2026-02-27 18:00:00"
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
@@ -99,9 +99,9 @@
|
||||
"phone": "13800138000",
|
||||
"status": 1,
|
||||
"roles": ["user"],
|
||||
"last_login_at": "2026-02-27T10:00:00Z",
|
||||
"last_login_at": "2026-02-27 10:00:00",
|
||||
"last_login_ip": "192.168.1.100",
|
||||
"created_at": "2026-02-20T08:00:00Z"
|
||||
"created_at": "2026-02-20 08:00:00"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
@@ -163,7 +163,7 @@
|
||||
"gender": 1,
|
||||
"phone": "13800138000",
|
||||
"roles": ["user"],
|
||||
"created_at": "2026-02-27T10:00:00Z"
|
||||
"created_at": "2026-02-27 10:00:00"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
"type": 1,
|
||||
"content": "你好",
|
||||
"sender_id": 2,
|
||||
"created_at": "2026-02-27T10:30:00Z"
|
||||
"created_at": "2026-02-27 10:30:00"
|
||||
},
|
||||
"unread_count": 3,
|
||||
"is_pinned": false
|
||||
@@ -65,7 +65,7 @@
|
||||
"type": 1,
|
||||
"content": "明天开会",
|
||||
"sender_id": 3,
|
||||
"created_at": "2026-02-27T11:00:00Z"
|
||||
"created_at": "2026-02-27 11:00:00"
|
||||
},
|
||||
"unread_count": 0,
|
||||
"is_pinned": true,
|
||||
@@ -117,7 +117,7 @@
|
||||
{ "user_id": 1, "nickname": "张三", "role": 2, "online": true },
|
||||
{ "user_id": 2, "nickname": "李四", "role": 0, "online": false }
|
||||
],
|
||||
"created_at": "2026-02-20T09:00:00Z"
|
||||
"created_at": "2026-02-20 09:00:00"
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -153,7 +153,7 @@
|
||||
"content": "明天几点开会?",
|
||||
"extra": {},
|
||||
"status": 1,
|
||||
"created_at": "2026-02-27T10:28:00Z"
|
||||
"created_at": "2026-02-27 10:28:00"
|
||||
},
|
||||
{
|
||||
"id": 99,
|
||||
@@ -169,7 +169,7 @@
|
||||
"thumbnail": "https://cdn.echochat.com/img/xxx_thumb.jpg"
|
||||
},
|
||||
"status": 1,
|
||||
"created_at": "2026-02-27T10:29:00Z"
|
||||
"created_at": "2026-02-27 10:29:00"
|
||||
}
|
||||
],
|
||||
"has_more": true
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
"status": 1,
|
||||
"host_id": 1,
|
||||
"max_members": 50,
|
||||
"created_at": "2026-02-27T10:00:00Z"
|
||||
"created_at": "2026-02-27 10:00:00"
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -73,7 +73,7 @@
|
||||
| 字段 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| title | string | 是 | 会议标题 |
|
||||
| scheduled_at | string | 是 | 预约时间(ISO 8601,如 "2026-03-01T14:00:00Z") |
|
||||
| scheduled_at | string | 是 | 预约时间,格式:`yyyy-MM-dd HH:mm:ss`,如 `"2026-03-01 14:00:00"` |
|
||||
| password | string | 否 | 会议密码 |
|
||||
| max_members | int | 否 | 最大人数 |
|
||||
| invite_user_ids | int[] | 否 | 预先邀请的用户 ID 列表 |
|
||||
@@ -110,10 +110,10 @@
|
||||
"has_password": true,
|
||||
"max_members": 50,
|
||||
"current_members": 5,
|
||||
"started_at": "2026-02-27T10:00:00Z",
|
||||
"started_at": "2026-02-27 10:00:00",
|
||||
"participants": [
|
||||
{ "user_id": 1, "nickname": "张三", "role": 1, "joined_at": "2026-02-27T10:00:00Z" },
|
||||
{ "user_id": 2, "nickname": "李四", "role": 0, "joined_at": "2026-02-27T10:01:00Z" }
|
||||
{ "user_id": 1, "nickname": "张三", "role": 1, "joined_at": "2026-02-27 10:00:00" },
|
||||
{ "user_id": 2, "nickname": "李四", "role": 0, "joined_at": "2026-02-27 10:01:00" }
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
"from_username": "zhangsan"
|
||||
},
|
||||
"is_read": false,
|
||||
"created_at": "2026-02-27T10:00:00Z"
|
||||
"created_at": "2026-02-27 10:00:00"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
@@ -62,7 +62,7 @@
|
||||
"message": "我是你的同事"
|
||||
},
|
||||
"is_read": false,
|
||||
"created_at": "2026-02-27T09:30:00Z"
|
||||
"created_at": "2026-02-27 09:30:00"
|
||||
}
|
||||
],
|
||||
"total": 15,
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
"event": "im.message.send",
|
||||
"seq": 1001,
|
||||
"data": { ... },
|
||||
"timestamp": 1740700000
|
||||
"time": "2026-02-27 18:06:40"
|
||||
}
|
||||
```
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
| event | string | 事件名称,格式:`{模块}.{对象}.{动作}` |
|
||||
| seq | int | 消息序列号,客户端自增,用于匹配请求和响应 |
|
||||
| data | object | 事件数据 |
|
||||
| timestamp | int | 发送时间戳(秒) |
|
||||
| time | string | 发送时间,格式:`yyyy-MM-dd HH:mm:ss`,时区 Asia/Shanghai |
|
||||
|
||||
### 服务端响应格式(ACK)
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
{
|
||||
"event": "im.message.new",
|
||||
"data": { ... },
|
||||
"timestamp": 1740700000
|
||||
"time": "2026-02-27 18:06:40"
|
||||
}
|
||||
```
|
||||
|
||||
@@ -117,7 +117,7 @@
|
||||
"type": 1,
|
||||
"content": "你好",
|
||||
"extra": {},
|
||||
"created_at": "2026-02-27T10:30:00Z"
|
||||
"created_at": "2026-02-27 10:30:00"
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
@@ -435,7 +435,7 @@ POST /api/v1/client/log # 前端错误上报接口
|
||||
"stack": "Error: ICE connection failed...",
|
||||
"page": "/meeting/room",
|
||||
"user_agent": "...",
|
||||
"timestamp": 1740700000
|
||||
"time": "2026-02-27 18:06:40"
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
@@ -587,7 +587,7 @@ echo:ws:conn:{conn_id} → 连接信息 JSON (STRING)
|
||||
"event": "im.message.send",
|
||||
"seq": 1001,
|
||||
"data": {},
|
||||
"timestamp": 1740700000
|
||||
"time": "2026-02-27 18:06:40"
|
||||
}
|
||||
```
|
||||
|
||||
@@ -720,7 +720,7 @@ DELETE /media/room/:id
|
||||
"code": 0,
|
||||
"message": "ok",
|
||||
"data": {},
|
||||
"timestamp": 1740700000
|
||||
"time": "2026-02-27 18:00:00"
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
@@ -226,7 +226,7 @@ type Response struct {
|
||||
Message string `json:"message"`
|
||||
Data interface{} `json:"data,omitempty"`
|
||||
TraceID string `json:"trace_id,omitempty"`
|
||||
Timestamp int64 `json:"timestamp"`
|
||||
Time string `json:"time"`
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user