using Aop.Api.Request;
using System.Threading.Tasks;
namespace Aop.Api
{
///
/// AOP客户端。
///
public interface IAopClient
{
///
/// 执行AOP公开API请求。
///
/// 领域对象
/// 具体的AOP API请求
/// 领域对象
Task Execute(IAopRequest request) where T : AopResponse;
///
/// 执行AOP隐私API请求。
///
/// 领域对象
/// 具体的AOP API请求
/// 用户会话码
/// 领域对象
Task Execute(IAopRequest request, string session) where T : AopResponse;
///
/// 执行AOP隐私API请求。
///
/// 领域对象
/// 具体的AOP API请求
/// 用户会话码
/// 应用授权码
/// 领域对象
Task Execute(IAopRequest request, string session,string appAuthToken) where T : AopResponse;
//add
///
/// 执行AOP公开API请求。
///
/// 领域对象
/// 具体的AOP API请求
/// 领域对象
Task pageExecute(IAopRequest request) where T : AopResponse;
///
/// 执行AOP隐私API请求。
///
/// 领域对象
/// 具体的AOP API请求
/// 用户会话码
/// 领域对象
Task pageExecute(IAopRequest request, string session, string reqMethod) where T : AopResponse;
///
/// 执行AOP公开API请求。
///
/// 领域对象
/// 具体的AOP API请求
/// 领域对象
Task SdkExecute(IAopRequest request) where T : AopResponse;
}
}