[]
服务端命令的核心处理函数为ExecuteAsync,默认的返回值为 ExecuteResult 类型。
约定规定,返回 ExecuteResult.ErrCode值为 0 表示成功,非 0 为失败。如果 ErrorCode为非 0 时,如果存在多种错误情况,插件开发者可以自行定义ErrorCode,以方便调试。
public class MyPluginServerCommand : Command, ICommandExecutableInServerSideAsync
{
public async Task<ExecuteResult> ExecuteAsync(IServerCommandExecuteContext dataContext)
{
if (CheckPermission())
{
return new ExecuteResult() { ErrCode = 1, Message = "权限不足" };
}
if (NotEnoughStorage())
{
return new ExecuteResult() { ErrCode = 2, Message = "库存不足" };
}
// 业务逻辑
return new ExecuteResult();
}
public override CommandScope GetCommandScope()
{
return CommandScope.ExecutableInServer;
}
}
如果ExecuteAsync抛出未处理的异常,活字格会自动把 ExecuteResult.ErrCode 设置为 500,ExecuteResult.Message 设置为异常信息并生成日志。