Merge develop into test - sync latest code

This commit is contained in:
2026-04-10 12:31:19 +08:00
1255 changed files with 107256 additions and 24904 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"name": "openhis",
"version": "3.8.7",
"version": "3.8.10",
"description": "OpenHIS管理系统",
"author": "OpenHIS",
"license": "MIT",
@@ -12,7 +12,11 @@
"build:test": "vite build --mode test",
"build:dev": "vite build --mode dev",
"preview": "vite preview",
"build:spug": "vite build --mode spug"
"build:spug": "vite build --mode spug",
"test": "vitest",
"test:run": "vitest run",
"test:coverage": "vitest run --coverage",
"test:ui": "vitest --ui"
},
"repository": {
"type": "git",
@@ -35,6 +39,7 @@
"html2pdf.js": "^0.10.3",
"js-cookie": "^3.0.5",
"jsencrypt": "^3.3.2",
"json-bigint": "^1.0.0",
"lodash": "^4.17.21",
"lodash-es": "^4.17.21",
"moment": "^2.30.1",
@@ -48,6 +53,7 @@
"react": "18.2.0",
"react-dom": "18.2.0",
"segmentit": "^2.0.3",
"sortablejs": "^1.15.6",
"v-region": "^3.3.0",
"vue": "^3.5.13",
"vue-area-linkage": "^5.1.0",
@@ -56,9 +62,14 @@
"vue-router": "^4.3.0"
},
"devDependencies": {
"@playwright/test": "^1.58.2",
"@types/node": "^25.0.1",
"@vitejs/plugin-vue": "4.5.0",
"@vue/compiler-sfc": "3.3.9",
"@vue/test-utils": "^2.4.6",
"happy-dom": "^20.8.3",
"jsdom": "^28.1.0",
"pg": "^8.18.0",
"sass": "1.69.5",
"typescript": "^5.9.3",
"unplugin-auto-import": "0.17.1",
@@ -66,6 +77,8 @@
"vite": "5.0.4",
"vite-plugin-compression": "0.5.1",
"vite-plugin-svg-icons": "2.0.1",
"vite-plugin-vue-mcp": "^0.3.2",
"vitest": "^4.0.18",
"vue-tsc": "^3.1.8"
}
}

View File

@@ -10,11 +10,11 @@
<meta name="keywords" content="vuepress,theme,blog,vdoing">
<meta name="theme-color" content="#11a8cd">
<link rel="preload" href="/help-center/assets/css/0.styles.d0b15ba0.css" as="style"><link rel="preload" href="/help-center/assets/js/app.c5ec5719.js" as="script"><link rel="preload" href="/help-center/assets/js/5.0104c3f3.js" as="script"><link rel="prefetch" href="/help-center/assets/js/2.06f4cb84.js"><link rel="prefetch" href="/help-center/assets/js/3.53c266dc.js"><link rel="prefetch" href="/help-center/assets/js/4.7364d667.js"><link rel="prefetch" href="/help-center/assets/js/6.17262a3a.js"><link rel="prefetch" href="/help-center/assets/js/7.016b634e.js"><link rel="prefetch" href="/help-center/assets/js/8.3cf21d73.js">
<link rel="preload" href="/help-center/assets/css/0.styles.d0b15ba0.css" as="style"><link rel="preload" href="/help-center/assets/js/app.b575c120.js" as="script"><link rel="preload" href="/help-center/assets/js/5.0104c3f3.js" as="script"><link rel="prefetch" href="/help-center/assets/js/2.06f4cb84.js"><link rel="prefetch" href="/help-center/assets/js/3.53c266dc.js"><link rel="prefetch" href="/help-center/assets/js/4.7364d667.js"><link rel="prefetch" href="/help-center/assets/js/6.3cd041ed.js"><link rel="prefetch" href="/help-center/assets/js/7.0a3c3fcd.js"><link rel="prefetch" href="/help-center/assets/js/8.3cf21d73.js">
<link rel="stylesheet" href="/help-center/assets/css/0.styles.d0b15ba0.css">
</head>
<body class="theme-mode-light">
<div id="app" data-server-rendered="true"><div class="theme-container" data-v-439bb2a8><div class="theme-vdoing-content" data-v-439bb2a8><span data-v-439bb2a8>404</span> <blockquote data-v-439bb2a8>看来我们的链接坏掉了~</blockquote> <a href="/help-center/" class="router-link-active" data-v-439bb2a8>返回首页</a></div></div><div class="global-ui"></div></div>
<script src="/help-center/assets/js/app.c5ec5719.js" defer></script><script src="/help-center/assets/js/5.0104c3f3.js" defer></script>
<script src="/help-center/assets/js/app.b575c120.js" defer></script><script src="/help-center/assets/js/5.0104c3f3.js" defer></script>
</body>
</html>

View File

