Skip to content

12SSL 平台变量与文案变更交接文档 (2026-10-11) ​

文档版本:v1.0
更新日期:2026-10-11
涉及系统:

  • WHMCS 客户端业务模块 (whmcs/modules/nicsrs_ssl/)
  • WHMCS 全局与主题语言包覆盖 (whmcs/language-overrides/, whmcs/theme/lang-overrides/)
  • Portal 独立客户门户 (portal/frontend/, portal/backend/)

目录 ​

  1. 变更背景与总体原则
  2. WHMCS / nicsrs_ssl 模块变更详解
  3. Portal 门户变量与文案变更详解
  4. 全量变量与字段对照速查表
  5. 环境路径与发布验证指引

1. 变更背景与总体原则 ​

本次变更主要围绕客户端证书生命周期管理详情页进行视觉与文案重构:

  1. 消除技术歧义:厘清“证书单期有效期”(受 CA/B 规则约 200 天)与“多年期订单服务保障期”的区别,将“服务保障期限”统一调整为更符合购买认知的“续费日期(Renewal Date)”,购买时间由“Purchase Date”调整为“Order Date”。
  2. 产品与标识标准化:证书顶栏徽章显示 WHMCS 真实产品名(如 PositiveSSL、RapidSSL),不再暴露模块内部代码;隐藏内部 CERT-xxxx 数据库流水号。
  3. 文案精炼与现代化:
    • 动作动词精简:“重新签发”统一简称为“重签”;
    • 验证流程精炼:“保存验证信息”改为“变更并保存(Change & Save)”,“重新验证”改为“验证(Verify)”;
    • 简化标签:“证书状态”精简为“状态(Status)”。
  4. 视觉降噪与层级对齐:
    • 剔除历史遗留的 .topTitle 序号标题,对齐内边距;
    • 采用星号(*)脚注机制取代醒目的感叹号警告框,降低用户心理焦虑。

2. WHMCS / nicsrs_ssl 模块变更详解 ​

2.1 后端模型与变量注入 (nicsrsTemplate.php) ​

文件路径:whmcs/modules/nicsrs_ssl/src/model/Service/nicsrsTemplate.php

核心代码变更 ​

在 nicsrsTemplate::complete() 方法中,扩展对 tblhosting 与 tblproducts 的关联查询,提取真实的套餐名称与购买开通时间:

php
$nextduedate = '';
$regdate = '';
$productName = '';
try {
    $hosting = \WHMCS\Database\Capsule::table('tblhosting')
        ->leftJoin('tblproducts', 'tblproducts.id', '=', 'tblhosting.packageid')
        ->where('tblhosting.id', $service_id)
        ->first(['tblhosting.nextduedate', 'tblhosting.regdate', 'tblproducts.name as product_name']);
    if ($hosting) {
        if (!empty($hosting->nextduedate) && $hosting->nextduedate != '0000-00-00') {
            $nextduedate = $hosting->nextduedate;
        }
        if (!empty($hosting->regdate) && $hosting->regdate != '0000-00-00') {
            $regdate = $hosting->regdate;
        }
        if (!empty($hosting->product_name)) {
            $productName = $hosting->product_name;
        }
    }
} catch (\Exception $e) {}

模板导出变量 ​

变量名类型说明
$productNamestringWHMCS 产品库中的真实产品名称(如 PositiveSSL Wildcard)
$regdatestring购买/开通日期时间(格式 YYYY-MM-DD HH:MM:SS)
$nextduedatestring续费到期日(格式 YYYY-MM-DD)

2.2 已签发页面 (complete.tpl) 变量与指标重构 ​

文件路径:whmcs/modules/nicsrs_ssl/view/complete.tpl

1. 衍生变量预处理 ​

smarty
{assign var="regDateShort" value=$regdate|default:$configData.applyReturn.beginDate|substr:0:10}
{assign var="coverageEndDate" value=$nextduedate|default:'-'}
{if $certEndDateShort}
    {if !$coverageEndDate || $coverageEndDate == '-' || $coverageEndDate == '0000-00-00' || ($nextDueDateShort && $certEndDateShort > $nextDueDateShort)}
        {assign var="coverageEndDate" value=$certEndDateShort}
    {/if}
{/if}
  • 业务对齐规则:当续费到期日为空、未指定或小于当前单期证书到期日时,续费日期字段自动对齐为当前单期证书到期时间 $certEndDateShort。

