这是林泊百科的迁移技术测试站点,所有改动不会同步到林泊百科上,此站点将会在正式迁移后关闭,请勿存放重要数据

模板:密码盘:修订间差异

来自Limbo Wiki
晨茗biu~留言 | 贡献
创建页面,内容为“<includeonly><templatestyles src="密码盘/styles.css" /> <div class="pd-pad {{{class|}}}" style="{{{style|}}}" data-answer="{{{correct|}}}" data-symbols="{{{symbols|}}}" data-length="{{{length|}}}" data-layout="{{{layout|}}}" data-target="{{{target|}}}"> <div class="pd-head"> <span class="pd-title">{{{title|密码盘}}}</span><br> <span class="pd-state">{{{hint|请输入密码}}}</span> </div> <div class="pd-display"></div> <div class="pd-keys"></div>…”
 
晨茗biu~留言 | 贡献
无编辑摘要
 
(未显示同一用户的2个中间版本)
第1行: 第1行:
<includeonly><templatestyles src="密码盘/styles.css" />
<includeonly><templatestyles src="密码盘/styles.css" /><div class="pd-pad {{{class|}}}" style="{{{style|}}}" data-answer="{{{correct|}}}" data-symbols="{{{symbols|}}}" data-length="{{{length|}}}" data-layout="{{{layout|}}}" data-target="{{{target|}}}" data-autohide="{{{autohide|}}}">
<div class="pd-pad {{{class|}}}" style="{{{style|}}}" data-answer="{{{correct|}}}" data-symbols="{{{symbols|}}}" data-length="{{{length|}}}" data-layout="{{{layout|}}}" data-target="{{{target|}}}">
   <div class="pd-head">
   <div class="pd-head">
<span class="pd-title">{{{title|密码盘}}}</span><br>
<span class="pd-title">{{{title|密码盘}}}</span><br>
第9行: 第8行:
   <div class="pd-msg" role="status" aria-live="polite"></div>
   <div class="pd-msg" role="status" aria-live="polite"></div>
<span class="pd-okmsg" style="display:none">{{{okmsg|✓ 密码正确}}}</span>
<span class="pd-okmsg" style="display:none">{{{okmsg|✓ 密码正确}}}</span>
<span class="pd-errmsg" style="display:none">{{{errmsg|✗ 密码错误,请重试}}}</span>
<span class="pd-errmsg" style="display:none">{{{errmsg|✗ 密码错误,请重试}}}</span></div></includeonly><noinclude>
</div></includeonly>
*'''密码盘''':输入符号密码,正确即显示页面中别处的隐藏内容。支持多密码、多行按键布局、自定义提示文案;解锁后不锁定,可连续输入多个密码。
<noinclude>
*本模板依赖 JavaScript 运行,请确保浏览器已启用 JavaScript 。
*'''密码盘''':输入符号密码,正确即显示页面中别处的隐藏内容。支持多密码、多行按键布局、自定义提示文案;解锁后不锁定,可连续输入多个密码,已解锁内容不隐藏。
*本模板依赖JavaScript运行,请确保浏览器已启用JavaScript。


== 配套页面 ==
== 配套页面 ==
* [[模板:密码盘/styles.css]] —— 面板样式
* [[模板:密码盘/styles.css]] —— 面板样式
* [[MediaWiki:密码盘.js]] —— 交互脚本
* [[MediaWiki:密码盘.js]] —— 交互脚本
* [[模板:密码盘/内容]] —— 被解锁内容容器(也可手写 div)
* [[模板:密码盘/内容]] —— 被解锁内容容器


