using System; using System.Collections.Generic; namespace Top.Api { /// /// 基础TOP请求类,存放一些通用的请求参数。 /// public abstract class BaseTopRequest : ITopRequest where T : TopResponse { /// /// HTTP请求URL参数 /// internal TopDictionary otherParams; /// /// HTTP请求头参数 /// private TopDictionary headerParams; /// /// 请求目标AppKey /// private string targetAppKey; /// /// 批量API请求的用户授权码 /// private string batchApiSession; /// /// API在批量调用中的顺序 /// private int batchApiOrder; public void AddOtherParameter(string key, string value) { if (this.otherParams == null) { this.otherParams = new TopDictionary(); } this.otherParams.Add(key, value); } public void AddHeaderParameter(string key, string value) { GetHeaderParameters().Add(key, value); } public IDictionary GetHeaderParameters() { if (this.headerParams == null) { this.headerParams = new TopDictionary(); } return this.headerParams; } public string GetTargetAppKey() { return this.targetAppKey; } public void SetTargetAppKey(string targetAppKey) { this.targetAppKey = targetAppKey; } public string GetBatchApiSession() { return this.batchApiSession; } public void SetBatchApiSession(string session) { this.batchApiSession = session; } public int GetBatchApiOrder() { return this.batchApiOrder; } public void SetBatchApiOrder(int order) { this.batchApiOrder = order; } public abstract string GetApiName(); public abstract void Validate(); public abstract IDictionary GetParameters(); } }