Appearance
搜索与消息
本页介绍全局搜索的入口与覆盖范围,以及站内私信的使用与限制。
全局搜索
导航栏搜索按钮或 Ctrl + K(macOS 为 Cmd + K)打开搜索面板:
| 入口 | 行为 |
|---|---|
| 命令面板(Ctrl + K) | 分组展示各类结果,底部「查看全部结果」跳转结果页;没有类型切换 |
结果页(/search) | 可按类型切换:全部 / 题目 / 用户 / 帖子 / 评论 / 竞赛 / 提交 / 消息 / 公告 |
搜索行为:
- 输入即搜(带防抖),支持键盘上下选择。
- 结果页显示「第 N 页,耗时 Xms」,非「全部」模式支持分页。
- 支持按题号搜索(如
P1001),可直达对应题目。
搜索能力边界
- 关键词长度限制为 2–100 字符(少于 2 字符不发请求)。
- 用户搜索仅管理员可用:普通用户按「用户」类型搜索会被拒绝。
- 题目搜索遵循题目可见性规则(U 型题默认私有,仅所有者与管理员可见)。
- 社区内容(帖子 / 评论)的可见性受社区开关与游客阅读设置约束。
搜索限流
搜索有独立的限流桶(与登录限流互不影响),默认窗口 30 秒:匿名按来源 IP 计数,登录用户按账号计数, 管理员不限流。超限时返回 429,并带有 Retry-After 与 X-RateLimit-* 响应头。
站内私信
「消息」入口在用户菜单,未读消息显示红色数字徽标(自动轮询)。
发起会话:消息页左侧搜索用户 → 点击创建会话 → 发送第一条消息。每对用户只有一个会话,不能给自己发消息。
消息操作:
| 操作 | 说明 |
|---|---|
| 发送 | 单条最长 10000 字符 |
| 已读 | 打开会话自动标记;未读数 = 晚于最后已读位置的消息数 |
| 加载更早 | 向上滚动加载历史消息 |
| 删除 | 仅影响自己的视角(软删除),对方仍可见 |
| 实时刷新 | 新消息通过 SSE 推送触发刷新 |
会话列表按最后消息时间倒序,显示对方用户名(注销显示「已注销用户」)、消息预览(约 50 字截断,图片显示 [图片]、已撤回显示 [已撤回])与未读数。
私信可能经过异步合规审核
为维护社区环境,若平台启用了内容审核,私信文本会在发送后进行异步合规审核(仅上传文本,不上传图片 / 附件), 命中违规会进入人工审查队列,由审核员查看会话上下文后处理(记录 / 封禁等)。发送方与接收方不会因异步审核受到即时影响。