== 参数 ==
== 参数 ==
第24行: 第21行:
! 参数 !! 必填 !! 默认 !! 说明
! 参数 !! 必填 !! 默认 !! 说明
|-
|-
| correct || 是 || — || 正确密码,符号用逗号分隔;多密码用分号 <code>;</code> 分隔各组,如 <code>A,B,C;D,E,F</code>
| correct || 是 || — || 正确密码,按密码顺序填写符号,符号使用可重复。符号间用英文逗号 <code>,</code>分隔;多密码用分号 <code>;</code> 分隔各组,如 <code>A,B,C;D,E,F</code>
|-
|-
| target || 否 || — || 内容键名组,与 correct 各组一一对应:第 i 个密码解锁第 i 组。组间用 <code>;</code>、组内用 <code>,</code>,如 <code>boxA,boxB;boxC</code>
| target || 否 || — || 内容键名组,与 correct 各组一一对应:第 i 个密码解锁第 i 组。组间用 <code>;</code>、组内用 <code>,</code>,如 <code>boxA,boxB;boxC</code>。键名组中的键名在组内/组间可重复。
|-
|-
| symbols || 否 || QWERTY 26 键 || 按键符号列表,个数 = 按键总数。不填时默认 QWERTY 键盘 26 个大写字母
| symbols || 否 || QWERTY 26 键 || 按键符号列表,个数 = 按键总数,符号间用英文逗号 <code>,</code>分隔。不填时默认 QWERTY 键盘 26 个大写字母。按键符号可以重复,相同符号对应按键视为相同按键。
|-
|-
| length || 否 || 第一个密码的位数 || 密码位数;'''所有密码位数必须一致'''
| length || 否 || 第一个密码的位数 || 密码位数,正常使用时一般不用填;'''所有密码位数必须一致'''
|-
|-
| layout || 否 || 见下方说明 || 按键行布局:逗号分隔整数,个数=行数,每数=该行键数,如 <code>3,4,3</code>。不填时的默认:默认键盘按 QWERTY 三行(10/9/7);自定义 symbols 且未填写该参数时按单行执行
| layout || 否 || 见右侧说明 || 按键行布局:逗号分隔整数,个数=行数,每数=该行键数,如 <code>3,4,3</code>。不填时的默认:默认键盘按 QWERTY 三行(10/9/7);自定义 symbols 且未填写该参数时按单行执行
|-
| autohide || 否 || 关闭 || 是否在验证成功时自动隐藏本密码盘 target 范围内其他已解锁的内容。填 <code>1</code> / <code>true</code> / <code>yes</code> / <code>on</code> 启用;默认关闭(空或其它值)
|-
|-
| errmsg || 否 || ✗ 密码错误,请重试 || 密码错误时的提示
| errmsg || 否 || ✗ 密码错误,请重试 || 密码错误时的提示
第40行: 第39行:
| title || 否 || 密码盘 || 面板标题
| title || 否 || 密码盘 || 面板标题
|-
|-
| hint || 否 || 请输入密码 || 提示文字
| hint || 否 || 请输入密码 || 面板提示文字
|-
|-
| class || 否 || — || 追加到面板容器的 class
| class || 否 || — || 追加到面板容器的 class
第46行: 第45行:
| style || 否 || — || 追加到面板容器的内联样式
| style || 否 || — || 追加到面板容器的内联样式
|}
|}
==简易使用教程==
*在 correct 一栏按顺序填入对应按键符号,中间用英文逗号(即半角逗号)分隔,这一栏即为正确答案,在 target 填写对应的想要显现的内容标签即可。
*对于想要显现的内容,使用“密码盘/内容”模板,在 key 一栏填入自定义标签,在 content 一栏填入对应内容即可。


== 布局规则 ==
== 布局规则 ==
第52行: 第55行:
* '''填了 layout''':无论是否填 symbols,都按你指定的行布局排列(建议各行键数之和 = symbols 个数;超出部分并入最后一行)。
* '''填了 layout''':无论是否填 symbols,都按你指定的行布局排列(建议各行键数之和 = symbols 个数;超出部分并入最后一行)。


== 实例 1:默认 QWERTY 键盘 ==
==实例使用说明==
不填 symbols / layout 即为 QWERTY 三行布局(Q W E R T Y U I O P / A S D F G H J K L / Z X C V B N M)。
 
=== 实例 1:默认 QWERTY 键盘 ===
不填 symbols / layout 即为 QWERTY 三行布局(Q W E R T Y U I O P / A S D F G H J K L / Z X C V B N M)。<br>
代码:
代码:
<pre>
<pre>
第75行: 第80行:
}}
}}


== 实例 2:多密码对应多内容 ==
=== 实例 2:多密码对应多内容 ===
第 i 个密码解锁第 i 组 target。解锁后不锁定,可连续输入多个密码。
第 i 个密码解锁第 i 组 target。解锁后不锁定,可连续输入多个密码。<br>
代码:
代码:
<pre>
<pre>
第98行: 第103行:
{{密码盘/内容|key=doc-b4|content=GHI 解锁的 D}}
{{密码盘/内容|key=doc-b4|content=GHI 解锁的 D}}