@@ -10,11 +10,11 @@
<meta name="keywords" content="vuepress,theme,blog,vdoing">
<meta name="theme-color" content="#11a8cd">
<link rel="preload" href="/help-center/assets/css/0.styles.d0b15ba0.css" as="style"><link rel="preload" href="/help-center/assets/js/app.c5ec5719.js" as="script"><link rel="preload" href="/help-center/assets/js/2.06f4cb84.js" as="script"><link rel="prefetch" href="/help-center/assets/js/3.53c266dc.js"><link rel="prefetch" href="/help-center/assets/js/4.7364d667.js"><link rel="prefetch" href="/help-center/assets/js/5.0104c3f3.js"><link rel="prefetch" href="/help-center/assets/js/6.17262a3a.js"><link rel="prefetch" href="/help-center/assets/js/7.016b634e.js"><link rel="prefetch" href="/help-center/assets/js/8.3cf21d73.js">
<link rel="preload" href="/help-center/assets/css/0.styles.d0b15ba0.css" as="style"><link rel="preload" href="/help-center/assets/js/app.b575c120.js" as="script"><link rel="preload" href="/help-center/assets/js/2.06f4cb84.js" as="script"><link rel="prefetch" href="/help-center/assets/js/3.53c266dc.js"><link rel="prefetch" href="/help-center/assets/js/4.7364d667.js"><link rel="prefetch" href="/help-center/assets/js/5.0104c3f3.js"><link rel="prefetch" href="/help-center/assets/js/6.3cd041ed.js"><link rel="prefetch" href="/help-center/assets/js/7.0a3c3fcd.js"><link rel="prefetch" href="/help-center/assets/js/8.3cf21d73.js">
<link rel="stylesheet" href="/help-center/assets/css/0.styles.d0b15ba0.css">
</head>
<body class="theme-mode-light">
<div id="app" data-server-rendered="true"><div class="theme-container sidebar-open no-sidebar"><header class="navbar blur"><div title="目录" class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/help-center/" class="home-link router-link-active"><img src="/help-center/img/logo.png" alt="经创HIS系统操作手册" class="logo"> <span class="site-name can-hide">经创HIS系统操作手册</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/help-center/pages/3f474f/" class="nav-link">ERP</a></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/help-center/pages/3f474f/" class="nav-link">ERP</a></div> <!----></nav> <!----> </aside> <div class="custom-page archives-page"><div class="theme-vdoing-wrapper"><h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABKFJREFUSA3tVl1oFVcQnrMbrak3QUgkya1akpJYcrUtIqW1JvFBE9LiQ5v6JmJpolbMg32rVrhgoYK0QiMY6i9Y6EMaW5D+xFJaTYItIuK2Kr3+BJNwkxBj05sQY3b3nM6cs2dv9t7NT/vQJw/sndk5M/PNzJkzewGerP+pAmy+ON8lLzUJgA8ZYxYIYZmGYRnctDaWvJJAmTtfP1pvXsBCCPP8QFcCaRkZYACgDZFO4stNIcBCajEOlmmC9XpJ9bAGCaPaPmzPl32dvLSVu3BWCTQs0XQQ6g0DYgwLIoAZbBCdW/i+781o1VVlm/410mw4h06Y7bIPHNyWDyL4FHkX03Q8SrzNhZTZriieckWt7cL6MM85YcLpsi/7O9/iXFT6MswI0DmmpkSaJ0qLxFIm3+i1THHB3zmBH3PYx9CcykcLOeQVVa7QtdxTgQgEleX2AjHYfwA+2ddV77ruGoJUbhGDI09YSNXyMpUt5ylOzxgbUmtOp7NmbNt8v3arjTBfYELmLUV+M+nSawNNAUqpT3ClJWg5I3BLT+cGW/DXNGCa6tx1aakCGEigArTn4TDIPdrXXYKCZNrHLMCOEPvHBlLQ99s9eHB7EB6NTki73CVPQ2F5MSx/uRQixfmq7rK0wYD8w8E905bnPDfwoWs/rfv93NWN/ZfvwsLIU7A09gxECyISeGJkHAau98L97tuw7NXnoPyNF8FcYGLGKsOs0mN3OEyec9esGW/ZEl945dTP34wlR2FZVQWU1q0Cw8Tr7p+hgLLNL0FPxx/Q35mA8aEUrH6nCgwEl0tn7wUiZYJnNRh6DK4UH/k0lfyrsBKdPVv/AriGIQcEDQZ65LBAGe2Rzui9Ybjz7XUppz1/uKBbyVPGkN3ZAeC6hr0x7Nr38N5+EqkoOm17xpoqR9ohQF55ERSvr4Dkr3chNfC3DMzGJlNBElW8w9nsGQvhNGIzDkXzCg8cLK951xHsFBlTJspJNi3ZFIMF2AeDV3q8DNOB+YHi6QTrChDIWDBRi5U5f+ZMfJLu3ccrqxtdxk4SKH336LFxSmkqefwU5T8fhdSdQf9IVKD6aNiwI/hnmcAZ91isYMJIaCUCx9W098+LgruikeTqzqqxKPUwqJyCPJiyemVVZBOijDGjD38Os0jOiSPL1z3SPjXNANbiNPXAdzTfukjjuknNBbyz3nwgTd3AVFqUJ5hpHlq9MveLnWwttUfoygBmvVjuikxND3znrhsELnZk7k+OjIGxeNEkomyLVta0xxn+HZhjBc4YZ/AFjHjz9u3xRZl2BN4aq9nFwWh16IrQ1aHHEd3j1+4/dB9OtH4e29A2H1DyHQRmOSfQZ1Fy7MHBTGB6J/Djq6p3OxyO2cB+4Car7v/o3GXgfAkj23+x9ID1Teoamo/SXcbvSf2PX7Vc8DdCmE1vN9di+32P9/5YR3vLnhCVGUWBjEkr3yh4H8v9CzmsbdhzOKzsJKM90iFdaTMjRPhGVsakRvOaRidljo6H6G7j+ctrJpsP+4COhDIl0La2+FS4+5mlocBaXY5QnGZysIBYoeSsl5qQzrSj/cgNrfuEzlWBfwA+EjrZyWUvpAAAAABJRU5ErkJggg==">
<div id="app" data-server-rendered="true"><div class="theme-container sidebar-open no-sidebar"><header class="navbar blur"><div title="目录" class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/help-center/" class="home-link router-link-active"><img src="/help-center/img/logo.png" alt="经创HIS系统操作手册" class="logo"> <span class="site-name can-hide">经创HIS系统操作手册</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/help-center/pages/3f474f/" class="nav-link">ERP</a></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/help-center/pages/3f474f/" class="nav-link">ERP</a></div> <!----></nav> <!----> </aside> <div class="custom-page archives-page"><div class="theme-vdoing-wrapper"><h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABGpJREFUSA3tVVtoXFUU3fvOI53UlmCaKIFmwEhsE7QK0ipFEdHEKpXaZGrp15SINsXUWvBDpBgQRKi0+KKoFeJHfZA+ED9KKoIU2gYD9UejTW4rVIzm0VSTziPzuNu1z507dibTTjL4U/DAzLn3nL3X2o91ziX6f9wMFdh6Jvbm9nNSV0msViVO6tN1Rm7NMu2OpeJ9lWBUTDxrJbYTS0hInuwciu9eLHlFxCLCZEk3MegsJmZ5K/JD6t7FkFdEvGUo1g7qJoG3MHImqRIn8/nzY1K9UPKKiJmtnUqHVE3Gbuay6vJE/N2FEmuxFjW2nUuE0yQXRRxLiTUAzs36zhZvOXJPdX850EVnnLZkB8prodQoM5JGj7Xk2mvC7JB8tG04Ef5PiXtG0UtxupRQSfTnBoCy554x18yJHI6I+G5Eru4LHmPJZEQsrvPUbMiA8G/WgMK7w7I+ez7++o2ANfbrjvaOl1tFMs+htG3IrZH9/hDX1Pr8Tc0UvH8tcX29KzAgIGcEkINyW5BF9x891hw6VYqgJHEk0huccS7vh3C6gTiODL+26huuBtbct8eZnqLML8PkxGYpuPZBqtqwkSjgc4mB5gbgig5i+y0UDK35LMxXisn9xQtK+nd26gTIHsHe/oblK/b29fUmN/8Y+9jAQrnBp56m1LcDlDp9irKTExSKduXJVWSqdBMA08pEJnEIOB3FPPMybu/oeV8zFeYN3xx576Q6RH+VmplE4ncQV5v+5rzSoyOU7PuEAg8g803PwBJ0CExno/jcMbN8tONYeOmHiuUNryvm3fRUy4tMPVLdAGkUhNWuggGrJcXPv+ouCjz0MKUHz1J2/E8IC9nqTabcxgaBYM0hPhD5Y65FsbxRQKxCQrDjDctW7PUM3HuZunFyifSAqEfuzCp48Il24luWUWZoyJCaPR82jE0+kFA643wRFVni4RYSq3ohJO2pZ7B5dO4xkDWbEpossJPLSrPjYID8rS2UHTlvyNxqIGsg674XJJ7vnh5L7PNwC4hh2sjCI96mzszOTpxLF0T7l88Yz7lAuK6OnL8gXLOnTvpzSb22YG8W7us3jSebFHeeqnXRG1vt+MoUM84LQIBmMsCTAcOauTh0T0l0neQK7m2bLMt2mGxU3HYssS0J2cdv5wljlPsrIuZLAG/2DOZIXgCYT8uMGZN+e2kSirfxZOPCsC0f24nTZzspnVn9VePS1Z5vubmAGGXG8ZFno9Hel0yfA5ZPhF7Dh972BQJ2qCpgH67lmWtBYbvk6sz02wjky2vXyz0XErP/kFB619js1BtwfOV4OPRqOQBjy3Qbk18vigUPPSD5ceHnwck7W9bhAqZdd7SuG7w4/P2F/GaJh8c7e9qgow+Q7cGBo+98WsLkuktFqiZabtXuQTu/Y5ETbR0v7tNSFnvrmu6pjdoan2KjMu8q/Hmj1EfCO2ZGfEIbIXKUlw8qaX9/b2oeSJmFksSeT/Fn0V3nSypChh4Gjh74ybO9aeZ/AN2dwciu2/MhAAAAAElFTkSuQmCC">
博客文章
</h1> <div class="count">
总共 <i>0</i> 篇文章
@@ -29,6 +29,6 @@
</li><li class="iconfont icon-yuedu">
阅读模式
</li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
<script src="/help-center/assets/js/app.c5ec5719.js" defer></script><script src="/help-center/assets/js/2.06f4cb84.js" defer></script>
<script src="/help-center/assets/js/app.b575c120.js" defer></script><script src="/help-center/assets/js/2.06f4cb84.js" defer></script>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 MiB

