vue2-client 1.20.31 → 1.20.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.eslintrc.js CHANGED
@@ -69,12 +69,6 @@ module.exports = {
69
69
  env: {
70
70
  jest: true
71
71
  }
72
- },
73
- {
74
- files: ['src/base-client/components/common/XReportGrid/XReport.vue'],
75
- rules: {
76
- 'vue/no-reserved-keys': 'off'
77
- }
78
72
  }
79
73
  ]
80
74
  }
@@ -0,0 +1,12 @@
1
+ 2026-03-18 10:11:17 - afgit.config - INFO - 开始推送配置
2
+ 2026-03-18 10:11:17 - afgit.config - INFO - 开始推送配置文件(含新增与修改),目录: ./config_files
3
+ 2026-03-18 10:11:17 - afgit.config - DEBUG - 开始认证,URL: http://192.168.50.67:31467/api/af-auth/login, 用户名: 1
4
+ 2026-03-18 10:11:18 - afgit.config - ERROR - 解析认证响应失败: {"code":400,"data":null,"error":true,"msg":"用户不存在/密码错误","success":false}, 用户名: 1, 密码: Class123!@!
5
+ 2026-03-18 10:11:18 - afgit.config - ERROR - 认证失败,推送终止
6
+ 2026-03-18 10:11:18 - afgit.config - ERROR - 推送配置失败
7
+ 2026-03-18 10:11:24 - afgit.config - INFO - 开始拉取最新配置
8
+ 2026-03-18 10:11:24 - afgit.config - INFO - 开始下载配置文件到: ./config_files
9
+ 2026-03-18 10:11:24 - afgit.config - DEBUG - 开始认证,URL: http://192.168.50.67:31467/api/af-auth/login, 用户名: 1
10
+ 2026-03-18 10:11:25 - afgit.config - ERROR - 解析认证响应失败: {"code":400,"data":null,"error":true,"msg":"用户不存在/密码错误","success":false}, 用户名: 1, 密码: Class123!@!
11
+ 2026-03-18 10:11:25 - afgit.config - ERROR - 认证失败,下载终止
12
+ 2026-03-18 10:11:25 - afgit.config - ERROR - 拉取配置失败
@@ -0,0 +1,7 @@
1
+ 2026-02-27 09:24:44 - afgit.config - INFO - 开始拉取最新配置
2
+ 2026-02-27 09:24:44 - afgit.config - INFO - 创建本地目录: ./config_files
3
+ 2026-02-27 09:24:44 - afgit.config - INFO - 开始下载配置文件到: ./config_files
4
+ 2026-02-27 09:24:44 - afgit.config - DEBUG - 开始认证,URL: http://192.168.50.67:31467/api/af-auth/login, 用户名: 1
5
+ 2026-02-27 09:24:44 - afgit.config - ERROR - 解析认证响应失败: {"code":400,"data":null,"error":true,"msg":"用户不存在/密码错误","success":false}, 用户名: 1, 密码: Class123!@!
6
+ 2026-02-27 09:24:44 - afgit.config - ERROR - 认证失败,下载终止
7
+ 2026-02-27 09:24:44 - afgit.config - ERROR - 拉取配置失败
@@ -0,0 +1,6 @@
1
+ 2026-03-18 10:11:18 - afgit.config - ERROR - 解析认证响应失败: {"code":400,"data":null,"error":true,"msg":"用户不存在/密码错误","success":false}, 用户名: 1, 密码: Class123!@!
2
+ 2026-03-18 10:11:18 - afgit.config - ERROR - 认证失败,推送终止
3
+ 2026-03-18 10:11:18 - afgit.config - ERROR - 推送配置失败
4
+ 2026-03-18 10:11:25 - afgit.config - ERROR - 解析认证响应失败: {"code":400,"data":null,"error":true,"msg":"用户不存在/密码错误","success":false}, 用户名: 1, 密码: Class123!@!
5
+ 2026-03-18 10:11:25 - afgit.config - ERROR - 认证失败,下载终止
6
+ 2026-03-18 10:11:25 - afgit.config - ERROR - 拉取配置失败
@@ -0,0 +1,3 @@
1
+ 2026-02-27 09:24:44 - afgit.config - ERROR - 解析认证响应失败: {"code":400,"data":null,"error":true,"msg":"用户不存在/密码错误","success":false}, 用户名: 1, 密码: Class123!@!
2
+ 2026-02-27 09:24:44 - afgit.config - ERROR - 认证失败,下载终止
3
+ 2026-02-27 09:24:44 - afgit.config - ERROR - 拉取配置失败
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue2-client",
3
- "version": "1.20.31",
3
+ "version": "1.20.33",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "serve": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint",
@@ -1,201 +1,201 @@
1
- # XMarkdownSectionExtractor 组件
2
-
3
- 从 markdown 文档中抽取指定区块的内容,并可转换为不同组件需要的格式。
4
-
5
- ## 功能特性
6
-
7
- - 支持多种 markdown 源(字符串、import、File/Blob、URL)
8
- - 按配置的关键字/标题级别抽取区块
9
- - 支持多种输出格式(默认、xlist-default、xlist-card)
10
- - 可配置字段映射
11
-
12
- ## 安装引入
13
-
14
- ```javascript
15
- import XMarkdownSectionExtractor from '@vue2-client/base-client/components/common/XMarkdownSectionExtractor'
16
- ```
17
-
18
- ## 基本用法
19
-
20
- ### 1. 获取原始 sections 数据
21
-
22
- ```vue
23
- <XMarkdownSectionExtractor
24
- :source="markdownSource"
25
- :sectionsConfig="[{ key: 'suggestion', label: '建议', headingLevel: 3 }]"
26
- v-slot="{ sections, itemsByKey }"
27
- >
28
- <div v-for="sec in sections">
29
- <h3>{{ sec.label }}</h3>
30
- <ul>
31
- <li v-for="item in sec.items">{{ item.name }}</li>
32
- </ul>
33
- </div>
34
- </XMarkdownSectionExtractor>
35
- ```
36
-
37
- ### 2. 转换为 XList 默认模式
38
-
39
- ```vue
40
- <XMarkdownSectionExtractor
41
- :source="markdownSource"
42
- :sectionsConfig="sectionsConfig"
43
- outputFormat="xlist-default"
44
- v-slot="{ formattedData }"
45
- >
46
- <XList :initialData="formattedData" />
47
- </XMarkdownSectionExtractor>
48
- ```
49
-
50
- ### 3. 转换为 XList 卡片模式
51
-
52
- ```vue
53
- <XMarkdownSectionExtractor
54
- :source="markdownSource"
55
- :sectionsConfig="sectionsConfig"
56
- outputFormat="xlist-card"
57
- v-slot="{ formattedData }"
58
- >
59
- <XList :initialData="formattedData" listMode="card" />
60
- </XMarkdownSectionExtractor>
61
- ```
62
-
63
- ### 4. 自定义字段映射
64
-
65
- ```vue
66
- <XMarkdownSectionExtractor
67
- :source="markdownSource"
68
- :sectionsConfig="sectionsConfig"
69
- outputFormat="xlist-default"
70
- :outputOptions="{ numberField: 'id', nameField: 'title' }"
71
- v-slot="{ formattedData }"
72
- >
73
- <XList :initialData="formattedData" />
74
- </XMarkdownSectionExtractor>
75
- ```
76
-
77
- ### 5. 手动触发抽取
78
-
79
- ```vue
80
- <XMarkdownSectionExtractor
81
- :source="markdownSource"
82
- :sectionsConfig="sectionsConfig"
83
- :autoExtract="false"
84
- ref="extractor"
85
- />
86
-
87
- // 手动调用
88
- this.$refs.extractor.extract().then(sections => {
89
- console.log('抽取结果:', sections)
90
- })
91
- ```
92
-
93
- ## Props
94
-
95
- | 属性 | 类型 | 默认值 | 说明 |
96
- |------|------|--------|------|
97
- | source | String/Object | - | markdown 源,支持字符串、import、File/Blob、URL |
98
- | sectionsConfig | Array | [] | 区块配置数组 |
99
- | autoExtract | Boolean | true | 是否在 mounted 时自动抽取 |
100
- | outputFormat | String | 'default' | 输出格式:default / xlist-default / xlist-card |
101
- | outputOptions | Object | {} | 字段映射选项 |
102
-
103
- ### sectionsConfig 配置说明
104
-
105
- ```javascript
106
- [
107
- {
108
- key: 'nextStepSuggestion', // 唯一标识
109
- label: '下一步建议', // 标题关键字
110
- headingLevel: 3 // 标题级别(1-6)
111
- }
112
- ]
113
- ```
114
-
115
- ### outputOptions 配置说明
116
-
117
- ```javascript
118
- // xlist-default 模式
119
- { numberField: 'number', nameField: 'name' }
120
-
121
- // xlist-card 模式
122
- { labelField: 'label', valueField: 'name' }
123
- ```
124
-
125
- ## Slots
126
-
127
- | 名称 | 说明 |
128
- |---------|-------------|
129
- | default | 默认插槽,暴露以下数据 |
130
-
131
- ### 插槽暴露的数据
132
-
133
- | 变量 | 类型 | 说明 |
134
- |---------------|---------|--------------------------|
135
- | sections | Array | 原始抽取结果数组 |
136
- | itemsArray | Array | 打平的一维条目数组 |
137
- | itemsByKey | Object | 按 key 分组的条目对象 |
138
- | formattedData | Array | 格式化后的数据(根据 outputFormat) |
139
- | loading | Boolean | 加载状态 |
140
- | error | Error | 错误信息 |
141
-
142
- ## Events
143
-
144
- | 事件名 | 参数 | 说明 |
145
- |------------------------|-----------------|------------|
146
- | extracted | (sections) | 抽取完成时触发 |
147
- | extracted-items | (itemsArray) | 条目数组抽取完成 |
148
- | extracted-items-by-key | (itemsByKey) | 按 key 分组完成 |
149
- | formatted-data | (formattedData) | 格式化数据完成 |
150
- | error | (error) | 发生错误时触发 |
151
-
152
- ## 输出格式说明
153
-
154
- ### default(默认格式)
155
-
156
- 返回原始 sections 数组:
157
-
158
- ```jsons
159
- [
160
- {
161
- "key": "nextStepSuggestion",
162
- "label": "下一步建议",
163
- "content": "...",
164
- "items": [
165
- { "id": 1, "name": "头颅MRI + MRV" },
166
- { "id": 2, "name": "血液学检验" }
167
- ]
168
- }
169
- ]
170
- ```
171
-
172
- ### xlist-default 格式
173
-
174
- 适用于 XList 默认模式:
175
-
176
- ```json
177
- [
178
- { "number": 1, "name": "头颅MRI + MRV" },
179
- { "number": 2, "name": "血液学检验" }
180
- ]
181
- ```
182
-
183
- ### xlist-card 格式
184
-
185
- 适用于 XList 卡片模式(二维数组):
186
-
187
- ```json
188
- [
189
- [
190
- { "label": "下一步建议", "value": "下一步建议", "type": "title", "bold": true },
191
- { "label": "", "value": "头颅MRI + MRV", "type": "text" },
192
- { "label": "", "value": "血液学检验", "type": "text" }
193
- ]
194
- ]
195
- ```
196
-
197
- ## 区块抽取规则
198
-
199
- - 按配置的 `label`(关键字)在 markdown 中查找对应标题
200
- - 抽取范围:从标题下方到下一个同级或更高等级标题之前的内容
201
- - 支持自定义正则匹配:`labelPattern: /^建议$/`
1
+ # XMarkdownSectionExtractor 组件
2
+
3
+ 从 markdown 文档中抽取指定区块的内容,并可转换为不同组件需要的格式。
4
+
5
+ ## 功能特性
6
+
7
+ - 支持多种 markdown 源(字符串、import、File/Blob、URL)
8
+ - 按配置的关键字/标题级别抽取区块
9
+ - 支持多种输出格式(默认、xlist-default、xlist-card)
10
+ - 可配置字段映射
11
+
12
+ ## 安装引入
13
+
14
+ ```javascript
15
+ import XMarkdownSectionExtractor from '@vue2-client/base-client/components/common/XMarkdownSectionExtractor'
16
+ ```
17
+
18
+ ## 基本用法
19
+
20
+ ### 1. 获取原始 sections 数据
21
+
22
+ ```vue
23
+ <XMarkdownSectionExtractor
24
+ :source="markdownSource"
25
+ :sectionsConfig="[{ key: 'suggestion', label: '建议', headingLevel: 3 }]"
26
+ v-slot="{ sections, itemsByKey }"
27
+ >
28
+ <div v-for="sec in sections">
29
+ <h3>{{ sec.label }}</h3>
30
+ <ul>
31
+ <li v-for="item in sec.items">{{ item.name }}</li>
32
+ </ul>
33
+ </div>
34
+ </XMarkdownSectionExtractor>
35
+ ```
36
+
37
+ ### 2. 转换为 XList 默认模式
38
+
39
+ ```vue
40
+ <XMarkdownSectionExtractor
41
+ :source="markdownSource"
42
+ :sectionsConfig="sectionsConfig"
43
+ outputFormat="xlist-default"
44
+ v-slot="{ formattedData }"
45
+ >
46
+ <XList :initialData="formattedData" />
47
+ </XMarkdownSectionExtractor>
48
+ ```
49
+
50
+ ### 3. 转换为 XList 卡片模式
51
+
52
+ ```vue
53
+ <XMarkdownSectionExtractor
54
+ :source="markdownSource"
55
+ :sectionsConfig="sectionsConfig"
56
+ outputFormat="xlist-card"
57
+ v-slot="{ formattedData }"
58
+ >
59
+ <XList :initialData="formattedData" listMode="card" />
60
+ </XMarkdownSectionExtractor>
61
+ ```
62
+
63
+ ### 4. 自定义字段映射
64
+
65
+ ```vue
66
+ <XMarkdownSectionExtractor
67
+ :source="markdownSource"
68
+ :sectionsConfig="sectionsConfig"
69
+ outputFormat="xlist-default"
70
+ :outputOptions="{ numberField: 'id', nameField: 'title' }"
71
+ v-slot="{ formattedData }"
72
+ >
73
+ <XList :initialData="formattedData" />
74
+ </XMarkdownSectionExtractor>
75
+ ```
76
+
77
+ ### 5. 手动触发抽取
78
+
79
+ ```vue
80
+ <XMarkdownSectionExtractor
81
+ :source="markdownSource"
82
+ :sectionsConfig="sectionsConfig"
83
+ :autoExtract="false"
84
+ ref="extractor"
85
+ />
86
+
87
+ // 手动调用
88
+ this.$refs.extractor.extract().then(sections => {
89
+ console.log('抽取结果:', sections)
90
+ })
91
+ ```
92
+
93
+ ## Props
94
+
95
+ | 属性 | 类型 | 默认值 | 说明 |
96
+ |------|------|--------|------|
97
+ | source | String/Object | - | markdown 源,支持字符串、import、File/Blob、URL |
98
+ | sectionsConfig | Array | [] | 区块配置数组 |
99
+ | autoExtract | Boolean | true | 是否在 mounted 时自动抽取 |
100
+ | outputFormat | String | 'default' | 输出格式:default / xlist-default / xlist-card |
101
+ | outputOptions | Object | {} | 字段映射选项 |
102
+
103
+ ### sectionsConfig 配置说明
104
+
105
+ ```javascript
106
+ [
107
+ {
108
+ key: 'nextStepSuggestion', // 唯一标识
109
+ label: '下一步建议', // 标题关键字
110
+ headingLevel: 3 // 标题级别(1-6)
111
+ }
112
+ ]
113
+ ```
114
+
115
+ ### outputOptions 配置说明
116
+
117
+ ```javascript
118
+ // xlist-default 模式
119
+ { numberField: 'number', nameField: 'name' }
120
+
121
+ // xlist-card 模式
122
+ { labelField: 'label', valueField: 'name' }
123
+ ```
124
+
125
+ ## Slots
126
+
127
+ | 名称 | 说明 |
128
+ |---------|-------------|
129
+ | default | 默认插槽,暴露以下数据 |
130
+
131
+ ### 插槽暴露的数据
132
+
133
+ | 变量 | 类型 | 说明 |
134
+ |---------------|---------|--------------------------|
135
+ | sections | Array | 原始抽取结果数组 |
136
+ | itemsArray | Array | 打平的一维条目数组 |
137
+ | itemsByKey | Object | 按 key 分组的条目对象 |
138
+ | formattedData | Array | 格式化后的数据(根据 outputFormat) |
139
+ | loading | Boolean | 加载状态 |
140
+ | error | Error | 错误信息 |
141
+
142
+ ## Events
143
+
144
+ | 事件名 | 参数 | 说明 |
145
+ |------------------------|-----------------|------------|
146
+ | extracted | (sections) | 抽取完成时触发 |
147
+ | extracted-items | (itemsArray) | 条目数组抽取完成 |
148
+ | extracted-items-by-key | (itemsByKey) | 按 key 分组完成 |
149
+ | formatted-data | (formattedData) | 格式化数据完成 |
150
+ | error | (error) | 发生错误时触发 |
151
+
152
+ ## 输出格式说明
153
+
154
+ ### default(默认格式)
155
+
156
+ 返回原始 sections 数组:
157
+
158
+ ```jsons
159
+ [
160
+ {
161
+ "key": "nextStepSuggestion",
162
+ "label": "下一步建议",
163
+ "content": "...",
164
+ "items": [
165
+ { "id": 1, "name": "头颅MRI + MRV" },
166
+ { "id": 2, "name": "血液学检验" }
167
+ ]
168
+ }
169
+ ]
170
+ ```
171
+
172
+ ### xlist-default 格式
173
+
174
+ 适用于 XList 默认模式:
175
+
176
+ ```json
177
+ [
178
+ { "number": 1, "name": "头颅MRI + MRV" },
179
+ { "number": 2, "name": "血液学检验" }
180
+ ]
181
+ ```
182
+
183
+ ### xlist-card 格式
184
+
185
+ 适用于 XList 卡片模式(二维数组):
186
+
187
+ ```json
188
+ [
189
+ [
190
+ { "label": "下一步建议", "value": "下一步建议", "type": "title", "bold": true },
191
+ { "label": "", "value": "头颅MRI + MRV", "type": "text" },
192
+ { "label": "", "value": "血液学检验", "type": "text" }
193
+ ]
194
+ ]
195
+ ```
196
+
197
+ ## 区块抽取规则
198
+
199
+ - 按配置的 `label`(关键字)在 markdown 中查找对应标题
200
+ - 抽取范围:从标题下方到下一个同级或更高等级标题之前的内容
201
+ - 支持自定义正则匹配:`labelPattern: /^建议$/`
@@ -312,6 +312,10 @@ export default {
312
312
  <style lang="less" scoped>
313
313
  .x-markdown-section-extractor {
314
314
  display: block;
315
+ width: 100%;
316
+ max-height: 599px;
317
+ overflow-y: auto;
318
+ overflow-x: hidden;
315
319
  }
316
320
 
317
321
  .extractor-header {
@@ -1,85 +1,63 @@
1
- 根据病历描述,该患者存在以下关键临床特征:
2
-
3
- - **既往有典型偏头痛病史**:单侧、搏动性、中重度头痛,伴畏光、畏声,符合原发性偏头痛特征。
4
- - **本次发作性质明显不同**:全头胀痛、平躺加重、站立减轻,提示**体位性头痛**;且咳嗽时加重。
5
- - **新出现神经系统体征**:双侧视乳头水肿、颈强(3指),提示颅内压异常。
6
- - **伴随症状**:呕吐、视物模糊。
7
-
8
- 这些表现提示本次并非单纯偏头痛发作,而是**颅内压异常**所致的继发性头痛。
9
-
10
- ### 关键鉴别点:
11
-
12
- 1. **体位性头痛**(立位减轻、卧位加重)是**低颅压性头痛**的典型特征,常见于自发性或继发性脑脊液漏。
13
- 2. 然而,**双侧视乳头水肿**是**颅内压增高**的特征性体征,而非低颅压表现。
14
- 3. **颈强**提示脑膜刺激征,但克氏征、布氏征阴性,不支持典型脑膜炎。
15
-
16
- 结合视乳头水肿与头痛在**平躺时加重**,提示**颅内压增高**。咳嗽时头痛加重也符合颅内压增高特征(Valsalva样动作加重)。
17
-
18
- 此外,患者为育龄期女性,2个月前停经,需考虑**妊娠相关颅内压增高**,尤其是**特发性颅内压增高(IIH)**。
19
-
20
- ---
21
-
22
- ### 还需提问
23
-
24
- 1. **头痛是否与体位明显相关?**
25
- - 平躺时加重、站立时减轻,提示可能存在颅内压增高。
26
- - 咳嗽、用力时加重,提示颅内压增高或静脉窦血栓可能。
27
- - 无体位变化,更支持偏头痛等原发性头痛。
28
-
29
- 2. **是否存在近期体重变化、月经紊乱或激素使用?**
30
- - 近期体重增加、停经,提示内分泌紊乱或特发性颅内高压(IIH)可能。
31
- - 使用口服避孕药或激素替代治疗,是IIH的危险因素。
32
- - 无激素使用,需排除其他结构性病变。
33
-
34
- 3. **是否有视力变化或视野缺损?**
35
- - 视物模糊、短暂视力丧失,提示视神经受压或IIH相关视神经病变。
36
- - 视野缺损,需紧急评估视神经功能。
37
- - 无视力问题,但视乳头水肿仍需重视。
38
-
39
- ---
40
-
41
- ### 最可能的诊断:
42
-
43
- **特发性颅内压增高(IIH)**,尤其在育龄期肥胖女性中高发,但本例未提及体重情况。
44
-
45
- 诊断需满足以下标准(根据材料):
46
-
47
- - **症状和体征**:头痛、视物模糊、双侧视乳头水肿。
48
- - **正常脑神经功能**(除视乳头水肿外),无局灶性神经功能缺损。
49
- - **正常神经影像学**(需排除占位、静脉窦血栓等)。
50
- - **脑脊液开放压 ≥ 25 cmH₂O**,且成分正常。
51
- - **排除其他继发性原因**。
52
-
53
- 材料中指出:"**CSF开放压 ≥ 25 cmH₂O**"是IIH诊断的重要标准之一 ^[2]^。此外,**正常神经影像学**是必要条件 ^[2]^。
54
-
55
- ---
56
-
57
- ### 下一步建议:
58
-
59
- 1. **立即行头颅MRI及MR静脉成像(MRV)**:
60
- - 排除占位性病变、脑积水、静脉窦血栓等继发性病因。
61
- - MRI可显示**视神经鞘扩张、空蝶鞍、后巩膜扁平化**等颅内压增高的间接征象 。
62
-
63
- 2. **腰椎穿刺(LP)**:
64
- - **在确保无占位性病变后进行**,以测量脑脊液开放压。
65
- - 若压力 **≥ 25 cmH₂O**,且脑脊液成分正常,支持IIH诊断 ^[2]^。
66
- - **注意**:颅内压明显增高时,腰穿有诱发脑疝风险,应谨慎评估 ^[3]^。
67
-
68
- 3. **眼科评估**:
69
- - 包括视力、视野检查及眼底照相,评估视神经损害程度。
70
- - 视力损害是IIH最严重的并发症,需密切监测。
71
-
72
- 4. **妊娠测试**:
73
- - 停经2个月,需排除妊娠,因IIH在妊娠期可加重,且治疗受限。
74
-
75
- 5. **治疗建议**:
76
- - **一线治疗**:**乙酰唑胺**(acetazolamide),通过减少脑脊液生成降低颅内压。
77
- - **体重管理**:若超重或肥胖,减重是根本性治疗措施之一 ^[11]^。
78
- - **严重或进行性视力损害**:考虑**视神经鞘开窗术**或**脑脊液分流术**(如腰-腹腔分流)。
79
- - **静脉窦狭窄**:部分患者存在横窦狭窄,可考虑**血管内支架置入** ^[6]^。
80
-
81
- 6. **避免使用可能加重病情的药物**:如四环素类、维生素A衍生物等。
82
-
83
- 综上,该患者高度怀疑**特发性颅内压增高(IIH)**,需尽快完善影像学及腰穿检查以确诊,并评估视力风险。
84
-
85
- 我建议您进一步查阅特发性颅内压增高在育龄期女性中的诊断标准与视力损害预测因素,以及乙酰唑胺治疗的安全性和长期随访数据。您需要我帮您检索相关临床指南或系统综述吗?
1
+ 根据提供的病历信息,该患者存在两个阶段的头痛表现,需分别分析。
2
+
3
+ ### 一、既往头痛特点(2年余)
4
+ - **特征**:反复左侧额部搏动性疼痛,持续12小时至3天,每月1-2次,VAS 8分。
5
+ - **伴随症状**:畏光、畏声,严重时伴恶心、呕吐。
6
+ - **加重因素**:日常活动、吹风、受凉、压力大。
7
+ - **缓解因素**:休息或布洛芬。
8
+ - **影像学检查正常**。
9
+
10
+ 此符合**无先兆偏头痛**的典型表现。根据国际头痛协会(ICHD-Ⅲ)标准,发作至少5次,持续4-72小时,具单侧、搏动性、中重度、活动加重及伴恶心/畏光畏声等特点,且排除其他病因。
11
+
12
+ ### 二、本次急性加重表现(1天)
13
+ - **性质改变**:由偏侧搏动性转为**全头胀痛**,VAS 10分。
14
+ - **体位相关性**:**平躺时加重,站立时减轻**。
15
+ - **咳嗽时加重**。
16
+ - **治疗无效**:布洛芬无效。
17
+ - **新发症状**:恶心、呕吐、**视物模糊**。
18
+ - **查体发现**:**双侧视乳头水肿**、颈强3指。
19
+
20
+ 这些特征强烈提示**颅内压增高**。
21
+
22
+ 尤其关键点是:
23
+ - **体位性头痛**(平躺加重、站立减轻)是**低颅压性头痛**的典型表现,但此处与之相反。
24
+ - 本例为**平躺加重、站立减轻**,提示**高颅压**,且咳嗽加重也符合颅内压增高时颅内压进一步升高的表现。
25
+ - **双侧视乳头水肿**是颅内压增高的客观体征。
26
+ - 颈强但克氏征、布氏征阴性,提示非典型脑膜炎。
27
+
28
+ 结合以上,**最可能的诊断是颅内压增高**,病因需进一步排查。
29
+
30
+ ### 初步诊断
31
+ 1. **颅内压增高(疑诊)**
32
+ 2. **无先兆偏头痛**
33
+
34
+ ### 需重点鉴别的诊断
35
+ - **特发性颅内压增高(假性脑瘤)**:多见于**肥胖育龄女性**,表现为头痛、视乳头水肿、视力障碍,脑脊液压力升高但成分正常。该患者2个月前停经,需排除妊娠。
36
+ - **颅内占位性病变**(如肿瘤、血肿):需影像学排除。
37
+ - **静脉窦血栓**:头痛为持续性、进行性,可伴视乳头水肿、癫痫、局灶体征。**87.1%的患者以头痛为首发症状**,且**多为持续性、进展性**,部分为**单侧且严重** ^[4]^。
38
+ - **蛛网膜下腔出血**:突发“雷击样”头痛,但本例为渐进加重,不支持。
39
+
40
+ ### 下一步建议
41
+
42
+ 1. **尽快完善头颅影像学检查**:
43
+ - **头颅MRI + MRV(磁共振静脉成像)**:排除静脉窦血栓、占位性病变。
44
+ - 若怀疑占位,增强扫描必要。
45
+ 2. **血液学检验**:包括凝血功能、感染指标、激素水平等。
46
+ 3. **妇产科会诊**:明确有无妊娠,因停经2个月。
47
+ 4. **必要时腰椎穿刺**:
48
+ - 测量脑脊液压力,若>250 mmH₂O支持颅内压增高。
49
+ - 脑脊液成分正常则支持**特发性颅内压增高**。
50
+ - **但若怀疑占位,需先排除占位后再行腰穿,以防脑疝**。
51
+
52
+ ### 治疗建议
53
+ - **建议住院治疗**,密切监测神经系统状态。
54
+ - **对症处理**:可使用脱水剂(如甘露醇)降低颅内压。
55
+ - **根本治疗**取决于病因:
56
+ - 若为**特发性颅内压增高**,治疗包括**减重、限盐、乙酰唑胺**等。
57
+ - 若为**静脉窦血栓**,需抗凝治疗。
58
+ - 若为**占位性病变**,需神经外科干预。
59
+
60
+ ### 总结
61
+ 患者既往符合**无先兆偏头痛**,但本次发作性质显著不同,结合**体位性头痛、视乳头水肿、颈强**,提示**颅内压增高**。**首要任务是排除器质性病因**,如颅内占位、静脉窦血栓等。**尽快完善头颅MRI及MRV,并评估妊娠状态**。
62
+
63
+ 我建议您进一步查阅特发性颅内压增高在育龄女性中的诊断标准及颅内静脉窦血栓的影像学鉴别要点,您需要我帮您检索相关临床指南或系统综述吗?
@@ -1,6 +1,6 @@
1
- import XMarkdownSectionExtractor from './XMarkdownSectionExtractor'
2
-
3
- export default XMarkdownSectionExtractor
4
-
5
- export * from './markdownSectionExtractor'
6
-
1
+ import XMarkdownSectionExtractor from './XMarkdownSectionExtractor'
2
+
3
+ export default XMarkdownSectionExtractor
4
+
5
+ export * from './markdownSectionExtractor'
6
+
@@ -214,7 +214,7 @@ export default {
214
214
  <style lang="less" scoped>
215
215
  .x-markdown-viewer {
216
216
  width: 100%;
217
- max-height: 500px;
217
+ max-height: 499px;
218
218
  overflow-y: auto;
219
219
  overflow-x: hidden;
220
220
  }