== 实例 3:自定义符号 + 指定行布局 ==
=== 实例 3:自定义符号 + 指定行布局 ===
自定义 symbols 时若想多行,须显式填写 layout(不填则单行)。
自定义 symbols 时若想多行,须显式填写 layout(不填则单行)。<br>
代码:
代码:
<pre>
<pre>
第127行: 第132行:
}}
}}


== 实例 4:自定义提示文案 ==
=== 实例 4:自定义提示文案 ===
errmsg / okmsg 按 wikitext 解析,支持加粗、颜色、链接、模板等。
errmsg / okmsg 按 wikitext 解析,支持加粗、颜色、链接、模板等。<br>
代码:
代码:
<pre>
<pre>
第154行: 第159行:
}}
}}


== 实例 5:自定义解锁内容外观 ==
=== 实例 5:自动隐藏(autohide) ===
解锁内容不预设任何外观,外观完全由用户决定。可用内容模板的 class / style 参数,或在内容内自包容器,也可直接手写 div。
启用 <code>autohide</code> 后,每次输对一个密码会显示对应内容组、并收起本盘此前解锁的其他内容组;输错不会隐藏。不填 <code>autohide</code>(默认关闭)时,已解锁内容一直显示、可连续解锁多个内容块。隐藏功能不对其他独立密码盘(即 target 参数无交集)生效。下方两个密码盘为独立密码盘,且使用相同的密码,便于对比。<br>
代码:
代码:
<pre>
<pre>
{{密码盘
{{密码盘
| correct = B,C
| correct = A,B,C; D,E,F
| target = doc-d
| target   = doc-h1; doc-h2
| autohide = 1
| title    = 开启 autohide
| hint    = 输入 ABC 或 DEF
}}
}}
{{密码盘/内容
{{密码盘/内容|key=doc-h1|content='''ABC 的内容''':先输 ABC 看到我;再输 DEF 后我会被收起。}}
| key     = doc-d
{{密码盘/内容|key=doc-h2|content='''DEF 的内容''':输 DEF 显示我,同时收起 ABC 的内容。}}
| class  = doc-gift
 
| style  = display:none; padding:12px; background:#e8f5e9; border:1px solid #43a047;
{{密码盘
| content = '''带自定义样式的内容。'''
| correct  = A,B,C; D,E,F
| target  = doc-h3; doc-h4
| title    = 未开启 autohide
| hint    = 输入 ABC 或 DEF
}}
}}
{{密码盘/内容|key=doc-h3|content='''ABC 的内容''':解锁后一直显示,不会被后来的 DEF 收起。}}
{{密码盘/内容|key=doc-h4|content='''DEF 的内容''':与 ABC 的内容同时可见。}}
</pre>
</pre>
效果(可直接操作):
效果(可直接操作):
{{密码盘
{{密码盘
| correct = B,C
| correct = A,B,C; D,E,F
| target = doc-d
| target   = doc-h1; doc-h2
| autohide = 1
| title    = 开启 autohide
| hint    = 输入 ABC 或 DEF
}}
}}
{{密码盘/内容
{{密码盘/内容|key=doc-h1|content='''ABC 的内容''':先输 ABC 看到我;再输 DEF 后我会被收起。}}
| key     = doc-d
{{密码盘/内容|key=doc-h2|content='''DEF 的内容''':输 DEF 显示我,同时收起 ABC 的内容。}}
| class  = doc-gift
 
| style  = display:none; padding:12px; background:#e8f5e9; border:1px solid #43a047;
{{密码盘
| content = '''带自定义样式的内容。'''
| correct  = A,B,C; D,E,F
| target  = doc-h3; doc-h4
| title    = 未开启 autohide(默认)
| hint    = 输入 ABC 或 DEF
}}
}}
{{密码盘/内容|key=doc-h3|content='''ABC 的内容''':解锁后一直显示,不会被后来的 DEF 收起。}}
{{密码盘/内容|key=doc-h4|content='''DEF 的内容''':与 ABC 的内容同时可见。}}
=== 操作提示 ===
* 上面(开启 autohide):先输 <code>ABC</code> 看到第 1 块,再输 <code>DEF</code> 显示第 2 块并'''收起第 1 块''';
* 下面(默认关闭):先输 <code>ABC</code>、再输 <code>DEF</code>,两块'''同时保持显示''';
* 输入错误密码(如 <code>XYZ</code>)时,两个密码盘都'''不会'''执行任何隐藏操作;
* 两个密码盘各自的 target 键名不同,互不影响,可独立使用。
== autohide 参数说明 ==
* 仅在验证成功(输入密码正确)时执行隐藏;验证失败(密码错误)时不执行任何隐藏操作。
* 隐藏范围仅限本密码盘 target 参数中出现的键名(各组键名的并集),不影响其他独立密码盘及其内容。
* 本次验证成功所对应那一组 target 内的键会正常显示;若某键同时出现在本次组与其他组中(组间共享),该键保持显示、不会被隐藏。
* 启用时:每次输对一个密码,显示该密码对应的内容组,并收起本盘此前解锁的其他组内容。
* 关闭时:不填或填其它值时,解锁后一直显示,仅当刷新页面时隐藏。默认为关闭状态。