2. 指标栏(Metrics Bar)方案 A 4 项结构 ​

栏目位中文标签英文标签对应变量逻辑说明
第 1 项CA 订单号CA Order ID$vendorId去除原“CA 官方订单号”中的“官方”二字,支持一键复制
第 2 项购买日期Order Date$regDateShort取开通时间前 10 位,英文由 Purchase Date 改为 Order Date
第 3 项当前证书到期Current Cert Expiry$certEndDateShort若多年期服务期大于单期到期日,附加绿色星号 * 悬浮提示
第 4 项续费日期Renewal Date$coverageEndDate原“服务保障期限 / Coverage Period”重命名,对齐保障期

3. 辅助注释与状态徽章 ​

  • 多年期重签提示:采用星号 * 脚注模式替换原来的 fa-info-circle 醒目提示框,仅显示静默辅助说明:

    受行业安全规范(CA/B Forum)限制,单张证书最长约 200 天。您的订单享有完整服务期保障,系统将在当前证书到期前 30 天自动为您签发下期新证书(无需重新验证),届时直接在服务器替换即可。

  • 产品徽章与验证类型:
    • 产品名徽章:{$productName|default:$product|default:$productCode}
    • 验证类型移至状态栏:{$valType} [域名型/企业型/增强型],统一格式形如 DV 域名型

2.3 待验证页面 (message.tpl & common.css) 结构与操作文案 ​

文件路径:

  • whmcs/modules/nicsrs_ssl/view/message.tpl
  • whmcs/modules/nicsrs_ssl/view/home/css/common.css

1. 结构精简 ​

  • 移除 #orderInfoPart 与 #domainPart 中的 <div class="topTitle">(去掉了带有圆圈序号的旧版标题栏)。
  • CSS 规则更新:
    css
    #tabOverview #sslContent.ssl-pending-view #orderInfoPart,
    #tabOverview #sslContent.ssl-pending-view #domainPart {
        position: relative !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        padding: 14px 20px !important; /* 移除了旧版的 48px 左侧占位内边距 */
        background: transparent !important;
    }
    
    #tabOverview #sslContent.ssl-pending-view .topTitle {
        display: none !important;
    }

2. 字段与按钮文案变更 ​

  • 订单信息栏状态标签:{$_LANG['cert_status']}(原“证书状态”改为“状态 / Status”)。
  • DCV 验证操作按钮:
    • 保存按钮:{$_LANG['save_verification']} -> “变更并保存 / Change & Save”
    • 触发验证按钮:{$_LANG['request_verification']} -> “验证 / Verify”

2.4 模块与系统语言包 (chinese.php / english.php) ​

文件路径:

  • whmcs/modules/nicsrs_ssl/lang/chinese.php
  • whmcs/modules/nicsrs_ssl/lang/english.php
  • whmcs/language-overrides/chinese.php
  • whmcs/theme/lang-overrides/chinese.php
php
// 1. whmcs/modules/nicsrs_ssl/lang/chinese.php
$_LANG['save_verification'] = '变更并保存';   // 原:保存验证信息
$_LANG['request_verification'] = '验证';       // 原:重新验证
$_LANG['cert_status'] = '状态';               // 原:证书状态

// 2. whmcs/modules/nicsrs_ssl/lang/english.php
$_LANG['save_verification'] = 'Change & Save'; // 原:Save Verification
$_LANG['request_verification'] = 'Verify';      // 原:Re-verify
$_LANG['cert_status'] = 'Status';              // 原:Certificate Status

// 3. whmcs 全局语言覆盖 (language-overrides 与 theme/lang-overrides)
$_LANG['ssl']['reissueCertificate'] = "重签证书"; // 原:重新签发证书

3. Portal 门户变量与文案变更详解 ​

Portal 独立客户端前端(Vue 3 + i18n)同步统一了状态体系与界面文案。

3.1 证书状态与操作映射 (i18n/index.ts) ​

文件路径:portal/frontend/src/i18n/index.ts