After

Width:  |  Height:  |  Size: 82 KiB

View File

@@ -10,7 +10,7 @@
<meta name="keywords" content="vuepress,theme,blog,vdoing">
<meta name="theme-color" content="#11a8cd">
<link rel="preload" href="/help-center/assets/css/0.styles.d0b15ba0.css" as="style"><link rel="preload" href="/help-center/assets/js/app.c5ec5719.js" as="script"><link rel="preload" href="/help-center/assets/js/2.06f4cb84.js" as="script"><link rel="preload" href="/help-center/assets/js/3.53c266dc.js" as="script"><link rel="prefetch" href="/help-center/assets/js/4.7364d667.js"><link rel="prefetch" href="/help-center/assets/js/5.0104c3f3.js"><link rel="prefetch" href="/help-center/assets/js/6.17262a3a.js"><link rel="prefetch" href="/help-center/assets/js/7.016b634e.js"><link rel="prefetch" href="/help-center/assets/js/8.3cf21d73.js">
<link rel="preload" href="/help-center/assets/css/0.styles.d0b15ba0.css" as="style"><link rel="preload" href="/help-center/assets/js/app.b575c120.js" as="script"><link rel="preload" href="/help-center/assets/js/2.06f4cb84.js" as="script"><link rel="preload" href="/help-center/assets/js/3.53c266dc.js" as="script"><link rel="prefetch" href="/help-center/assets/js/4.7364d667.js"><link rel="prefetch" href="/help-center/assets/js/5.0104c3f3.js"><link rel="prefetch" href="/help-center/assets/js/6.3cd041ed.js"><link rel="prefetch" href="/help-center/assets/js/7.0a3c3fcd.js"><link rel="prefetch" href="/help-center/assets/js/8.3cf21d73.js">
<link rel="stylesheet" href="/help-center/assets/css/0.styles.d0b15ba0.css">
</head>
<body class="theme-mode-light">
@@ -29,6 +29,6 @@
</li><li class="iconfont icon-yuedu">
阅读模式
</li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
<script src="/help-center/assets/js/app.c5ec5719.js" defer></script><script src="/help-center/assets/js/2.06f4cb84.js" defer></script><script src="/help-center/assets/js/3.53c266dc.js" defer></script>
<script src="/help-center/assets/js/app.b575c120.js" defer></script><script src="/help-center/assets/js/2.06f4cb84.js" defer></script><script src="/help-center/assets/js/3.53c266dc.js" defer></script>
</body>
</html>

View File