== 注意事项 ==
== 其他注意事项 ==
* 符号内不能含英文逗号或分号(均为分隔符);符号含 <code>|</code> 时写 <code><nowiki>{{!}}</nowiki></code>。
* 符号内不能含英文逗号或分号(均为分隔符);符号含 <code>|</code> 时写 <code><nowiki>{{!}}</nowiki></code>。
* 符号并不限定在英文,也不限定单个解谜符号的字数,请按需尝试并选择。
* 符号并不限定在英文,也不限定单个解谜符号的字数,请按需尝试并选择。
* 各密码位数必须一致;target 键名只推荐字母、数字、-、_。
* 各密码位数必须一致,且大小写敏感。
* target 键名只推荐字母、数字、-、_。
* 不配置 target 时,密码正确仅显示面板反馈,不展开内容。
* 默认按键为 QWERTY 键盘(Q,W,E,R,T,Y,U,I,O,P / A,S,D,F,G,H,J,K,L / Z,X,C,V,B,N,M),三行 10/9/7;使用默认按键时密码请用大写字母。
* 默认按键为 QWERTY 键盘(Q,W,E,R,T,Y,U,I,O,P / A,S,D,F,G,H,J,K,L / Z,X,C,V,B,N,M),三行 10/9/7;使用默认按键时密码请用大写字母。
* 自定义 symbols 未填 layout 时按键单行排列,超宽自动折行;要多行请显式填写 layout。
* 自定义 symbols 未填 layout 时按键单行排列,超宽自动折行;要多行请显式填写 layout。符号按 symbols 栏中的输入顺序排列。
* errmsg / okmsg 按 wikitext 解析:<code>'''加粗'''</code>、<code><nowiki>[[链接]]</nowiki></code>、<code><nowiki>{{模板}}</nowiki></code> 均可用;值内含 <code><nowiki>|</nowiki></code> 时须写 <code><nowiki>{{!}}</nowiki></code>,内含 <code>}}</code> 时写 <code><nowiki>{{)}}</nowiki></code>。
* 正确/错误提示在下次验证前一直显示,仅在下一次输入判定时更新。
* 正确/错误提示在下次验证前一直显示,仅在下一次输入判定时更新。
* 不配 target 时,密码正确仅显示面板反馈,不展开内容。
* 面板空白无按键 = JS 未加载,请检查浏览器配置,必要时尝试清空浏览器缓存并刷新页面。
* 面板空白无按键 = JS 未加载,请检查浏览器配置。
* 当验证结束后输入框未自动清空时,点击输入按钮会导致输入卡住(此功能实际用意为防止自动清空误删除后续输入,但也会带来这种问题),此时点击“清空”来手动清空即可解决。
* 有关于解谜后显示内容的模板配置和注意事项,请前往[[模板:密码盘/内容]]。
</noinclude>
</noinclude>

2026年8月19日 (三) 22:01的最新版本

  • 密码盘:输入符号密码,正确即显示页面中别处的隐藏内容。支持多密码、多行按键布局、自定义提示文案;解锁后不锁定,可连续输入多个密码。
  • 本模板依赖 JavaScript 运行,请确保浏览器已启用 JavaScript 。