键名 (Key)中文修改前中文修改后英文修改前英文修改后
status.validating待验证待验证ValidatingPending Validation
status.submitting处理中提交中ProcessingSubmitting
status.draft未完成草稿未绑定域名Incomplete DraftNo domain yet
status.pending待配置待提交Pending ConfigNot Submitted
status.issued已颁发已签发ActiveIssued
dashboard.needsAttention需要处理待处理Needs AttentionNeeds Attention

3.2 验证级别与产品展示 (CertificateDetailView.vue) ​

文件路径:portal/frontend/src/views/CertificateDetailView.vue

  1. 验证级别徽章:
    • 界面主标签紧凑显示大写标识:DV / OV / EV。
    • 鼠标悬浮 Tooltip 显示全称:
      • DV: “域名型 (DV) / Domain Validation (DV)”
      • OV: “企业型 (OV) / Organization Validation (OV)”
      • EV: “增强型 (EV) / Extended Validation (EV)”
  2. 隐藏内部流水号:
    • 列表、面包屑与详情页不再主推 CERT-xxxx 内部系统自增号,改由 productLabel() 生成规范商业产品名称。
    • 针对无域名的证书占位安全回退为 —。

4. 全量变量与字段对照速查表 ​

系统模块位置 / 文件变量 / 标识符原设定 (Old)新设定 (New)适用语言
WHMCScomplete.tpl身份栏产品徽章{$productCode}{$productName}中/英
WHMCScomplete.tpl指标栏第 1 项标签CA 官方订单号 / CA Order NumberCA 订单号 / CA Order ID中/英
WHMCScomplete.tpl指标栏第 2 项标签(原无) / Purchase Date购买日期 / Order Date中/英
WHMCScomplete.tpl指标栏第 2 项数值(原无){$regDateShort}通用
WHMCScomplete.tpl指标栏第 3 项标签有效期至 / Valid Until当前证书到期 / Current Cert Expiry中/英
WHMCScomplete.tpl指标栏第 4 项标签服务保障期限 / Coverage Period续费日期 / Renewal Date中/英
WHMCScomplete.tpl指标栏第 4 项数值{$nextduedate}{$coverageEndDate} (含自动对齐)通用
WHMCScomplete.tpl操作按钮文本重新签发 / Reissue重签 / Reissue中文
WHMCSmessage.tpl状态字段标签$_LANG['cert_status']状态 / Status中/英
WHMCSmessage.tplDCV 保存按钮$_LANG['save_verification']变更并保存 / Change & Save中/英
WHMCSmessage.tplDCV 验证按钮$_LANG['request_verification']验证 / Verify中/英
WHMCSmessage.tpl标题节点<div class="topTitle">彻底移除DOM
Portali18n/index.ts验证中状态status.validating待验证 / Pending Validation中/英
Portali18n/index.ts提交中状态status.submitting提交中 / Submitting中/英
PortalDetailView级别徽章validationLevelDV / OV / EV (含 Tooltip)中/英

5. 环境路径与发布验证指引 ​

5.1 部署目标路径 ​

  • 生产服务器 (prod: 147.93.173.38):
    • 模块目录:/home/ssl12/web/client.12ssl.com/public_html/modules/servers/nicsrs_ssl/
    • 语言覆盖:/home/ssl12/web/client.12ssl.com/public_html/lang/overrides/ 与 /home/ssl12/web/client.12ssl.com/public_html/templates/{theme}/lang/overrides/
    • Smarty 缓存:/home/ssl12/templates_c/
  • 备用同步节点 (agent-us: /root/12ssl-platform):
    • Git 主干自动同步仓库。

5.2 变更生效与刷新指令 ​

在服务器更新文件后,必须执行以下指令以确保 Smarty 模板缓存更新和 PHP 字节码刷新:

bash
# 1. 修复文件属主
chown -R ssl12:ssl12 /home/ssl12/web/client.12ssl.com/public_html/modules/servers/nicsrs_ssl/

# 2. 清理 WHMCS Smarty 模板缓存
rm -rf /home/ssl12/templates_c/*

# 3. 重载 PHP-FPM
systemctl reload php8.2-fpm

5.3 线上验证用例 ​

  1. 已签发产品详情页验证(测试用例 ID: 20995、21816、21809):
  2. 待验证产品详情页验证(测试用例 ID: 21818):

Last updated: