// // KWMAPIManager.h // // Created by kevin on 3/14/15. // #import <Foundation/Foundation.h> #import "AFNetworking.h" #import <PPNetworkHelper/PPNetworkHelper.h> #import "KWMRequestListResult.h" #import "KWMRequestResult.h" #import "KWMCemaroseResult.h" #import "KWMCustomer.h" #import "KWMCustomerResult.h" #import "KWMBrandsResult.h" #import "KWMSearchResult.h" #import "KWMBlogResult.h" #import "KWMPageResult.h" #import "KWMNewGoodsModel.h" #import "KWMNewProducts.h" #import "KWMProductTypeResult.h" #import "KWMProductType.h" #import "KWMBrandsTypeResult.h" #import "KWMMetafieldResult.h" #import "KWMMetafield.h" #import "KWMAppVersion.h" #import "KWMProductResult.h" #import "KWMProduct.h" #import "KWMOrdersResult.h" #import "KWMOrder.h" #import "KWMExchangeRateResult.h" #import "KWMCartResult.h" #import "KWMCheckoutPayResult.h" #import "KWMAdditionalResult.h" #import "KWMAdditionalListResult.h" #import "KWMWechatPayData.h" #import "KWMOrderPaid.h" #import "KWMWish.h" #import "KWMHomeDataResult.h" #import "KWMDictionaryResult.h" #import "KWMOrderListResult.h" #define KWM_COMMON_DATE_FORMAT @"yyyy-MM-dd HH:mm:ss" #define KWM_PAGE_SIZE 20 #define SESSID @"PHPSESSID" //#define API_HOST @"toyoung.kollway.com" //#define API_HOST @"192.168.0.5" #define API_HOST @"apps.cemarose.com" #define API_HOST_PORT 8088 @interface KWMAPIManager : NSObject @property (nonatomic) NSString *baseUrl; + (KWMAPIManager *)sharedManager; - (NSString *)toAbsoluteUrl:(NSString *)relativeUrl; - (NSURLSessionDataTask *) adminUserSuccess:(void(^)(NSURLSessionDataTask *task,KWMDictionaryResult *result))success failure:(void(^)(NSURLSessionDataTask *task,NSError *error))failure; /** * 手机登录-获取短信API * @param parameters {mobile=?手机号} * @param success 成功callback * @param failure 失败callback * @return NSURLSessionDataTask */ - (NSURLSessionDataTask *) phoneSms:(NSDictionary *)parameters success:(void(^)(NSURLSessionDataTask *task,KWMCemaroseResult *result))success failure:(void(^)(NSURLSessionDataTask *task,NSError *error))failure; /** * 登陆网站接口 * * @param success <#success description#> * @param failure <#failure description#> */ - (void) loginWebSuccess:(void(^)()) success failure:(void(^)(NSError *error)) failure; /** * 立即购买使用 * * @param variantId <#variantId description#> * @param quantity <#quantity description#> * @param success <#success description#> * @param failure <#failure description#> * * @return <#return value description#> */ - (NSURLSessionDataTask *) tmpCartWithVariantId:(NSNumber *) variantId quantity:(NSInteger) quantity success:(void(^)(NSURLSessionDataTask *task,NSString *cartCookie)) success failure:(void(^)(NSURLSessionDataTask *task,NSError *error)) failure; /** * 添加商品到购物车 * * @param variantId <#variantId description#> * @param quantity <#quantity description#> * @param success <#success description#> * @param failure <#failure description#> * * @return <#return value description#> */ - (NSURLSessionDataTask *) addProductWithVariantId:(NSNumber *) variantId quantity:(NSInteger) quantity success:(void(^)(NSURLSessionDataTask *task,KWMRequestResult *result)) success failure:(void(^)(NSURLSessionDataTask *task,NSError *error)) failure; /** * * * @param variantId <#variantId description#> * @param success <#success description#> * @param failure <#failure description#> * * @return <#return value description#> */ - (NSURLSessionDataTask *) changeProductWithVariantId:(NSNumber *) variantId quantity:(NSInteger) quantity success:(void(^)(NSURLSessionDataTask *task,KWMCartResult *result)) success failure:(void(^)(NSURLSessionDataTask *task,NSError *error)) failure; -(NSURLSessionDataTask *) updateProductWithVariantIds:(NSArray<NSNumber *> *) variantIds quantities:(NSArray<NSNumber *> *) quantities success:(void(^)(NSURLSessionDataTask *task,KWMCartResult *result)) success failure:(void(^)(NSURLSessionDataTask *task,NSError *error)) failure; /** * 获取系统购物车 * * @param success <#success description#> * @param failure <#failure description#> * * @return <#return value description#> */ - (NSURLSessionDataTask *) getCartSuccess:(void(^)(NSURLSessionDataTask *task,KWMCartResult *result)) success failure:(void(^)(NSURLSessionDataTask *task,NSError *error)) failure; /** * 手机登录API * @param parameters {mobile=?手机号,code=?收到的短信验证码} * @param success 成功callback * @param failure 失败callback * @return NSURLSessionDataTask */ - (NSURLSessionDataTask *) phoneLogin:(NSDictionary *)parameters success:(void(^)(NSURLSessionDataTask *task,KWMCustomerResult *result))success failure:(void(^)(NSURLSessionDataTask *task,NSError *error))failure; /** * 获取所有品牌 * @return NSURLSessionDataTask */ - (NSURLSessionDataTask *) getAllBrand:(NSDictionary *)parameters cacheCallback:(void(^)(KWMBrandsResult *result))cacheCallback success:(void(^)(NSURLSessionDataTask *task,KWMBrandsResult *result))success failure:(void(^)(NSURLSessionDataTask *task,NSError *error))failure; /** * 搜索API * @param parameters {keyword=?搜索内容} * @return NSURLSessionDataTask */ - (NSURLSessionDataTask *) searchProduct:(NSDictionary *)parameters success:(void(^)(NSURLSessionDataTask *task,KWMSearchResult *result))success failure:(void(^)(NSURLSessionDataTask *task,NSError *error))failure; /** * 博客API * @return NSURLSessionDataTask */ - (NSURLSessionDataTask *) getAllBlog:(NSDictionary *)parameters cacheCallback:(void(^)(KWMBlogResult *result))cacheCallback success:(void(^)(NSURLSessionDataTask *task,KWMBlogResult *result))success failure:(void(^)(NSURLSessionDataTask *task,NSError *error))failure; - (NSURLSessionDataTask *) getAllPage:(NSDictionary *)parameters success:(void(^)(NSURLSessionDataTask *task,KWMPageResult *result))success failure:(void(^)(NSURLSessionDataTask *task,NSError *error))failure; /** * 首页板块数据 * * @param success <#success description#> * @param failure <#failure description#> * * @return <#return value description#> */ - (NSURLSessionDataTask *) getHomeDataWithSuccess:(void(^)(NSURLSessionDataTask *task,KWMHomeDataResult *result))success failure:(void(^)(NSURLSessionDataTask *task,NSError *error))failure; /** * 商品——新品API * @return NSURLSessionDataTask */ - (NSURLSessionDataTask *) getNewProducts:(NSDictionary *)parameters success:(void(^)(NSURLSessionDataTask *task,KWMNewProducts *result))success failure:(void(^)(NSURLSessionDataTask *task,NSError *error))failure; /** * 商品——打折API * @return NSURLSessionDataTask */ - (NSURLSessionDataTask *) getDiscountProducts:(NSDictionary *)parameters success:(void(^)(NSURLSessionDataTask *task,KWMNewProducts *result))success failure:(void(^)(NSURLSessionDataTask *task,NSError *error))failure; /** * 获取商品分类API * @return NSURLSessionDataTask */ - (NSURLSessionDataTask *) getProductTypes:(NSDictionary *)parameters type:(NSInteger)type success:(void(^)(NSURLSessionDataTask *task,KWMProductTypeResult *result))success failure:(void(^)(NSURLSessionDataTask *task,NSError *error))failure; /** * 品牌类型--API * @return NSURLSessionDataTask */ - (NSURLSessionDataTask *) getBrandsType:(NSDictionary *)parameters success:(void(^)(NSURLSessionDataTask *task,KWMBrandsTypeResult *result))success failure:(void(^)(NSURLSessionDataTask *task,NSError *error))failure; /** * 汇率--API * @return NSURLSessionDataTask */ - (NSURLSessionDataTask *) getExchangeRate:(NSDictionary *)parameters success:(void(^)(NSURLSessionDataTask *task,KWMExchangeRateResult *result))success failure:(void(^)(NSURLSessionDataTask *task,NSError *error))failure; /** * 获取获取某个订单api * @return NSURLSessionDataTask */ - (NSURLSessionDataTask *) getAdminOrder:(NSDictionary *)parameters orderId:(NSNumber *)orderId success:(void(^)(NSURLSessionDataTask *task,KWMOrdersResult *result))success failure:(void(^)(NSURLSessionDataTask *task,NSError *error))failure; /** * 获取产品扩展字段--API * @return NSURLSessionDataTask */ - (NSURLSessionDataTask *) getProductMetafield:(NSDictionary *)parameters productId:(NSNumber *)productId success:(void(^)(NSURLSessionDataTask *task,KWMMetafieldResult *result))success failure:(void(^)(NSURLSessionDataTask *task,NSError *error))failure; /** * 获取商品api,因為admin商品有剩余库存数量字段,所以商品詳細還需要請求此api。 * @return NSURLSessionDataTask */ - (NSURLSessionDataTask *) getAdminProduct:(NSDictionary *)parameters productId:(NSNumber *)productId success:(void(^)(NSURLSessionDataTask *task,KWMProductResult *result))success failure:(void(^)(NSURLSessionDataTask *task,NSError *error))failure; - (NSURLSessionDataTask *) getAdminProductsById:(NSArray *) ids success:(void(^)(NSURLSessionDataTask *task,KWMProductResult *result))success failure:(void(^)(NSURLSessionDataTask *task,NSError *error))failure; /** * 取消订单api * amount 退款金额 (default: false)(十进制:21.20)If set, Shopify will attempt to void/refund the payment depending on the status. * restock 是否将此订单商品重新包装会商店 (default: false) * reason 订单取消原因 (用户customer, 库存inventory, 假货fraud, 其他other)(default: other) * email 发送邮箱通知用户 (default: false) * refund 更复杂的退款方式 As specified in the Refund documentation. Required for some more complex refund situations. * @return NSURLSessionDataTask */ - (NSURLSessionDataTask *) cancelOrder:(NSDictionary *)parameters orderId:(NSNumber *)orderId success:(void(^)(NSURLSessionDataTask *task,KWMProductResult *result))success failure:(void(^)(NSURLSessionDataTask *task,NSError *error))failure; /** * 微信统一下单API * @return NSURLSessionDataTask */ - (NSURLSessionDataTask *) wechatPayUnifiedOrder:(NSDictionary *)parameters success:(void(^)(NSURLSessionDataTask *task,KWMCheckoutPayResult *result))success failure:(void(^)(NSURLSessionDataTask *task,NSError *error))failure; /** * 支付宝统一下单API * @return NSURLSessionDataTask */ - (NSURLSessionDataTask *) aliPayUnifiedOrder:(NSDictionary *)parameters success:(void(^)(NSURLSessionDataTask *task,KWMCheckoutPayResult *result))success failure:(void(^)(NSURLSessionDataTask *task,NSError *error))failure; /** * 微信订单查询API * @return NSURLSessionDataTask */ - (NSURLSessionDataTask *) wechatPayOrderQuery:(NSDictionary *)parameters success:(void(^)(NSURLSessionDataTask *task,KWMCheckoutPayResult *result))success failure:(void(^)(NSURLSessionDataTask *task,NSError *error))failure; /** * 支付宝订单查询API * @return NSURLSessionDataTask */ - (NSURLSessionDataTask *) aliPayOrderQuery:(NSDictionary *)parameters success:(void(^)(NSURLSessionDataTask *task,KWMCheckoutPayResult *result))success failure:(void(^)(NSURLSessionDataTask *task,NSError *error))failure; /** * 通过checkout_token查询shopify订单API * @return NSURLSessionDataTask */ - (NSURLSessionDataTask *) appOrderQuery:(NSDictionary *)parameters success:(void(^)(NSURLSessionDataTask *task,KWMCheckoutPayResult *result))success failure:(void(^)(NSURLSessionDataTask *task,NSError *error))failure; /** * 用户添加 wish API * @return NSURLSessionDataTask */ - (NSURLSessionDataTask *) saveWish:(NSDictionary *)parameters success:(void(^)(NSURLSessionDataTask *task,KWMAdditionalListResult *result))success failure:(void(^)(NSURLSessionDataTask *task,NSError *error))failure; /** * 获取用户 wishlist API * @return NSURLSessionDataTask */ - (NSURLSessionDataTask *) getWishList:(NSDictionary *)parameters success:(void(^)(NSURLSessionDataTask *task,KWMAdditionalListResult *result))success failure:(void(^)(NSURLSessionDataTask *task,NSError *error))failure; /** * 移除指定 wish API * @return NSURLSessionDataTask */ - (NSURLSessionDataTask *) removeWish:(NSDictionary *)parameters success:(void(^)(NSURLSessionDataTask *task,KWMAdditionalListResult *result))success failure:(void(^)(NSURLSessionDataTask *task,NSError *error))failure; /** * 清空愿望单 API * @return NSURLSessionDataTask */ - (NSURLSessionDataTask *) clearWishList:(NSDictionary *)parameters success:(void(^)(NSURLSessionDataTask *task,KWMAdditionalListResult *result))success failure:(void(^)(NSURLSessionDataTask *task,NSError *error))failure; /** * 获得所有订单 API * @return NSURLSessionDataTask */ - (NSURLSessionDataTask *) getOrderList:(NSDictionary *)parameters success:(void(^)(NSURLSessionDataTask *task,KWMOrderListResult *result))success failure:(void(^)(NSURLSessionDataTask *task,NSError *error))failure; @end