介绍

插件作为一个独立功能模块,从系统设计和业务封装的角度,采用的是「命令字open in new window」设计模式,即一个插件模块包括多个命令字,外部通过命令字方式来调用插件。插件与主程序之间,插件与插件之间,均通过命令字通讯,一个完整的通讯流程包括请求输入 input 和结果输出 output

请求输入

参数说明
cmd调用的插件命令字,插件的配置文件中配置
pluginClass插件类
input输入参数,系统内置标准命令字由系统定义,插件根据自身业务功能自定义。
output结果输出,返回插件请求标准格式。
//命令字指令,请求哪个命令字
$cmd = BasePluginConfig::FRESNS_CMD_DEFAULT;

//请求哪个插件
$pluginClass = PluginHelper::findPluginClass($PluginUniKey); //$PluginUniKey 为插件大驼峰名字

//请求的参数列表
$input = [
    'phone' => $phone,
    'template' => $template,
    'variale1' => $variale1,
    'variale2' => $variale2,
];

//请求系统分发命令字请求并返回结果
$resp = CmdRpcHelper::call($pluginClass, $cmd, $input);
if (CmdRpcHelper::isErrorCmdResp($resp)) {
    return $this->pluginError($resp);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

结果输出

参数说明
code状态码
message状态信息(如需多语言,请使用 code_messages 表)
output输出数据
// 成功
{
    "code": 0,
    "message": "ok",
    "output": {
        //命令字输出数据
    }
}
// 错误码
{
    "code": 30000,
    "message": "未配置服务商",
    "output": {
        //命令字输出数据
    }
}
// 30000 未配置服务商
// 30001 服务商不存在
// 30002 服务商未响应
// 30003 服务商未启用
// 30004 服务商处理失败
// 30005 参数错误
// 30006 数据异常,查询不到或者数据重复
// 30007 执行异常,文件丢失或者记录错误
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

命令字列表

功能命令字

基础功能

命令字描述
fresns_cmd_decode_sign解码签名变量值
fresns_cmd_verify_sign校验签名
fresns_cmd_upload_session_log上传交互日志
fresns_cmd_send_code发送验证码
fresns_cmd_check_code校验验证码

发信功能

命令字描述
fresns_cmd_send_email发信-邮件
fresns_cmd_send_sms发信-短信
fresns_cmd_send_ios发信-iOS 推送
fresns_cmd_send_android发信-Android 推送
fresns_cmd_send_wechat发信-微信推送

用户功能

命令字描述
fresns_cmd_user_register用户注册
fresns_cmd_user_login用户登录
fresns_cmd_user_detail用户基本信息
fresns_cmd_create_session_token创建交互凭证
fresns_cmd_verify_session_token校验交互凭证
fresns_cmd_wallet_increase钱包收入交易
fresns_cmd_wallet_decrease钱包支出交易

成员功能

命令字描述
fresns_cmd_member_auth成员登录
fresns_cmd_member_detail成员基本信息

文件功能

命令字描述
fresns_cmd_get_upload_token获取上传凭证
fresns_cmd_upload_file上传文件
fresns_cmd_anti_link_image图片:获取带防盗链签名的地址
fresns_cmd_anti_link_video视频:获取带防盗链签名的地址
fresns_cmd_anti_link_audio音频:获取带防盗链签名的地址
fresns_cmd_anti_link_doc文档:获取带防盗链签名的地址
fresns_cmd_logical_deletion_file逻辑删除文件
fresns_cmd_physical_deletion_file物理删除文件

内容功能

命令字描述
fresns_cmd_direct_release_content提交发表内容
fresns_cmd_logical_deletion_content逻辑删除内容
fresns_cmd_physical_deletion_content物理删除内容

任务命令字

命令字命令行为备注
add_crontab_plugin_item建立定时任务
delete_crontab_plugin_item取消定时任务
fresns_cmd_crontab_check_role_expired处理成员主角色过期主程序定时任务
fresns_cmd_crontab_check_delete_user处理用户注销主程序定时任务
fresns_cmd_crontab_check_version检测主程序和扩展插件版本是否有更新主程序定时任务

订阅命令字

命令字描述
add_sub_plugin_item建立订阅
delete_sub_plugin_item取消订阅