配套页面

参数

参数 必填 默认 说明
correct 正确密码,按密码顺序填写符号,符号使用可重复。符号间用英文逗号 ,分隔;多密码用分号 ; 分隔各组,如 A,B,C;D,E,F
target 内容键名组,与 correct 各组一一对应:第 i 个密码解锁第 i 组。组间用 ;、组内用 ,,如 boxA,boxB;boxC。键名组中的键名在组内/组间可重复。
symbols QWERTY 26 键 按键符号列表,个数 = 按键总数,符号间用英文逗号 ,分隔。不填时默认 QWERTY 键盘 26 个大写字母。按键符号可以重复,相同符号对应按键视为相同按键。
length 第一个密码的位数 密码位数,正常使用时一般不用填;所有密码位数必须一致
layout 见右侧说明 按键行布局:逗号分隔整数,个数=行数,每数=该行键数,如 3,4,3。不填时的默认:默认键盘按 QWERTY 三行(10/9/7);自定义 symbols 且未填写该参数时按单行执行
autohide 关闭 是否在验证成功时自动隐藏本密码盘 target 范围内其他已解锁的内容。填 1 / true / yes / on 启用;默认关闭(空或其它值)
errmsg ✗ 密码错误,请重试 密码错误时的提示
okmsg ✓ 密码正确 密码正确时的提示
title 密码盘 面板标题
hint 请输入密码 面板提示文字
class 追加到面板容器的 class
style 追加到面板容器的内联样式

简易使用教程

  • 在 correct 一栏按顺序填入对应按键符号,中间用英文逗号(即半角逗号)分隔,这一栏即为正确答案,在 target 填写对应的想要显现的内容标签即可。
  • 对于想要显现的内容,使用“密码盘/内容”模板,在 key 一栏填入自定义标签,在 content 一栏填入对应内容即可。

布局规则

  • 未填 symbols,未填 layout:默认 QWERTY 键盘,26 个字母按 10 / 9 / 7 三行排列。
  • 填了 symbols,未填 layout:所有自定义符号单行排列,超宽自动折行。
  • 填了 layout:无论是否填 symbols,都按你指定的行布局排列(建议各行键数之和 = symbols 个数;超出部分并入最后一行)。

实例使用说明

实例 1:默认 QWERTY 键盘

不填 symbols / layout 即为 QWERTY 三行布局(Q W E R T Y U I O P / A S D F G H J K L / Z X C V B N M)。
代码:

{{密码盘
| correct = Q,W,E
| target  = doc-a
}}
{{密码盘/内容
| key     = doc-a
| content = '''解锁成功!'''这是被隐藏的内容。
}}

效果(可直接操作):

密码盘
请输入密码


实例 2:多密码对应多内容

第 i 个密码解锁第 i 组 target。解锁后不锁定,可连续输入多个密码。
代码:

{{密码盘
| correct = A,B,C; D,E,F; G,H,I
| target  = doc-b1,doc-b2; doc-b3; doc-b4
}}
{{密码盘/内容|key=doc-b1|content=ABC 解锁的 A}}
{{密码盘/内容|key=doc-b2|content=ABC 解锁的 B}}
{{密码盘/内容|key=doc-b3|content=DEF 解锁的 C}}
{{密码盘/内容|key=doc-b4|content=GHI 解锁的 D}}

效果(可直接操作):

密码盘
请输入密码


实例 3:自定义符号 + 指定行布局

自定义 symbols 时若想多行,须显式填写 layout(不填则单行)。
代码:

{{密码盘
| correct = 一二三四,B,C,D,E
| symbols = 一二三四,B,C,D,E,F,G,H,I,J
| length  = 5
| layout  = 3,4,3
| target  = doc-c
}}
{{密码盘/内容
| key     = doc-c
| content = '''解锁成功!'''这是被隐藏的内容。
}}

效果(可直接操作):

密码盘
请输入密码


实例 4:自定义提示文案

errmsg / okmsg 按 wikitext 解析,支持加粗、颜色、链接、模板等。
代码:

