Skip to content

Commit 0a8fd4f

Browse files
committed
docs: 更新wiki
- 更新了wiki的语言规范 - 优化了骨架屏样式
1 parent 00094f5 commit 0a8fd4f

File tree

15 files changed

+220
-201
lines changed

15 files changed

+220
-201
lines changed

frontend/src/components/ui/FilterTable.tsx

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,19 @@ function getScrollHeight(
132132
return "calc(100vh - 112px - 16px)";
133133
}
134134

135+
// 首屏无数据时仍给 loading 容器保留稳定高度,避免鉴权骨架切换后表格区域塌陷。
136+
function getLoadingSurfaceStyle(scrollHeight: number | string): React.CSSProperties {
137+
if (typeof scrollHeight === "number") {
138+
return { height: `${scrollHeight}px` };
139+
}
140+
141+
if (scrollHeight !== "auto") {
142+
return { height: scrollHeight };
143+
}
144+
145+
return { minHeight: "25.5rem" };
146+
}
147+
135148
function resolveTableColumns(
136149
customColumns?: ColumnDef<Record<string, unknown>, unknown>[],
137150
): ColumnDef<Record<string, unknown>, unknown>[] {
@@ -474,8 +487,14 @@ function FilterTableContent({
474487
}: Readonly<FilterTableContentProps>) {
475488
if (filter.isLoading && filter.data.length === 0) {
476489
return (
477-
<div className="flex items-center justify-center py-8 text-muted-foreground">
478-
<Loader2 className="w-5 h-5 animate-spin mr-2" />
490+
<div className="px-6 pb-6">
491+
<div
492+
className="flex items-center justify-center rounded-md border border-border bg-card text-muted-foreground"
493+
style={getLoadingSurfaceStyle(scrollHeight)}
494+
>
495+
<Loader2 className="mr-2 h-5 w-5 animate-spin" />
496+
<span>加载中...</span>
497+
</div>
479498
</div>
480499
);
481500
}

wiki/dev-guide/cart-sync.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
- `POST /api/reagent-orders`:当前 `CartImport` 页面提交试剂条目时实际调用的接口。
5353
- `POST /api/consumable-orders`:当前 `CartImport` 页面提交耗材条目时实际调用的接口。
5454

55-
如果你在排查“扩展导入成功,但页面没有落单”,要先确认是桥接阶段失败,还是页面逐条调用标准订单 API 失败,而不是默认怀疑 `/api/cart-sync/import`
55+
排查“扩展导入成功,但页面没有落单”时,应先确认是桥接阶段失败,还是页面逐条调用标准订单 API 失败,而不是默认怀疑 `/api/cart-sync/import`
5656

5757
## 安全与边界
5858

wiki/dev-guide/key-files.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# 关键文件索引
22

3-
本页不是简单列文件名,而是说明“遇到某类问题时,优先看哪几个文件,为什么先看它们”。
3+
本页不是简单列文件名,而是说明“遇到某类问题时,优先看哪些文件,以及它们为何排在前面”。
44

55
## 启动与运行边界
66

wiki/dev-guide/principal-guide.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
- Redis 是加速层,不是事实源。当前项目把会话失效通知、登录限流和跨进程 SSE 放在 Redis 上,但就算 Redis 退化,SQLite 仍是业务主数据源。
1818
- 公共账号不是“弱权限用户”,而是专门受限身份。它在导入、建单等路径上会被显式拒绝。
1919

20-
## 先看什么,才能最快进入状态
20+
## 快速进入状态的阅读顺序
2121

2222
- 运行边界:<InlineCodeRef href="https://github.com/hzb666/LabStorageManager/blob/main/app/main.py" />、<InlineCodeRef href="https://github.com/hzb666/LabStorageManager/blob/main/frontend/src/main.tsx" />
2323
- 数据基线:<InlineCodeRef href="https://github.com/hzb666/LabStorageManager/blob/main/app/database.py" />、<InlineCodeRef href="https://github.com/hzb666/LabStorageManager/blob/main/app/services/pinyin_utils.py" />、<InlineCodeRef href="https://github.com/hzb666/LabStorageManager/blob/main/app/services/internal_code.py" />
@@ -54,7 +54,7 @@
5454

5555
- 列表里数据旧,但刷新后正确:优先查短 TTL 缓存和 SSE stale 处理。
5656
- 到货后找不到库存:优先查 `reagent_orders_workflow.py` 的确认到货/入库分支。
57-
- 被踢下线但页面还挂着:优先查 `auth.invalid` 事件、`triggerSessionInvalidation` 和当前会话 token hash。
57+
- 会话被强制下线但页面仍停留在当前状态:优先查 `auth.invalid` 事件、`triggerSessionInvalidation` 和当前会话 token hash。
5858
- 扩展导入打开了页面但没有批次:优先查 bridge、批次 TTL 和 `batch_id`
5959

6060
## 接手时容易漏掉的点

wiki/dev-guide/zero-to-hero.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
4. 提交一条耗材订单,完成审批并标记完成。
3535
5. 走一遍库存借用 -> 归还链路,并观察列表是否通过 SSE 提示刷新。
3636

37-
如果你能把这五步分别对应到模型、API、页面和 SSE 事件房间,后面再看代码就不会只停留在文件名层面
37+
若能把这五步分别对应到模型、API、页面和 SSE 事件房间,后续阅读代码时就不会只停留在文件名层面
3838

3939
## 第四阶段:补一遍外部导入链路
4040

wiki/overview/tech-stack.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -137,13 +137,13 @@ flowchart LR
137137
| 后端启动 | `python -m uvicorn app.main:app --reload --host 0.0.0.0 --port 8000` |
138138
| 前端启动 | `cd frontend && npm run dev` |
139139

140-
## 继续看哪一页
140+
## 相关主题
141141

142-
- 想看代码目录怎么分:去 [目录结构](/overview/directory-structure)
143-
- 想看接口怎么组织:去 [API 边界与导航](/overview/api-boundary)
144-
- 想看后端职责:去 [后端服务地图](/backend/service-map)
145-
- 想看前端基础设施:去 [前端 Hooks](/frontend/hooks)[前端 Lib 工具箱](/frontend/lib-overview)
146-
- 想看数据库实体:去 [数据模型](/database/data-model)[字段参考](/database/field-reference)
142+
- 代码目录划分:参见 [目录结构](/overview/directory-structure)
143+
- 接口组织方式:参见 [API 边界与导航](/overview/api-boundary)
144+
- 后端职责分层:参见 [后端服务地图](/backend/service-map)
145+
- 前端基础设施:参见 [前端 Hooks](/frontend/hooks)[前端 Lib 工具箱](/frontend/lib-overview)
146+
- 数据库实体与字段:参见 [数据模型](/database/data-model)[字段参考](/database/field-reference)
147147

148148
## 参考代码
149149
- [app/core/auth.py](https://github.com/hzb666/LabStorageManager/blob/main/app/core/auth.py)

wiki/user-guide/account-and-support.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# 账户、公告与使用支持
22

3-
本页主要讲三件事:个人账户怎么管、公告怎么看、常见问题怎么先判断
3+
本页主要覆盖三类内容:个人账户管理、公告查看方式和常见问题的初步判断
44

55
## 个人账户页
66

@@ -29,7 +29,7 @@
2929

3030
### 头像怎么处理
3131

32-
你可以上传头像,也可以删除头像。上传后通常会先看到预览,再完成保存。
32+
支持上传和删除头像。上传后通常会先显示预览,再完成保存。
3333

3434
## 修改密码
3535

@@ -55,15 +55,15 @@
5555
- 首次登录时间
5656
- 当前设备标记
5757

58-
### 你可以做什么
58+
### 可执行操作
5959

6060
#### 重命名设备
6161

62-
你可以给设备起更容易认的名字,比如实验室电脑、办公室电脑或个人笔记本。这样以后查起来更方便
62+
可为设备设置更易识别的名称,例如实验室电脑、办公室电脑或个人笔记本,便于后续区分
6363

6464
#### 踢出单个设备
6565

66-
如果某台设备不该继续登录,可以直接把它踢下线。踢出后,那台设备要重新登录才能继续用
66+
如果某台设备不应继续保持登录状态,可直接将其下线。下线后,该设备需要重新登录才能继续使用
6767

6868
常见场景包括:
6969

@@ -75,7 +75,7 @@
7575

7676
这个操作会保留当前设备,只清掉其他设备。常见于:
7777

78-
- 改完密码后顺手清理旧会话
78+
- 改完密码后同步清理旧会话
7979
- 共享电脑比较多,需要统一收口
8080

8181
#### 刷新会话
@@ -86,7 +86,7 @@
8686

8787
系统对设备和 IP 数量会有一定限制,用来保护账号安全。如果超限,通常需要先清理旧设备或旧会话。
8888

89-
## 公告怎么看
89+
## 公告查看方式
9090

9191
公告有两个常见入口:
9292

@@ -101,7 +101,7 @@
101101

102102
如果某条公告后来又变回未读,通常说明公告内容更新过了。
103103

104-
### 公告列表里通常能看到什么
104+
### 公告列表常见内容
105105

106106
- 标题
107107
- 日期
@@ -115,7 +115,7 @@
115115

116116
顶部横幅只会显示已经置顶、而且当前可见的公告。
117117

118-
你可以把它理解成“当前最重要的提醒”。如果你把它关掉,它只是暂时不显示,不代表以后不会再出现
118+
可将其理解为“当前最重要的提醒”。关闭后仅为暂时隐藏,不代表后续不会再次出现
119119

120120
## 公告详情
121121

@@ -145,27 +145,27 @@
145145
- 忘记密码
146146
- 共享电脑上还留着登录
147147

148-
### 共享电脑上先做什么
148+
### 共享电脑使用建议
149149

150150
- 用完后主动退出。
151151
- 定期看一下设备列表。
152152
- 不要把公用账户当成真实借用人。
153153

154-
### 跳回登录页是什么意思
154+
### 自动返回登录页的含义
155155

156156
通常表示当前会话已经失效,不一定是页面坏了。
157157

158158
## 使用建议
159159

160-
如果你是普通用户,建议这样做
160+
普通用户建议按以下方式处理
161161

162162
- 改用户名后记住新的登录名。
163163
- 定期检查设备列表,清理不再使用的设备。
164164
- 重要公告尽量点开看全文。
165165
- 在共享终端上,尽量用“踢出其他设备”收尾。
166166

167-
如果你是管理员,个人账户页也很重要
167+
管理员也应关注个人账户页
168168

169169
- 定期检查自己的设备列表。
170-
- 改密码后顺手清理其他设备
170+
- 改密码后同步清理其他设备
171171
- 设备重命名可以帮你更快分辨不同终端。

0 commit comments

Comments
 (0)