@@ -10,11 +10,11 @@
<meta name="keywords" content="vuepress,theme,blog,vdoing">
<meta name="theme-color" content="#11a8cd">
<link rel="preload" href="/help-center/assets/css/0.styles.d0b15ba0.css" as="style"><link rel="preload" href="/help-center/assets/js/app.c5ec5719.js" as="script"><link rel="preload" href="/help-center/assets/js/2.06f4cb84.js" as="script"><link rel="preload" href="/help-center/assets/js/7.016b634e.js" as="script"><link rel="prefetch" href="/help-center/assets/js/3.53c266dc.js"><link rel="prefetch" href="/help-center/assets/js/4.7364d667.js"><link rel="prefetch" href="/help-center/assets/js/5.0104c3f3.js"><link rel="prefetch" href="/help-center/assets/js/6.17262a3a.js"><link rel="prefetch" href="/help-center/assets/js/8.3cf21d73.js">
<link rel="preload" href="/help-center/assets/css/0.styles.d0b15ba0.css" as="style"><link rel="preload" href="/help-center/assets/js/app.b575c120.js" as="script"><link rel="preload" href="/help-center/assets/js/2.06f4cb84.js" as="script"><link rel="preload" href="/help-center/assets/js/7.0a3c3fcd.js" as="script"><link rel="prefetch" href="/help-center/assets/js/3.53c266dc.js"><link rel="prefetch" href="/help-center/assets/js/4.7364d667.js"><link rel="prefetch" href="/help-center/assets/js/5.0104c3f3.js"><link rel="prefetch" href="/help-center/assets/js/6.3cd041ed.js"><link rel="prefetch" href="/help-center/assets/js/8.3cf21d73.js">
<link rel="stylesheet" href="/help-center/assets/css/0.styles.d0b15ba0.css">
</head>
<body class="theme-mode-light">
<div id="app" data-server-rendered="true"><div class="theme-container sidebar-open"><header class="navbar blur"><div title="目录" class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/help-center/" class="home-link router-link-active"><img src="/help-center/img/logo.png" alt="经创HIS系统操作手册" class="logo"> <span class="site-name can-hide">经创HIS系统操作手册</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/help-center/pages/3f474f/" aria-current="page" class="nav-link router-link-exact-active router-link-active">ERP</a></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/help-center/pages/3f474f/" aria-current="page" class="nav-link router-link-exact-active router-link-active">ERP</a></div> <!----></nav> <ul class="sidebar-links"><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>测试页面1</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/help-center/pages/3f475f/" class="sidebar-link">模块职责</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>测试页面2</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/help-center/pages/3f474f/" aria-current="page" class="active sidebar-link">模块职责</a></li></ul></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><!----> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABKFJREFUSA3tVl1oFVcQnrMbrak3QUgkya1akpJYcrUtIqW1JvFBE9LiQ5v6JmJpolbMg32rVrhgoYK0QiMY6i9Y6EMaW5D+xFJaTYItIuK2Kr3+BJNwkxBj05sQY3b3nM6cs2dv9t7NT/vQJw/sndk5M/PNzJkzewGerP+pAmy+ON8lLzUJgA8ZYxYIYZmGYRnctDaWvJJAmTtfP1pvXsBCCPP8QFcCaRkZYACgDZFO4stNIcBCajEOlmmC9XpJ9bAGCaPaPmzPl32dvLSVu3BWCTQs0XQQ6g0DYgwLIoAZbBCdW/i+781o1VVlm/410mw4h06Y7bIPHNyWDyL4FHkX03Q8SrzNhZTZriieckWt7cL6MM85YcLpsi/7O9/iXFT6MswI0DmmpkSaJ0qLxFIm3+i1THHB3zmBH3PYx9CcykcLOeQVVa7QtdxTgQgEleX2AjHYfwA+2ddV77ruGoJUbhGDI09YSNXyMpUt5ylOzxgbUmtOp7NmbNt8v3arjTBfYELmLUV+M+nSawNNAUqpT3ClJWg5I3BLT+cGW/DXNGCa6tx1aakCGEigArTn4TDIPdrXXYKCZNrHLMCOEPvHBlLQ99s9eHB7EB6NTki73CVPQ2F5MSx/uRQixfmq7rK0wYD8w8E905bnPDfwoWs/rfv93NWN/ZfvwsLIU7A09gxECyISeGJkHAau98L97tuw7NXnoPyNF8FcYGLGKsOs0mN3OEyec9esGW/ZEl945dTP34wlR2FZVQWU1q0Cw8Tr7p+hgLLNL0FPxx/Q35mA8aEUrH6nCgwEl0tn7wUiZYJnNRh6DK4UH/k0lfyrsBKdPVv/AriGIQcEDQZ65LBAGe2Rzui9Ybjz7XUppz1/uKBbyVPGkN3ZAeC6hr0x7Nr38N5+EqkoOm17xpoqR9ohQF55ERSvr4Dkr3chNfC3DMzGJlNBElW8w9nsGQvhNGIzDkXzCg8cLK951xHsFBlTJspJNi3ZFIMF2AeDV3q8DNOB+YHi6QTrChDIWDBRi5U5f+ZMfJLu3ccrqxtdxk4SKH336LFxSmkqefwU5T8fhdSdQf9IVKD6aNiwI/hnmcAZ91isYMJIaCUCx9W098+LgruikeTqzqqxKPUwqJyCPJiyemVVZBOijDGjD38Os0jOiSPL1z3SPjXNANbiNPXAdzTfukjjuknNBbyz3nwgTd3AVFqUJ5hpHlq9MveLnWwttUfoygBmvVjuikxND3znrhsELnZk7k+OjIGxeNEkomyLVta0xxn+HZhjBc4YZ/AFjHjz9u3xRZl2BN4aq9nFwWh16IrQ1aHHEd3j1+4/dB9OtH4e29A2H1DyHQRmOSfQZ1Fy7MHBTGB6J/Djq6p3OxyO2cB+4Car7v/o3GXgfAkj23+x9ID1Teoamo/SXcbvSf2PX7Vc8DdCmE1vN9di+32P9/5YR3vLnhCVGUWBjEkr3yh4H8v9CzmsbdhzOKzsJKM90iFdaTMjRPhGVsakRvOaRidljo6H6G7j+ctrJpsP+4COhDIl0La2+FS4+5mlocBaXY5QnGZysIBYoeSsl5qQzrSj/cgNrfuEzlWBfwA+EjrZyWUvpAAAAABJRU5ErkJggg==">模块职责<!----></h1> <!----> <div class="theme-vdoing-content content__default"><p>这里是HIS操作手册的模块职责页面2</p></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><a href="/help-center/pages/3f475f/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">模块职责</div></a> <!----></div> <div class="page-nav"><p class="inner"><span class="prev">
<div id="app" data-server-rendered="true"><div class="theme-container sidebar-open"><header class="navbar blur"><div title="目录" class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/help-center/" class="home-link router-link-active"><img src="/help-center/img/logo.png" alt="经创HIS系统操作手册" class="logo"> <span class="site-name can-hide">经创HIS系统操作手册</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/help-center/pages/3f474f/" aria-current="page" class="nav-link router-link-exact-active router-link-active">ERP</a></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/help-center/pages/3f474f/" aria-current="page" class="nav-link router-link-exact-active router-link-active">ERP</a></div> <!----></nav> <ul class="sidebar-links"><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>测试页面1</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/help-center/pages/3f475f/" class="sidebar-link">模块职责</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>测试页面2</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/help-center/pages/3f474f/" aria-current="page" class="active sidebar-link">模块职责</a></li></ul></section></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="placeholder"></div> <!----> <div class="content-wrapper"><!----> <h1><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAABH1JREFUSA3tVl1oHFUUPmdmd2ltklqbpJDiNnXFmgbFktho7YMPNiJSSZM0+CAYSkUELVhM6YuwIPpgoOKDqOBDC0XE2CQoNtQXBUFTTcCi+Wlh1V2TQExsUzcltd3M9Tt3ZjZzZ2fT+OJTL8yeM+eee757fmeJbq//KQL8X3DUSFOcfr7cRsRtxNQMWueeVzOkaITIGqQHNg5y8+jNW9ldM7A6nTpAjuolUikAwq7CE3WcM2RRDz+XGVgN3FptU/aUSlvq9Pa3iZ1+sgAqJyyAFqkipd9dqiwHF3P65YycLWc/6sqGrvoEoIp6DOFaX5h6+dnfjkWprwqsPk0dUGq5vySwDImC10KxFHgGL1SWoc92O3eVht09qdXNH11I2SsTsJYqMWzihqGMi+A+Garf3BAuuLI5oGlULyNfyB/HYNujwktOfRrMr5t77NmevqaUopx0grnKAyvVpmwUDB4x6FPXuGvYLTDwWsejwgtgkYKPqRJg8SV6xaiZ3ZTppGneS4yfH5/66fZSDHv+QZci/+h5c5UHtpy67JUqGppM0sh0Nc1dW6/N1W5Yoqat8/TU/VnadmdeW2PLLSyh0cvxBs3KbqTmwYPpxN4do/mzE8nEpvX/UMu2Wbp74zUAK5q6WkHns7V0eWkdPbPzd3rxkTGybadYySumVzhcaJFbs5UrEkQ/+CK8gF5dnh/6ciIZ73gwQ927L1IitoxKLXYP3SjYdOrHHfTZhRRlFyrorafPk20B3HPD1y2G3qKZME5Jcf3t/HUC13/8tSd++vqFveMUTwAUxSUFI1QekR1+bIze3D9MF2aq6cPvG72CgnldWCFqyRw3lwH8ZMerjTD9ElRO7Gv44wNpC90aASqGfVlz/Rx17srQ57/UU26hkhQqUB7dBR71WmzQhHUnblGmVOEw0jhbV1n9OlXUDCIRGaNV5Jp43N516fN7JmnTHdfp7Hgy0luO4aMhtkLL8Bi3bUWYvzh5Mn1dTxrL6QmGuRhGL/TiTTxRoEdTszSaq9GR0NGA3KdkOz3hqSV3MIDhQ5IVX/Ivx3umBti2es2h4eZby7x8br1rkf7Mo90AqC8aQ3sJeNzqFRu+vSANAQe3PL7l0HGOAdwDCeZYvNKeoZp1Qfs6Aipndh86HmFRi0LAnEO47wsqM6cdfjh3jBPUzhZy7nvlUfFsamED1VQt6aISHVymXZ/B2aCtIG8AI8xfobj2d3en1wWVhOeHELKmLQ1s211s88comkv4UCwWyF787mJdYXtNfhKAXVqnKTq8QZvGAGGOfaTo5pGZ/PwbUCr5+DPr/1J92JNHr9aOl/F3iI5+O1nfybsGxoimvZ3ViWSluDITw3P37mypheDIPY0tw7+O/5ApbkYw+zpfaUVu32Pi98+defdUhEpZkRFq0aqyNh9FuL9hpYbEm6iwi0z2REd09ZmyENEbuhjDWzKvZXTqKYaBIr3tt5kuPtQBZFvEUwHt60vfCNu41XsksH9Ij1BMMz1Y0OOunHNShFIP5868g5zeXmuLwL9T4b6Q2+KejgAAAABJRU5ErkJggg==">模块职责<!----></h1> <!----> <div class="theme-vdoing-content content__default"><p>这里是HIS操作手册的模块职责页面2</p></div></div> <!----> <div class="page-edit"><!----> <!----> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><a href="/help-center/pages/3f475f/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">模块职责</div></a> <!----></div> <div class="page-nav"><p class="inner"><span class="prev">
<a href="/help-center/pages/3f475f/" class="prev">模块职责</a></span> <!----></p></div></div></div> <!----></main></div> <div class="footer"><!---->
Theme by
@@ -27,6 +27,6 @@
</li><li class="iconfont icon-yuedu">
阅读模式
</li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
<script src="/help-center/assets/js/app.c5ec5719.js" defer></script><script src="/help-center/assets/js/2.06f4cb84.js" defer></script><script src="/help-center/assets/js/7.016b634e.js" defer></script>
<script src="/help-center/assets/js/app.b575c120.js" defer></script><script src="/help-center/assets/js/2.06f4cb84.js" defer></script><script src="/help-center/assets/js/7.0a3c3fcd.js" defer></script>
</body>
</html>

View File

