产品使用文档与部署教程,持续更新中
idcsmart_common/,命名空间与类名统一带 IdcsmartCommon 前缀;PHP 7.4~8.1;idcsmart_common/module/skymnbt/ 是与宝塔/ skymnbt 服务端通信的模块(API 对接、开通、停复机、续费、升降级);idcsmart_common/lang/{zh-cn,en-us,zh-hk}.php。idcsmart_common/ ├── IdcsmartCommon.php # 插件主类(注册菜单、路由、钩子) ├── hooks.php # 钩子注册(魔方事件 → 插件方法) ├── controller/ │ ├── admin/ # 后台控制器(商品配置、服务器、订单操作) │ └── home/ # 前台/客户区控制器(购买、管理面板) ├── model/ # 数据模型(IdcsmartCommon*Model.php) ├── logic/ # 业务逻辑(开通 ProvisionLogic / 工具 ToolLogic / 级联 CascadeLogic) ├── validate/ # 参数校验 ├── module/skymnbt/ # 对接模块(服务端 API 调用) ├── data/ # 安装数据(abc.zip 等) ├── template/ │ ├── admin/ # 后台模板 │ ├── cart/ # 购物车/下单页模板 │ └── clientarea/ # 客户中心模板 └── lang/ # 多语言
module_idcsmart_common_ 前缀,共 14 张:module_idcsmart_common_product(商品)、module_idcsmart_common_pricing(价格周期)、module_idcsmart_common_custom_cycle / _custom_cycle_pricing(自定义周期与价格);module_idcsmart_common_server / _server_group / _server_host_link(服务器、服务器分组、服务器与主机关联);module_idcsmart_common_product_configoption / _configoption_sub(可配置项)、module_idcsmart_common_host_configoption(主机上的配置项取值);module_idcsmart_common_product_custom_field / _custom_field_value(自定义字段与取值)、module_idcsmart_common_cascade_group / _cascade_item(级联项,如机房/地区级联);魔方在「下单 / 支付成功 / 开通 / 删除」等节点触发钩子,插件里对应方法完成开通与同步。做二开时先看 hooks.php 登记了哪些钩子,再顺着 logic/ProvisionLogic.php 看开通流程。
所有对宝塔服务端的请求都收口在这个模块里(API 地址、密钥、请求签名、返回值解析)。换对接通道/升级接口,只动这里,不要散落到控制器。
可配置项(机型/带宽/周期等)由 idcsmart_common_product_configoption* 系列表驱动,后台模板在 template/admin/,前台购买页在 template/cart/。
controller/admin/ 加控制器方法 + template/admin/ 加模板,并在主类里注册菜单;idcsmart_common_ 自己的表;改主库表要在升级脚本里写可重复执行的 SQL;logic/ProvisionLogic.php(开通/续费/升降级),调试时配合魔方「任务队列」日志;idcsmart_common/controller/admin/ 带授权验证(未授权时后台插件页会提示授权),别删除验证相关代码;插件包带授权验证(绑定域名 + 安装时激活)。同一份包在魔方后台「插件管理」安装启用后,未授权时后台相关页面会锁;授权码在插件设置或 xj_panel.php(如随包提供)里核对。