普通版与 Pro 版均支持此功能,需在会员中心主题模板中手动添加按钮代码。
外观
外观
约 2297 字大约 8 分钟
2026-07-11
功能说明
本教程介绍如何在 魔方财务会员中心 的服务详情页中,添加「SSH 快速连接」按钮。用户点击后,将自动携带服务器连接信息跳转至 SSH 网页端,实现一键连接,无需手动复制 IP、端口、账号和密码。
普通版与 Pro 版均支持此功能,需在会员中心主题模板中手动添加按钮代码。
public/themes/clientarea/你的主题/servicedetail/ 目录下的 TPL 模板文件。
Trae IDE 或 Cursor 等支持远程 SSH 的编辑器,用于连接魔方财务服务器并修改模板。
servicedetail 模板文件。SSH_URL 替换为你实际部署的 SSH 网页端域名。重要提示
SSH_URL 必须填写完整的 SSH 站点地址(含协议),例如 https://ssh.example.com。
安装完成后打开 Trae IDE。首次启动可能需要登录或完成基础设置,按界面提示操作即可。

在提示框中输入 SSH 连接命令,格式如下:
ssh root@你的服务器IP -p 22请将示例中的 IP 和端口替换为魔方财务服务器的实际信息:
| 参数 | 说明 | 示例 |
|---|---|---|
| 用户名 | 通常为 root,以实际为准 | root |
| 服务器 IP | 魔方财务所在服务器的公网或内网 IP | 192.168.101.15 |
| 端口 | SSH 端口,默认 22 | 22 |
ssh root@192.168.101.15 -p 22

连接失败排查

按以下路径层级依次打开(路径因部署方式略有不同,请根据实际情况调整):
/www/wwwroot/你的域名/public/themes/clientarea/你所使用的会员中心主题/servicedetail/路径说明:
| 路径片段 | 含义 |
|---|---|
/www/wwwroot/你的域名/ | 宝塔默认网站根目录 |
public/themes/clientarea/ | 会员中心主题根目录 |
你所使用的会员中心主题/ | 当前启用的主题文件夹名称 |
servicedetail/ | 服务详情页模板目录 |
在魔方财务后台 → 设置 → 会员中心主题 中查看当前启用的主题名称,对应 clientarea 下的文件夹名。
进入 servicedetail 目录后,找到渲染「服务详情 / 登录信息」区域的 TPL 文件。常见文件名可能包含 detail、service 等,具体以你的主题为准。
如果不确定改哪个文件,可以:
登录信息 或 dedicatedip 等关键字。在下方脚本中,找到这一行:
var SSH_URL='请在这个位置填写自己的URL';将其替换为你实际部署的 SSH 网页端地址,不要 遗漏协议头,并且不要在URL末尾添加多一个/:
var SSH_URL='https://ssh.你的域名.com';将以下提示词复制到 Trae / Cursor 的 AI 对话框中,并根据实际情况替换 SSH_URL 和文件路径:
请帮我在魔方财务会员中心的服务详情页中添加「SSH 快速连接」按钮。
要求:
1. 优先在「登录信息」这类 box(卡片区域)中的合适空位插入以下 HTML:
<li class="instanceInformation-itme">
<div class="instance-itme-name">快速连接</div>
<div class="instance-itme-desc ">
<button type="button" class="btn btn-info btn-sm" id="ssh-btn-1">SSH快速连接</button>
</div>
</li>
2. 在该 TPL 文件最底部(</body> 前或文件末尾)插入以下 script:
<script>
(function(){
var b1=document.getElementById('ssh-btn-1');
if(!b1)return;
var host='{$Detail.host_data.dedicatedip}',natAcl='{$Detail.dcimcloud.nat_acl}',natWeb='{$Detail.dcimcloud.nat_web}',port=('{$Detail.host_data.port}').trim(),user='{$Detail.host_data.username}',pass='{$Detail.host_data.password}';
var SSH_URL='请在这个位置修改成自己的URL';
function go(){
var h=host.trim();if(!h)h=natAcl.trim();if(!h)h=natWeb.trim();
var p=port;
if(p==='0'||p===''||p==='undefined')p='22';
if(h&&h.indexOf(':')>0){var a=h.split(':');var last=a[a.length-1];if(/^\d+$/.test(last)){p=last;h=h.substring(0,h.lastIndexOf(':'))}}
if(!h||!user||!pass){alert('连接信息不完整');return;}
var u=SSH_URL+'/direct/connect?host='+encodeURIComponent(h)+'&port='+encodeURIComponent(p)+'&username='+encodeURIComponent(user)+'&password='+encodeURIComponent(pass);
window.open(u,'_blank');
}
b1.onclick=go;
})();
</script>
3. 请确保按钮样式与现有登录信息列表项保持一致,不要破坏原有布局。
4. 修改完成后告诉我改了哪个文件。| 变量 | 来源 | 说明 |
|---|---|---|
host | {$Detail.host_data.dedicatedip} | 主 IP 地址 |
natAcl / natWeb | DCIM 云相关字段 | IP 为空时的备用地址 |
port | {$Detail.host_data.port} | SSH 端口,空或 0 时默认 22 |
user / pass | 主机账号密码 | 用于自动填充连接 |
SSH_URL | 手动配置 | 你的 SSH 网页端站点地址 |
点击按钮后,脚本会拼接 URL 并新窗口打开: 然后变成安全连接
{SSH_URL}/direct/connect?host=...&port=...&username=...&password=...AI 或手动修改完成后,在 Trae 中 保存所有文件(Ctrl + S / Cmd + S)。
若修改后页面没有变化,可在魔方财务后台或浏览器中:
测试建议
建议先用一台测试服务器验证,确认无误后再在生产环境推广。NAT 机器、Windows 系统等特殊类型需确认 host_data 字段是否有值。
id="ssh-btn-1" 与脚本中 getElementById 一致。说明模板变量未取到主机 IP、用户名或密码。可能原因:
host_data 字段)。$Detail 结构调整。SSH_URL 填写正确,且 SSH 站点可正常访问。可让 AI 根据现有 <li class="instanceInformation-itme"> 的结构微调 class 名称,或直接复用主题中已有的按钮样式类名。