@@ -10,7 +10,7 @@
<meta name="keywords" content="vuepress,theme,blog,vdoing">
<meta name="theme-color" content="#11a8cd">
<link rel="preload" href="/help-center/assets/css/0.styles.d0b15ba0.css" as="style"><link rel="preload" href="/help-center/assets/js/app.c5ec5719.js" as="script"><link rel="preload" href="/help-center/assets/js/2.06f4cb84.js" as="script"><link rel="preload" href="/help-center/assets/js/6.17262a3a.js" as="script"><link rel="prefetch" href="/help-center/assets/js/3.53c266dc.js"><link rel="prefetch" href="/help-center/assets/js/4.7364d667.js"><link rel="prefetch" href="/help-center/assets/js/5.0104c3f3.js"><link rel="prefetch" href="/help-center/assets/js/7.016b634e.js"><link rel="prefetch" href="/help-center/assets/js/8.3cf21d73.js">
<link rel="preload" href="/help-center/assets/css/0.styles.d0b15ba0.css" as="style"><link rel="preload" href="/help-center/assets/js/app.b575c120.js" as="script"><link rel="preload" href="/help-center/assets/js/2.06f4cb84.js" as="script"><link rel="preload" href="/help-center/assets/js/6.3cd041ed.js" as="script"><link rel="prefetch" href="/help-center/assets/js/3.53c266dc.js"><link rel="prefetch" href="/help-center/assets/js/4.7364d667.js"><link rel="prefetch" href="/help-center/assets/js/5.0104c3f3.js"><link rel="prefetch" href="/help-center/assets/js/7.0a3c3fcd.js"><link rel="prefetch" href="/help-center/assets/js/8.3cf21d73.js">
<link rel="stylesheet" href="/help-center/assets/css/0.styles.d0b15ba0.css">
</head>
<body class="theme-mode-light">
@@ -26,6 +26,6 @@
</li><li class="iconfont icon-yuedu">
阅读模式
</li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
<script src="/help-center/assets/js/app.c5ec5719.js" defer></script><script src="/help-center/assets/js/2.06f4cb84.js" defer></script><script src="/help-center/assets/js/6.17262a3a.js" defer></script>
<script src="/help-center/assets/js/app.b575c120.js" defer></script><script src="/help-center/assets/js/2.06f4cb84.js" defer></script><script src="/help-center/assets/js/6.3cd041ed.js" defer></script>
</body>
</html>

View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2019-present gaoyi(Evan) Xu
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -0,0 +1,290 @@
<p align="center"><a href="https://xugaoyi.com/" target="_blank" rel="noopener noreferrer"><img width="180" src="../vuepress-theme-vdoing-doc/docs/.vuepress/public/img/logo.png" alt="logo"></a></p>
<h2 align="center">经创帮助中心编辑参考文档</h2>
<div style="background: #f8fafc; border: 2px solid #3b82f6; border-radius: 8px; padding: 20px; margin-bottom: 24px;">
<h3 style="color: #1e40af; margin: 0 0 16px 0; display: flex; align-items: center; font-size: 18px;">
🚨 <span style="margin-left: 8px;">【帮助中心文档编辑核心规则】</span>
</h3>
<div style="color: #334155; line-height: 2; font-size: 15px;">
<p style="margin: 0 0 12px 0;">
📁 <strong style="color: #dc2626;">文件夹路径规则</strong>:在 <span style="background: #fef2f2; padding: 2px 6px; border-radius: 3px;">help-center</span> 文件夹下的 <span style="background: #fef2f2; padding: 2px 6px; border-radius: 3px;">vuepress-theme-vdoing-doc/docs/</span> 文件夹下新建文件夹;
</p>
<p style="margin: 0 0 12px 0;">
✏️ <strong style="color: #059669;">页面改造规则</strong><span style="color: #dc2626; font-weight: bold; font-size: 16px;">第一个测试页面不可删除</span>,这是帮助中心的入口页面,请勿删除(可以改造)
</p>
<p style="margin: 0 0 12px 0;">
💡 <strong style="color: #d97706;">编写建议</strong>因为编写完成后页面不会实时刷新需要重新启动服务才能看到效果。建议将编写好的MD格式文件复制到目录下后重新打包构建后刷新页面查看效果。
</p>
<p style="margin: 0 0 12px 0;">
📋 <strong style="color: #7c3aed;">命名规则</strong><br>
  ▪ 文件夹命名规则:01.(侧边栏根据数字生成必须要!!!) 页面名称(无后缀)<br>
  ▪ 文件命名规则: 01.功能名称.md
</p>
<p style="margin: 0 0 12px 0;">
👀️ <strong style="color: #7c3aed;">静态资源放置规则</strong><br>
  ▪ 页面图片放置在/openhis-ui-vue3/public/help-center/vuepress-theme-vdoing-doc/docs/.vuepress/public/img/png文件夹下。<br>
  ▪ 通过相对路径引用
</p>
<p style="margin: 0 0 12px 0;">
📦 <strong style="color: #2563eb;">打包部署规则</strong>:确认无误后进入 <span style="background: #fef2f2; padding: 2px 6px; border-radius: 3px;">vuepress-theme-vdoing-doc</span> 路径执行 <code style="background: #f1f5f9; padding: 2px 6px; border-radius: 3px; color: #d21818;">npm run build:win</code>(仅Windows系统需要加win) 打包命令
</p>
<p style="margin: 0; color: #d51414; font-weight: bold;">
⚠️ 警告如果帮助中心不放在当前路径下请将配置文件中的打包路径改成自定义路径否则会丢失JS和CSS样式。<br>
  配置文件路径docs/.vuepress/config.js
