diff --git a/README.md b/README.md index 10d4c59..7ffb05a 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,17 @@ -# Command Prompt (clone) -Clone do Prompt de Comando do Windows 10 em HTML, CSS e JavaScript \ No newline at end of file +# vlmcsd kms for windows + +免费的 VL Windows 批量激活服务 + +- [kms.eallion.com](https://kms.eallion.com) + +```bash +slmgr /upk + +slmgr /ipk NRG8B-VKK3Q-CXVCJ-9G2XF-6Q84J + +slmgr /skms kms.eallion.com + +slmgr /ato +``` + + diff --git a/assets/close.svg b/assets/close.svg new file mode 100644 index 0000000..8a7b0a3 --- /dev/null +++ b/assets/close.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/kms.eallion.com.png b/assets/kms.eallion.com.png new file mode 100644 index 0000000..bf5bd3d Binary files /dev/null and b/assets/kms.eallion.com.png differ diff --git a/assets/maximize.svg b/assets/maximize.svg new file mode 100644 index 0000000..6ced03d --- /dev/null +++ b/assets/maximize.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/minimize.svg b/assets/minimize.svg new file mode 100644 index 0000000..5a71002 --- /dev/null +++ b/assets/minimize.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/notepad.jpg b/assets/notepad.jpg new file mode 100644 index 0000000..7f2928b Binary files /dev/null and b/assets/notepad.jpg differ diff --git a/assets/script.js b/assets/script.js index 401a0c0..711250e 100644 --- a/assets/script.js +++ b/assets/script.js @@ -1,5 +1,5 @@ const OperatingSystem = { - version: "Microsoft Windows [版本 10.0.22631.3593]", + version: "Microsoft Windows [版本 10.0.22631.4169]", copyRight: "(c) Microsoft Corportion. 保留所有权利。" } @@ -12,26 +12,26 @@ var Terminal = { instanceNumber: 1 } const Color = { - hex0: "rgb(0, 0, 0)", //Preto - hex1: "rgb(0, 0, 128)", //Azul - hex2: "rgb(0, 128, 0)", //Verde - hex3: "rgb(0, 128, 128)", //Verde-água - hex4: "rgb(128, 0, 0)", //Vermelho - hex5: "rgb(128, 0, 128)", //Roxo - hex6: "rgb(128, 128, 0)", //Amarelo - hex7: "rgb(192, 192, 192)", //Branco - hex8: "rgb(128, 128, 128)", //Cinza - hex9: "rgb(0, 0, 255)", //Azul claro - hexA: "rgb(0, 255, 0)", //Verde claro - hexB: "rgb(0, 255, 255)", //Verde-água claro - hexC: "rgb(255, 0, 0)", //Vermelho claro - hexD: "rgb(255, 0, 255)", //Lilás - hexE: "rgb(255, 255, 0)", //Amarelo claro - hexF: "rgb(255, 255, 255)" //Branco brilhante + hex0: "rgb(0, 0, 0)", //Preto + hex1: "rgb(0, 0, 128)", //Azul + hex2: "rgb(0, 128, 0)", //Verde + hex3: "rgb(0, 128, 128)", //Verde-água + hex4: "rgb(128, 0, 0)", //Vermelho + hex5: "rgb(128, 0, 128)", //Roxo + hex6: "rgb(128, 128, 0)", //Amarelo + hex7: "rgb(192, 192, 192)", //Branco + hex8: "rgb(128, 128, 128)", //Cinza + hex9: "rgb(0, 0, 255)", //Azul claro + hexA: "rgb(0, 255, 0)", //Verde claro + hexB: "rgb(0, 255, 255)", //Verde-água claro + hexC: "rgb(255, 0, 0)", //Vermelho claro + hexD: "rgb(255, 0, 255)", //Lilás + hexE: "rgb(255, 255, 0)", //Amarelo claro + hexF: "rgb(255, 255, 255)" //Branco brilhante } // ------------------------------------------------------------------------ // var osInfo = OperatingSystem.version + newLine() + - OperatingSystem.copyRight + newLine(); + OperatingSystem.copyRight + newLine(); //Ex: C:\Windows\system32> var path = Terminal.driverLetter + ":\\" + Terminal.directory + ">"; @@ -126,7 +126,7 @@ function help() { "VER" + nbsp(12) + "Displays the Windows version." + newLine() + "" + newLine() + "For more information on tools, refer to the command line reference in the online help..." + newLine() - execute(); + execute(); } function cd() { let directory = Terminal.input.split(" ")[1]; @@ -252,7 +252,7 @@ function exit() { } function newTerminalInstance() { osInfo = OperatingSystem.version + newLine() + - OperatingSystem.copyRight; + OperatingSystem.copyRight; Terminal.input += newLine() + osInfo; Terminal.instanceNumber++; document.title += " - cmd"; @@ -327,6 +327,63 @@ function listening() { }); } +// 显示提示信息 +document.getElementById('overlay').style.display = 'block'; +document.getElementById('modal').style.display = 'block'; + +// 点击确定按钮关闭提示信息 +document.getElementById('confirmBtn').addEventListener('click', function () { + document.getElementById('overlay').style.display = 'none'; + document.getElementById('modal').style.display = 'none'; +}); + +function copyToClipboard(text) { + const tempInput = document.createElement("input"); + tempInput.value = text; + document.body.appendChild(tempInput); + tempInput.select(); + document.execCommand("copy"); + document.body.removeChild(tempInput); +} +function copyToClipboard(text) { + const tempInput = document.createElement("input"); + tempInput.value = text; + document.body.appendChild(tempInput); + tempInput.select(); + document.execCommand("copy"); + document.body.removeChild(tempInput); +} + +document.getElementById('tips').addEventListener('click', function () { + const terminal = document.querySelector('.terminal'); + const notepad = document.querySelector('.notepad'); + + if (terminal.style.display !== 'none') { + terminal.style.display = 'none'; + notepad.style.display = 'block'; + } +}); + +document.getElementById('close').addEventListener('click', function () { + const terminal = document.querySelector('.terminal'); + const notepad = document.querySelector('.notepad'); + + if (notepad.style.display !== 'none') { + terminal.style.display = 'block'; + notepad.style.display = 'none'; + } +}); + +document.getElementById('minimize').addEventListener('click', function () { + const terminal = document.querySelector('.terminal'); + const notepad = document.querySelector('.notepad'); + + if (notepad.style.display !== 'none') { + terminal.style.display = 'block'; + notepad.style.display = 'none'; + } +}); + // Chamadas de início updateOsInfo(); createLine(); diff --git a/assets/style.css b/assets/style.css index 6627301..edcf7ed 100644 --- a/assets/style.css +++ b/assets/style.css @@ -5,6 +5,8 @@ background-image: url(background.webp); background-size: cover; background-repeat: no-repeat; + height: 100%; + width: 100%; } * { @@ -19,34 +21,20 @@ a:visited, a:hover, a:active { text-decoration: underline; - color: #222 !important; - background-color: #fff; + color: currentColor; position: relative; } -a:after { - content: ""; - display: inline-block; - width: 15px; - height: 15px; - margin-left: 1px; - background-image: url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="24" height="24" viewBox="0 0 24 24"%3E%3Cg fill="white"%3E%3Cpath d="M15.64 7.025h-3.622v-2h7v7h-2v-3.55l-4.914 4.914l-1.414-1.414l4.95-4.95Z"%2F%3E%3Cpath d="M10.982 6.975h-6v12h12v-6h-2v4h-8v-8h4v-2Z"%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E'); - fill:#fff; - background-size: cover; - background-color: transparent; - position: absolute; -} - .terminal { - width: 65%; + width: 50%; height: auto; + min-height: 512px; font-family: "Consolas", monospace; font-size: 16px; background-color: #282c34; border-radius: 0.5rem; margin: 0 auto; margin-top: 3rem; - padding-bottom: 5rem; } .os-title { @@ -54,24 +42,42 @@ a:after { border-radius: 0.5rem; color: #eee; width: 100%; + height: 40px; + display: flex; + align-items: center; + justify-content: space-between; +} + +.os-title .os-title-logo { display: flex; align-items: center; gap: 10px; - height: 40px; } -.os-title p { +.os-title { font-family: "Microsoft Yahei,微软雅黑,-apple-system,BlinkMacSystemFont,helvetica neue,Helvetica,Arial,pingfang sc,hiragino sans gb,wenquanyi micro hei,segoe ui,sans-serif,serif;"; line-height: 2.2; font-size: 12px; float: left; } -.os-title img { +.os-title .os-title-logo img { height: 1rem; padding-left: 0.5rem; } +.os-title .os-title-tips { + display: flex; + align-items: center; + margin-right: 1rem; + gap: 0.5rem; +} + +.os-title .os-title-tips .tips { + text-decoration: underline; + cursor: pointer; +} + .os-info { margin-top: 0.5rem; margin-bottom: 2rem; @@ -82,6 +88,63 @@ a:after { padding-left: 0.5rem; } +.container .content { + display: flex; + align-items: center; + margin: 20px 0; + position: relative; + /* 添加相对定位 */ +} + +.container .content .code { + margin-left: 0.5rem; + position: relative; + /* 添加相对定位 */ + color: rgba(204, 204, 204, 1.0); + text-decoration: none; +} + +.tooltip { + display: none; + position: absolute; + background-color: rgba(204, 204, 204, 1.0); + color: #282c34; + padding: 10px 8px; + border-radius: 5px; + z-index: 1; + white-space: nowrap; + top: -40px; + /* 调整这个值以控制 tooltip 的位置 */ + left: 180px; + /* 使 tooltip 与 code 左对齐 */ + transform: translateX(0); + /* 确保 tooltip 与 code 左对齐 */ +} + +.tooltip_office { + left: 380px; +} + +.code { + cursor: pointer; + text-decoration: underline; +} + +.code:hover+.tooltip, +.tooltip:hover { + display: block; +} + +.copy-button { + margin-left: 5px; + background-color: #282c34; + color: white; + border: none; + padding: 2px 5px; + cursor: pointer; + border-radius: 3px; +} + .line { padding-left: 0.5rem; } @@ -108,4 +171,209 @@ a:after { 50% { opacity: 1 } +} + + +.notepad { + width: 50%; + height: auto; + min-height: 512px; + height: calc(100vh - 200px); + font-family: "Roboto", sans-serif; + font-size: 12px; + box-shadow: 5px 5px 20px #444; + margin: 0 auto; + margin-top: 3rem; + display: none; +} + +.head { + height: 32px; + width: 100%; + background: white; + display: flex; + padding-left: 8px; + box-sizing: border-box; + align-items: center; + cursor: default; + user-select: none; +} + +.head .container { + display: flex; + flex: 1; + align-items: center; +} + +.head .container.center { + justify-content: center; +} + +.head .container.right { + display: flex; + justify-content: flex-end; + height: 100%; +} + +.head .container.right .material-icons { + font-size: 17px; + height: 100%; + width: 35px; + display: flex; + justify-content: center; + align-items: center; +} + +.head .container.right .material-icons:nth-child(1) { + padding-bottom: 7px; + box-sizing: border-box; +} + +.head .container.right .material-icons:nth-child(2) { + font-size: 13px; +} + +.head .container.right .material-icons:hover { + background: #E5E5E5; +} + +.head .container.right .material-icons:hover:nth-child(3) { + background: red; + color: white; +} + +.head .container.left { + overflow: hidden; +} + +.head img { + height: 18px; + width: 18px; + margin-right: 5px; +} + +.toolbar { + height: 22px; + width: 100%; + border-bottom: 1px solid #F0F0F0; + background: white; +} + +.toolbar span { + font-size: 11px; + box-sizing: border-box; + padding: 5px 8px; + height: 100%; + user-select: none; + display: inline-block; +} + +.toolbar span:hover { + background: #E5F3FF; + cursor: default; +} + +textarea { + border: none; + resize: none; + width: calc(100% - 10px); + height: calc(100% - 76px); + overflow-x: scroll; + overflow-y: scroll; + font-size: 16px; + padding: 10px 0 0 10px; +} + +textarea:focus { + outline: none !important; +} + +.bottom-toolbar { + background: #F0F1F0; + height: 22px; + width: calc(100% + 4px); + margin-top: -2px; + border-top: 1px solid #D7D7D7; + display: flex; +} + +.bottom-toolbar div { + flex: 1; + border-left: 1px solid #D7D7D7; + display: flex; + align-items: center; + padding-left: 5px; + box-sizing: border-box; + user-select: none; +} + +.bottom-toolbar div:nth-child(1) { + flex: 2; +} + +.bottom-toolbar div:nth-child(3) { + flex: 0.4; +} + +/* 弹出公告 */ +/* 半透明背景层 */ +.overlay { + display: none; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(0, 0, 0, 0.5); + z-index: 1000; +} + +/* 提示信息框 */ +.modal { + display: none; + position: fixed; + top: 0; + left: 50%; + transform: translate(-50%, 50%); + width: auto; + padding: 20px; + background-color: white; + border-radius: 5px; + box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); + z-index: 1001; + text-align: center; +} + +.modal-content { + display: flex; + flex-direction: column; + align-items: flex-start; + gap: 0.5rem; +} + +.modal-content p { + white-space: nowrap; +} + +/* 确定按钮 */ +.modal button { + margin-top: 20px; + padding: 10px 20px; + background-color: #007BFF; + color: white; + border: none; + border-radius: 5px; + cursor: pointer; +} + +.modal button:hover { + background-color: #0056b3; +} + +@media (max-width: 1366px) { + + .terminal, + .notepad { + width: 95%; + } } \ No newline at end of file diff --git a/docker-compose.yml b/compose.yml similarity index 88% rename from docker-compose.yml rename to compose.yml index ce24c5a..17e8151 100644 --- a/docker-compose.yml +++ b/compose.yml @@ -1,4 +1,3 @@ -version: "3.0" services: vlmcsd: image: mikolatero/vlmcsd:latest diff --git a/index.html b/index.html index 4f51d39..3f27d00 100644 --- a/index.html +++ b/index.html @@ -7,31 +7,124 @@
+ + + + +