{{密码盘
| correct = A,B
| errmsg  = '''暗号不对,再试试!'''
| okmsg   = '''对上了!'''
| target  = doc-e
}}
{{密码盘/内容
| key     = doc-e
| content = '''解锁成功!'''这是被隐藏的内容。
}}

效果(可直接操作):

密码盘
请输入密码


实例 5:自动隐藏(autohide)

启用 autohide 后,每次输对一个密码会显示对应内容组、并收起本盘此前解锁的其他内容组;输错不会隐藏。不填 autohide(默认关闭)时,已解锁内容一直显示、可连续解锁多个内容块。隐藏功能不对其他独立密码盘(即 target 参数无交集)生效。下方两个密码盘为独立密码盘,且使用相同的密码,便于对比。
代码:

{{密码盘
| correct  = A,B,C; D,E,F
| target   = doc-h1; doc-h2
| autohide = 1
| title    = 开启 autohide
| hint     = 输入 ABC 或 DEF
}}
{{密码盘/内容|key=doc-h1|content='''ABC 的内容''':先输 ABC 看到我;再输 DEF 后我会被收起。}}
{{密码盘/内容|key=doc-h2|content='''DEF 的内容''':输 DEF 显示我,同时收起 ABC 的内容。}}

{{密码盘
| correct  = A,B,C; D,E,F
| target   = doc-h3; doc-h4
| title    = 未开启 autohide
| hint     = 输入 ABC 或 DEF
}}
{{密码盘/内容|key=doc-h3|content='''ABC 的内容''':解锁后一直显示,不会被后来的 DEF 收起。}}
{{密码盘/内容|key=doc-h4|content='''DEF 的内容''':与 ABC 的内容同时可见。}}

效果(可直接操作):

开启 autohide
输入 ABC 或 DEF


未开启 autohide(默认)
输入 ABC 或 DEF


操作提示

  • 上面(开启 autohide):先输 ABC 看到第 1 块,再输 DEF 显示第 2 块并收起第 1 块
  • 下面(默认关闭):先输 ABC、再输 DEF,两块同时保持显示
  • 输入错误密码(如 XYZ)时,两个密码盘都不会执行任何隐藏操作;
  • 两个密码盘各自的 target 键名不同,互不影响,可独立使用。

autohide 参数说明

  • 仅在验证成功(输入密码正确)时执行隐藏;验证失败(密码错误)时不执行任何隐藏操作。
  • 隐藏范围仅限本密码盘 target 参数中出现的键名(各组键名的并集),不影响其他独立密码盘及其内容。
  • 本次验证成功所对应那一组 target 内的键会正常显示;若某键同时出现在本次组与其他组中(组间共享),该键保持显示、不会被隐藏。
  • 启用时:每次输对一个密码,显示该密码对应的内容组,并收起本盘此前解锁的其他组内容。
  • 关闭时:不填或填其它值时,解锁后一直显示,仅当刷新页面时隐藏。默认为关闭状态。

其他注意事项

  • 符号内不能含英文逗号或分号(均为分隔符);符号含 | 时写 {{!}}
  • 符号并不限定在英文,也不限定单个解谜符号的字数,请按需尝试并选择。
  • 各密码位数必须一致,且大小写敏感。
  • target 键名只推荐字母、数字、-、_。
  • 不配置 target 时,密码正确仅显示面板反馈,不展开内容。
  • 默认按键为 QWERTY 键盘(Q,W,E,R,T,Y,U,I,O,P / A,S,D,F,G,H,J,K,L / Z,X,C,V,B,N,M),三行 10/9/7;使用默认按键时密码请用大写字母。
  • 自定义 symbols 未填 layout 时按键单行排列,超宽自动折行;要多行请显式填写 layout。符号按 symbols 栏中的输入顺序排列。
  • 正确/错误提示在下次验证前一直显示,仅在下一次输入判定时更新。
  • 面板空白无按键 = JS 未加载,请检查浏览器配置,必要时尝试清空浏览器缓存并刷新页面。
  • 当验证结束后输入框未自动清空时,点击输入按钮会导致输入卡住(此功能实际用意为防止自动清空误删除后续输入,但也会带来这种问题),此时点击“清空”来手动清空即可解决。
  • 有关于解谜后显示内容的模板配置和注意事项,请前往模板:密码盘/内容