</p>
</div>
</div>
📚 MarkDown基本语法大全
以下整理了MarkDown常用基础语法涵盖标题、文本样式、列表等核心功能附写法示例与显示效果适合新手快速上手。
一、标题语法
说明:通过「#」符号表示标题,# 数量对应标题层级1-6级# 与标题文本间需留一个空格,层级越高字体越小。
📝 写法示例:
\# 一级标题
\#\# 二级标题
\#\#\# 三级标题
\#\#\#\# 四级标题
\#\#\#\#\# 五级标题
\#\#\#\#\#\# 六级标题
✨ 显示效果:
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
二、文本样式
📝 写法示例:
\*\*加粗文本\*\*
\*斜体文本\*
\*\*\*加粗斜体文本\*\*\*
\~\~删除线文本\~\~
<u>下划线文本</u>
\=\=高亮文本\=\=部分编辑器支持如Typora
\> 引用文本(块引用)
\>\> 嵌套引用文本(二级引用)
\`行内代码片段\`
✨ 显示效果:
**加粗文本**
*斜体文本*
***加粗斜体文本***
~~删除线文本~~
<u>下划线文本</u>
==高亮文本==
> 引用文本(块引用)
>
>> 嵌套引用文本(二级引用)
>> 行内代码示例:`print("Hello MarkDown")`
>>
三、列表
1. 无序列表(符号可选:-、*、+,符号后需留空格)
📝 写法示例:
\-\- 无序列表项 1
\- 无序列表项 2
\- 子列表项 2.1前面缩进4个空格
\- 子列表项 2.2
\* 无序列表项 A
\* 无序列表项 B
\+ 无序列表项 X
\+ 无序列表项 Y
✨ 显示效果:
- 无序列表项 1
- 无序列表项 2
- 子列表项 2.1前面缩进4个空格或1个Tab
- 子列表项 2.2
* 无序列表项 A
* 无序列表项 B
+ 无序列表项 X
+ 无序列表项 Y
2. 有序列表(数字+英文句点+空格,自动排序)
📝 写法示例:
1. 有序列表项 1
2. 有序列表项 2
1. 子列表项 2.1前面缩进4个空格
2. 子列表项 2.2
3. 有序列表项 3
4.
5. 任务列表(结合无序列表与复选框,部分编辑器支持)
6. 有序列表不会认定前面数字改变从1开始排序数字会自动序号并不会根据你输入的数字排序
✨ 显示效果:
1. 有序列表项 1
2. 有序列表项 2
1. 子列表项 2.1(缩进后自动续号)
2. 子列表项 2.2
3. 有序列表项 3
4.
5. 任务列表(结合无序列表与复选框,部分编辑器支持)
有序列表和无序列表的区别是quote引用标签不能嵌套但无序列表可以嵌套。
📝 写法示例:
\-[x] 已完成任务 1
\-[x] 已完成任务 2
\-[ ] 未完成任务 3
\-[ ] 未完成任务 4
✨ 显示效果:
- [X] 已完成任务 1
- [X] 已完成任务 2
- [ ] 未完成任务 3
- [ ] 未完成任务 4
四、链接与图片
1. 链接(两种写法:行内链接、参考链接)
📝 写法示例:
# 行内链接(直接显示链接文本与地址)
\[百度一下\](https://www.baidu.com "百度首页 - 悬停提示文本")
# 参考链接(适合多次引用同一链接)
\[MarkDown官方文档\]\[1\]
\[GitHub\]\[2\]
\[1\]: https://daringfireball.net/projects/markdown/ "MarkDown官方指南"
\[2\]: https://github.com/ "GitHub官网"
✨ 显示效果:
行内链接:[百度一下](https://www.baidu.com "百度首页 - 悬停提示文本")
参考链接:[MarkDown官方文档][1]、[GitHub][2]
2. 图片(语法与链接类似,前缀加!
📝 写法示例:
# 行内图片
\![风景图]\(https://picx.zhimg.com/v2-d6f44389971daab7e688e5b37046e4e4_720w.jpg?source=172ae18b)
# 参考图片
\![Logo]\[img1]
\[img1]: https://www.logosc.cn/uploads/articles/2022/10/20/16662553442591813.png "品牌Logo"
✨ 显示效果:
行内图片:![风景图](https://picx.zhimg.com/v2-d6f44389971daab7e688e5b37046e4e4_720w.jpg?source=172ae18b)
参考图片:![Logo][img1]"品牌Logo"
五、分割线
说明:三种写法均可,需单独成行,前后建议空一行,避免与其他内容混淆。
📝 写法示例:
\---
\***
\___
✨ 显示效果:
---
---
---
六、表格(支持对齐设置)
📝 写法示例:
# 基础表格(| 分隔列,- 分隔表头与内容)
\| 姓名 | 年龄 | 职业 |
\| ---- | ---- | ---- |
\| 张三 | 25 | 程序员 |
\| 李四 | 30 | 设计师 |
# 带对齐的表格(: 表示对齐方向)
\| 左对齐 | 居中对齐 | 右对齐 |
\| :----- | :------: | -----: |
\| 内容1 | 内容2 | 内容3 |
\| 文本A | 文本B | 文本C |
✨ 显示效果:
| 姓名 | 年龄 | 职业 |
| ---- | ---- | ------ |
| 张三 | 25 | 程序员 |
| 李四 | 30 | 设计师 |
| 左对齐 | 居中对齐 | 右对齐 |
| :----- | :------: | -----: |
| 内容1 | 内容2 | 内容3 |
| 文本A | 文本B | 文本C |
* 更多md语法请参考以下链接
* [Markdown 语法参考](https://markdown.com.cn/basic-syntax/)
[1]: https://daringfireball.net/projects/markdown/
[2]: https://github.com/
[img1]: https://www.logosc.cn/uploads/articles/2022/10/20/16662553442591813.png

View File

@@ -0,0 +1,189 @@
const baiduCode = require('./config/baiduCode.js'); // 百度统计hm码
const htmlModules = require('./config/htmlModules.js');
const path = require('path');
module.exports = {
theme: 'vdoing', // 使用依赖包主题
// theme: require.resolve('../../vdoing'), // 使用本地主题 (先将vdoing主题文件下载到本地https://github.com/xugaoyi/vuepress-theme-vdoing)
title: "vuepress-theme-vdoing",
description: '一个基于VuePress的 知识管理&博客 主题',
// base: '/', // 默认'/'。如果你想将你的网站部署到如 https://foo.github.io/bar/,那么 base 应该被设置成 "/bar/",(否则页面将失去样式等文件)
base: '/help-center/vuepress-theme-vdoing-doc/docs/.vuepress/dist/',
theme: 'vdoing',
title: "经创HIS系统操作手册",
head: [ // 注入到页面<head> 中的标签,格式[tagName, { attrName: attrValue }, innerHTML?]
['link', { rel: 'icon', href: '/img/favicon.ico' }], //favicons资源放在public文件夹
['meta', { name: 'keywords', content: 'vuepress,theme,blog,vdoing' }],
['meta', { name: 'theme-color', content: '#11a8cd' }], // 移动浏览器主题颜色
// ['meta', { name: 'wwads-cn-verify', content: '6c4b761a28b734fe93831e3fb400ce87' }], // 广告相关,你可以去掉
// ['script', { src: 'https://cdn.wwads.cn/js/makemoney.js', type: 'text/javascript' }], // 广告相关,你可以去掉
],
// 排除特定目录不被打包
patterns: [
'**/*.md',
],
// 注意patterns 配置只影响 Markdown 文件,不影响 public 目录中的静态资源
configureWebpack: {
resolve: {
alias: {
'@img': path.resolve(__dirname, './public/img')
}
}
},
// 主题配置
themeConfig: {
nav: [
{ text: '首页', link: '/' },
{ text: 'HIS', link: '/pages/520e67/' },
],
sidebarDepth: 2, // 侧边栏显示深度默认1最大2显示到h3标题
logo: '/img/logo.png', // 导航栏logo
// repo: 'xugaoyi/vuepress-theme-vdoing', // 导航栏右侧生成Github链接
searchMaxSuggestions: 10, // 搜索结果显示最大数
// lastUpdated: '上次更新', // 更新的时间,及前缀文字 string | boolean (取值为git提交时间)
// docsDir: 'docs', // 编辑的文件夹
// editLinks: true, // 编辑链接
// editLinkText: '编辑',
// 以下配置是Vdoing主题改动的和新增的配置
sidebar: { mode: 'structuring', collapsable: false }, // 侧边栏 'structuring' | { mode: 'structuring', collapsable: Boolean} | 'auto' | 自定义 温馨提示:目录页数据依赖于结构化的侧边栏数据,如果你不设置为'structuring',将无法使用目录页
// sidebarOpen: false, // 初始状态是否打开侧边栏默认true
updateBar: { // 最近更新栏
showToArticle: false, // 显示到文章页底部默认true
// moreArticle: '/archives' // “更多文章”跳转的页面,默认'/archives'
},
// titleBadge: false, // 文章标题前的图标是否显示默认true
// titleBadgeIcons: [ // 文章标题前图标的地址,默认主题内置图标
// '图标地址1',
// '图标地址2'
// ],
pageStyle: 'line', // 页面风格,可选值:'card'卡片 | 'line' 线未设置bodyBgImg时才生效 默认'card'。 说明card时背景显示灰色衬托出卡片样式line时背景显示纯色并且部分模块带线条边框
// contentBgStyle: 1,
category: false, // 是否打开分类功能默认true。 如打开会做的事情有1. 自动生成的frontmatter包含分类字段 2.页面中显示与分类相关的信息和模块 3.自动生成分类页面(在@pages文件夹。如关闭则反之。
tag: false, // 是否打开标签功能默认true。 如打开会做的事情有1. 自动生成的frontmatter包含标签字段 2.页面中显示与标签相关的信息和模块 3.自动生成标签页面(在@pages文件夹。如关闭则反之。
// archive: false, // 是否打开归档功能默认true。 如打开会做的事情有1.自动生成归档页面(在@pages文件夹。如关闭则反之。
author: { // 文章默认的作者信息可在md文件中单独配置此信息 String | {name: String, href: String}
name: 'JinYang Chen', // 必需
// href: 'https://github.com/xugaoyi' // 可选的
},
social: { // 社交图标,显示于博主信息栏和页脚栏
// iconfontCssFile: '//at.alicdn.com/t/font_1678482_u4nrnp8xp6g.css', // 可选阿里图标库在线css文件地址对于主题没有的图标可自由添加
// icons: [
// {
// iconClass: 'icon-youjian',
// title: '发邮件',
// link: 'mailto:894072666@qq.com'
// },
// {
// iconClass: 'icon-github',
// title: 'GitHub',
// link: 'https://github.com/xugaoyi'
// },
// {
// iconClass: 'icon-erji',
// title: '听音乐',
// link: 'https://music.163.com/#/playlist?id=755597173'
// }
// ]
// },
footer: { // 页脚信息
createYear: 2019, // 博客创建年份
copyrightInfo: 'Evan Xu | MIT License', // 博客版权信息支持a标签
},
htmlModules,
},
// 插件
plugins: [
// [require('./plugins/love-me'), { // 鼠标点击爱心特效
// color: '#11a8cd', // 爱心颜色,默认随机色
// excludeClassName: 'theme-vdoing-content' // 要排除元素的class, 默认空''
// }],
['fulltext-search'], // 全文搜索
// ['thirdparty-search', { // 可以添加第三方搜索链接的搜索框(原官方搜索框的参数仍可用)
// thirdparty: [ // 可选,默认 []
// {
// title: '在GitHub中搜索',
// frontUrl: 'https://github.com/search?q=', // 搜索链接的前面部分
// behindUrl: '' // 搜索链接的后面部分,可选,默认 ''
// },
// {
// title: '在npm中搜索',
// frontUrl: 'https://www.npmjs.com/search?q=',
// },
// {
// title: '在Bing中搜索',
// frontUrl: 'https://cn.bing.com/search?q='
// }
// ]
// }],
[
'vuepress-plugin-baidu-tongji', // 百度统计
{
hm: baiduCode || '01293bffa6c3962016c08ba685c79d78'
}
],
['one-click-copy', { // 代码块复制按钮
copySelector: ['div[class*="language-"] pre', 'div[class*="aside-code"] aside'], // String or Array
copyMessage: '复制成功', // default is 'Copy successfully and then paste it for use.'
duration: 1000, // prompt message display time.
showInMobile: false // whether to display on the mobile side, default: false.
}],
['demo-block', { // demo演示模块 https://github.com/xiguaxigua/vuepress-plugin-demo-block
settings: {
// jsLib: ['http://xxx'], // 在线示例(jsfiddle, codepen)中的js依赖
// cssLib: ['http://xxx'], // 在线示例中的css依赖
// vue: 'https://jsd.cdn.zzko.cn/npm/vue/dist/vue.min.js', // 在线示例中的vue依赖
jsfiddle: false, // 是否显示 jsfiddle 链接
codepen: true, // 是否显示 codepen 链接
horizontal: false // 是否展示为横向样式
}
}],
[
'vuepress-plugin-zooming', // 放大图片
{
selector: '.theme-vdoing-content img:not(.no-zoom)',
options: {
bgColor: 'rgba(0,0,0,0.6)'
},
},
],
[
'@vuepress/last-updated', // "上次更新"时间格式
{
transformer: (timestamp, lang) => {
const dayjs = require('dayjs') // https://day.js.org/
return dayjs(timestamp).format('YYYY/MM/DD, HH:mm:ss')
},
}
]
],
markdown: {
// lineNumbers: true,
extractHeaders: ['h2', 'h3', 'h4', 'h5', 'h6'], // 提取标题到侧边栏的级别,默认['h2', 'h3']
},
// 监听文件变化并重新构建
extraWatchFiles: [
'.vuepress/config.js',
'.vuepress/config/htmlModules.js',
]
}
}

View File

@@ -0,0 +1,79 @@
/** 插入自定义html模块 (可用于插入广告模块等)
* {
* homeSidebarB: htmlString, 首页侧边栏底部
*
* sidebarT: htmlString, 全局左侧边栏顶部
* sidebarB: htmlString, 全局左侧边栏底部
*
* pageT: htmlString, 全局页面顶部
* pageB: htmlString, 全局页面底部
* pageTshowMode: string, 页面顶部-显示方式:未配置默认全局;'article' => 仅文章页①; 'custom' => 仅自定义页①
* pageBshowMode: string, 页面底部-显示方式:未配置默认全局;'article' => 仅文章页①; 'custom' => 仅自定义页①
*
* windowLB: htmlString, 全局左下角②
* windowRB: htmlString, 全局右下角②
* }
*
* ①注:在.md文件front matter配置`article: false`的页面是自定义页,未配置的默认是文章页(首页除外)。
* ②注windowLB 和 windowRB1.展示区块最大宽高200px*400px。2.请给自定义元素定一个不超过200px*400px的宽高。3.在屏幕宽度小于960px时无论如何都不会显示。
*/
module.exports = {
// 万维广告
pageT: `
<div class="wwads-cn wwads-horizontal page-wwads" data-id="136"></div>
<style>
.page-wwads{
width:100%!important;
min-height: 0;
margin: 0;
}
.page-wwads .wwads-img img{
width:80px!important;
}
.page-wwads .wwads-poweredby{
width: 40px;
position: absolute;
right: 25px;
bottom: 3px;
}
.wwads-content .wwads-text, .page-wwads .wwads-text{
height: 100%;
padding-top: 5px;
display: block;
}
</style>
`,
// 赞助商广告
sidebarT: `
<a href="http://apifox.cn/a103xugaoyi" target="_blank">
<img src="https://jsd.cdn.zzko.cn/gh/xugaoyi/blog-gitalk-comment@master/img/431669861564_.2470ykdcpbds.jpg" alt="npm" class="no-zoom" style="width: 100%;border-radius: 2px;">
<p style="text-align: center;margin: 0;color: #999;font-size: 12px;">(进入注册为作者充电)</p>
</a>`,
// windowRB: `
// <div class="wwads-cn wwads-vertical windowRB" data-id="136" style="max-width:160px;
// min-width: auto;min-height:auto;"></div>
// <style>
// .windowRB{ padding: 0;}
// .windowRB .wwads-img{margin-top: 10px;}
// .windowRB .wwads-content{margin: 0 10px 10px 10px;}
// .custom-html-window-rb .close-but{
// display: none;
// }
// </style>
// `
}
// module.exports = {
// homeSidebarB: `<div style="width:100%;height:100px;color:#fff;background: #eee;">自定义模块测试</div>`,
// sidebarT: `<div style="width:100%;height:100px;color:#fff;background: #eee;">自定义模块测试</div>`,
// sidebarB: `<div style="width:100%;height:100px;color:#fff;background: #eee;">自定义模块测试</div>`,
// pageT: `<div style="width:100%;height:100px;color:#fff;background: #eee;">自定义模块测试</div>`,
// pageB: `<div style="width:100%;height:100px;color:#fff;background: #eee;">自定义模块测试</div>`,
// windowLB: `<div style="width:100%;height:100px;color:#fff;background: #eee;">自定义模块测试</div>`,
// windowRB: `<div style="width:100%;height:100px;color:#fff;background: #eee;">自定义模块测试</div>`,
// }

