Skip to content

命令字使用

插件与主程序之间,插件与插件之间,均通过命令字通讯,一个完整的通讯流程包括请求输入 input 和结果输出 output

请求输入 input

名称说明
\FresnsCmdWord命令字立面(Facades)
FresnsEmail请求对象 fskey,留空或填 Fresns 则表示由主程序处理请求
sendEmail命令字(可参考 Fresns 命令字
$wordBody命令字传参的参数列表
php
// $参数数组名 = [参数数组];
$wordBody = [
    'email' => '收件地址',
    'title' => '邮件标题',
    'content' => '邮件内容',
];

// \命令字立面::plugin('插件名')->命令字($参数数组名)
\FresnsCmdWord::plugin('FresnsEmail')->sendEmail($wordBody);

另一种写法

php
\FresnsCmdWord::plugin('FresnsEmail')->sendEmail([
    'email' => '收件地址',
    'title' => '邮件标题',
    'content' => '邮件内容',
]);

结果输出 output

参数说明
code状态码
message状态信息
data输出数据
json
// 成功
{
    "code": 0,
    "message": "ok",
    "data": {
        //命令字输出数据
    }
}

// 失败
{
    "code": 21001,
    "message": "插件不存在",
    "data": {
        //命令字输出数据
    }
}

错误码 error code

CodeMessage
21000未配置插件
21001插件不存在
21002命令字不存在
21003命令字未知错误
21004命令字无响应
21005命令字请求参数错误
21006命令字执行请求出错
21007命令字响应结果不正确
21008数据异常,查询不到或者数据重复
21009执行异常,文件丢失或者记录错误
21010命令字功能已关闭
21011命令字配置不正确

结果处理 fresnsResp

如果你是标准的使用命令字返参结果,可以借助 Fresns Response 帮助你快速处理请求的返参。

示例:

php
$fresnsResp = \FresnsCmdWord::plugin('FresnsEmail')->sendEmail($wordBody);

处理异常情况

php
if ($fresnsResp->isErrorResponse()) {
    return $fresnsResp->getErrorResponse();
}

处理正常情况

php
$fresnsResp->getOrigin(); //获取原始数据(code+message+data)

$fresnsResp->getCode(); //只获取 code
$fresnsResp->getMessage(); //只获取 message
$fresnsResp->getData(); //只获取 data 全量数据
$fresnsResp->getData('user.nickname'); //只获取 data 中指定参数,比如 data.user.nickname

$fresnsResp->isSuccessResponse(); //判断请求是否为 true
$fresnsResp->isErrorResponse(); //判断请求是否为 false

$fresnsResp->getErrorResponse(); //内部使用输出原始数据,API 调用输出 JSON

遵循 Apache-2.0 开源协议