From aa0aba6f52399779899c78677617c90a95961e86 Mon Sep 17 00:00:00 2001
From: zhangchen <1652267879@qq.com>
Date: 星期一, 04 八月 2025 16:40:31 +0800
Subject: [PATCH] Merge branch 'ID1918-患者姓名脱敏' into test

---
 src/utils/utils.ts |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/src/utils/utils.ts b/src/utils/utils.ts
index deeee91..d419c94 100644
--- a/src/utils/utils.ts
+++ b/src/utils/utils.ts
@@ -1,3 +1,5 @@
+import pinyin from 'pinyin';
+
 /**
  * 计算某个类名元素的可用高度(视口高度 - 元素顶部距离)
  * @param className 元素类名(不带.)
@@ -49,3 +51,22 @@
   }
   return result;
 }
+
+/**
+ * 姓名脱敏:第二个字变成首字母大写
+ * @param name 患者姓名
+ * @returns 脱敏后的姓名
+ */
+export function maskName(name: string): string {
+  if (!name) return ''
+
+  const chars = Array.from(name)
+  if (chars.length < 2) return name
+
+  const secondChar = chars[1]
+  const [pinyinArr] = pinyin(secondChar, { style: pinyin.STYLE_FIRST_LETTER })
+  const masked = pinyinArr[0]?.toUpperCase?.() || '*'
+
+  chars[1] = masked
+  return chars.join('')
+}
\ No newline at end of file

--
Gitblit v1.8.0