View File

@@ -0,0 +1,59 @@
/**
* to主题使用者你可以去掉本文件的所有代码
*/
export default ({
Vue, // VuePress 正在使用的 Vue 构造函数
options, // 附加到根实例的一些选项
router, // 当前应用的路由实例
siteData, // 站点元数据
isServer // 当前应用配置是处于 服务端渲染 还是 客户端
}) => {
// 用于监控在路由变化时检查广告拦截器 (to主题使用者你可以去掉本文件的所有代码)
if (!isServer) {
router.afterEach(() => {
//check if wwads' fire function was blocked after document is ready with 3s timeout (waiting the ad loading)
docReady(function () {
setTimeout(function () {
if (window._AdBlockInit === undefined) {
ABDetected();
}
}, 3000);
});
// 删除事件改为隐藏事件
setTimeout(() => {
const pageAD = document.querySelector('.page-wwads');
if (!pageAD) return;
const btnEl = pageAD.querySelector('.wwads-hide');
if (btnEl) {
btnEl.onclick = () => {
pageAD.style.display = 'none';
}
}
// 显示广告模块
if (pageAD.style.display === 'none') {
pageAD.style.display = 'flex';
}
}, 900);
})
}
}
function ABDetected() {
const h = "<style>.wwads-horizontal,.wwads-vertical{background-color:#f4f8fa;padding:5px;min-height:120px;margin-top:20px;box-sizing:border-box;border-radius:3px;font-family:sans-serif;display:flex;min-width:150px;position:relative;overflow:hidden;}.wwads-horizontal{flex-wrap:wrap;justify-content:center}.wwads-vertical{flex-direction:column;align-items:center;padding-bottom:32px}.wwads-horizontal a,.wwads-vertical a{text-decoration:none}.wwads-horizontal .wwads-img,.wwads-vertical .wwads-img{margin:5px}.wwads-horizontal .wwads-content,.wwads-vertical .wwads-content{margin:5px}.wwads-horizontal .wwads-content{flex:130px}.wwads-vertical .wwads-content{margin-top:10px}.wwads-horizontal .wwads-text,.wwads-content .wwads-text{font-size:14px;line-height:1.4;color:#0e1011;-webkit-font-smoothing:antialiased}.wwads-horizontal .wwads-poweredby,.wwads-vertical .wwads-poweredby{display:block;font-size:11px;color:#a6b7bf;margin-top:1em}.wwads-vertical .wwads-poweredby{position:absolute;left:10px;bottom:10px}.wwads-horizontal .wwads-poweredby span,.wwads-vertical .wwads-poweredby span{transition:all 0.2s ease-in-out;margin-left:-1em}.wwads-horizontal .wwads-poweredby span:first-child,.wwads-vertical .wwads-poweredby span:first-child{opacity:0}.wwads-horizontal:hover .wwads-poweredby span,.wwads-vertical:hover .wwads-poweredby span{opacity:1;margin-left:0}.wwads-horizontal .wwads-hide,.wwads-vertical .wwads-hide{position:absolute;right:-23px;bottom:-23px;width:46px;height:46px;border-radius:23px;transition:all 0.3s ease-in-out;cursor:pointer;}.wwads-horizontal .wwads-hide:hover,.wwads-vertical .wwads-hide:hover{background:rgb(0 0 0 /0.05)}.wwads-horizontal .wwads-hide svg,.wwads-vertical .wwads-hide svg{position:absolute;left:10px;top:10px;fill:#a6b7bf}.wwads-horizontal .wwads-hide:hover svg,.wwads-vertical .wwads-hide:hover svg{fill:#3E4546}</style><a href='https://wwads.cn/page/whitelist-wwads' class='wwads-img' target='_blank' rel='nofollow'><img src='https://jsd.cdn.zzko.cn/gh/xugaoyi/image_store@master/blog/wwads.2a3pidhlh4ys.webp' width='130'></a><div class='wwads-content'><a href='https://wwads.cn/page/whitelist-wwads' class='wwads-text' target='_blank' rel='nofollow'>为了本站的长期运营,请将我们的网站加入广告拦截器的白名单,感谢您的支持!<span style='color: #11a8cd'>如何添加白名单?</span></a><a href='https://wwads.cn/page/end-user-privacy' class='wwads-poweredby' title='万维广告 让广告更优雅,且有用' target='_blank'><span>广告</span></a></div><a class='wwads-hide' onclick='parentNode.remove()' title='隐藏广告'><svg xmlns='http://www.w3.org/2000/svg' width='6' height='7'><path d='M.879.672L3 2.793 5.121.672a.5.5 0 11.707.707L3.708 3.5l2.12 2.121a.5.5 0 11-.707.707l-2.12-2.12-2.122 2.12a.5.5 0 11-.707-.707l2.121-2.12L.172 1.378A.5.5 0 01.879.672z'></path></svg></a>";
const wwadsEl = document.getElementsByClassName("wwads-cn");
const wwadsContentEl = document.querySelector('.wwads-content');
if (wwadsEl[0] && !wwadsContentEl) {
wwadsEl[0].innerHTML = h;
}
};
//check document ready
function docReady(t) {
"complete" === document.readyState ||
"interactive" === document.readyState
? setTimeout(t, 1)
: document.addEventListener("DOMContentLoaded", t);
}

View File

@@ -0,0 +1,12 @@
const path= require('path');
const LoveMyPlugin = (options={}) => ({
define () {
const COLOR = options.color || "rgb(" + ~~ (255 * Math.random()) + "," + ~~ (255 * Math.random()) + "," + ~~ (255 * Math.random()) + ")"
const EXCLUDECLASS = options.excludeClassName || ''
return {COLOR, EXCLUDECLASS}
},
enhanceAppFiles: [
path.resolve(__dirname, 'love-me.js')
]
});
module.exports = LoveMyPlugin;

View File

@@ -0,0 +1,62 @@
export default () => {
if (typeof window !== "undefined") {
(function(e, t, a) {
function r() {
for (var e = 0; e < s.length; e++) s[e].alpha <= 0 ? (t.body.removeChild(s[e].el), s.splice(e, 1)) : (s[e].y--, s[e].scale += .004, s[e].alpha -= .013, s[e].el.style.cssText = "left:" + s[e].x + "px;top:" + s[e].y + "px;opacity:" + s[e].alpha + ";transform:scale(" + s[e].scale + "," + s[e].scale + ") rotate(45deg);background:" + s[e].color + ";z-index:99999");
requestAnimationFrame(r)
}
function n() {
var t = "function" == typeof e.onclick && e.onclick;
e.onclick = function(e) {
// 过滤指定元素
let mark = true;
EXCLUDECLASS && e.path && e.path.forEach((item) =>{
if(item.nodeType === 1) {
typeof item.className === 'string' && item.className.indexOf(EXCLUDECLASS) > -1 ? mark = false : ''
}
})
if(mark) {
t && t(),
o(e)
}
}
}
function o(e) {
var a = t.createElement("div");
a.className = "heart",
s.push({
el: a,
x: e.clientX - 5,
y: e.clientY - 5,
scale: 1,
alpha: 1,
color: COLOR
}),
t.body.appendChild(a)
}
function i(e) {
var a = t.createElement("style");
a.type = "text/css";
try {
a.appendChild(t.createTextNode(e))
} catch(t) {
a.styleSheet.cssText = e
}
t.getElementsByTagName("head")[0].appendChild(a)
}
// function c() {
// return "rgb(" + ~~ (255 * Math.random()) + "," + ~~ (255 * Math.random()) + "," + ~~ (255 * Math.random()) + ")"
// }
var s = [];
e.requestAnimationFrame = e.requestAnimationFrame || e.webkitRequestAnimationFrame || e.mozRequestAnimationFrame || e.oRequestAnimationFrame || e.msRequestAnimationFrame ||
function(e) {
setTimeout(e, 1e3 / 60)
},
i(".heart{width: 10px;height: 10px;position: fixed;background: #f00;transform: rotate(45deg);-webkit-transform: rotate(45deg);-moz-transform: rotate(45deg);}.heart:after,.heart:before{content: '';width: inherit;height: inherit;background: inherit;border-radius: 50%;-webkit-border-radius: 50%;-moz-border-radius: 50%;position: fixed;}.heart:after{top: -5px;}.heart:before{left: -5px;}"),
n(),
r()
})(window, document)
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Some files were not shown because too many files have changed in this diff Show More