HttpRequest.h 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436
  1. //
  2. // HttpRequest.h
  3. // zhuxun
  4. //
  5. // Created by 张建伟 on 15/4/7.
  6. // Copyright (c) 2015年 张建伟. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import "HttpClient.h"
  10. typedef enum {
  11. get = 0,
  12. post,
  13. put,
  14. delet
  15. } RequestMethod;
  16. @interface HttpRequest : NSObject
  17. @property (nonatomic, strong) HttpClient *client;
  18. + (instancetype)sharedManager;
  19. //公共的请求方法
  20. -(void)public_Request_With_MethodType:(RequestMethod)method path:(NSString *)path params:(id)params andBlock:(void (^) (id data, NSError *error))block;
  21. //登录
  22. -(void)postLoginParams:(NSDictionary *)params complete:(void (^)(BOOL success, id data, NSError *error)) complete;
  23. //获取群组通信和存储信息
  24. -(void)getGroupParams:(NSDictionary *)params complete:(void (^)(BOOL success, id data, NSError *error)) complete;
  25. //完善登录信息
  26. -(void)postDeviceInfo:(NSDictionary *)params complete:(void (^)(BOOL success, id data, NSError *error)) complete;
  27. /**
  28. * 重置未读条数接口
  29. *
  30. * @param params @{@"serverID":Server_ID,@"userID":User_ID, @"count":@(count)}
  31. * @param block 返回调用的block
  32. */
  33. -(void)request_resetUnreadCount_WithParams:(id)params andBlock:(void (^)(id data, NSError *error))block;
  34. #pragma mark - users info
  35. /**
  36. * 搜索用户的接口
  37. *
  38. * @param params :@{@"serverID": "0",@"key":"searchText" @"pageSize":@(20), @"pageIndex":@(1)}
  39. *
  40. * @param block 返回调用的block
  41. */
  42. -(void)search_users_WithParams:(id)params andBlock:(void (^)(id data, NSError *error))block;
  43. /**
  44. * 获取用户详情
  45. *
  46. * @param params @{@"serverID": Server_ID,@"userName": loginName}
  47. * @param block 返回调用的block
  48. */
  49. -(void)request_userDetail_WithParams:(id)params andBlock:(void (^)(id data, NSError *error))block;
  50. /**
  51. * 获取多用户详情
  52. *
  53. *
  54. * @pramas @{@"userTokens":[array],@"uuid":可选参数}
  55. */
  56. -(void)request_UserDetailListWith:(id)params andBlock:(void(^)(id data,NSError *error))block;
  57. /**
  58. * 获取用户详情
  59. * @params @{@"serverID":serverID,@"userNames":@[loginName],@"uuid":@""}
  60. */
  61. //-(void)request_userState_WithParams:(id)params andBlock:(void(^)(id data, NSError *error))block;
  62. /**
  63. * 获取未阅的通知公告提醒
  64. *
  65. * @param @{@"receiver":receiver,@"pageSize":pageSize,@"pageIndex":pageIndex,@"uuid",uuid}
  66. */
  67. -(void)request_NoticeOffline_WithParams:(id)params andBlock:(void(^)(id data,NSError *error))block;
  68. /**
  69. * 获取离线消息
  70. * @params @{@"receiver":@"receiver",@"pageSize":@"pageSize",@"pageIndex":@"pageIndex",@"uuid":@"uuid"}
  71. */
  72. -(void)request_MsgOffLine_WithParams:(id)params andBlock:(void(^)(id data, NSError *error))block;
  73. /**
  74. * 获取历史消息
  75. * @params { uuid:"", userToken:"CID+serverID-loginName", time:"", size:"", index:"" }
  76. */
  77. -(void)request_HistoryMessage_WithParams:(id)params andBlock:(void(^)(id data, NSError *error))block;
  78. /**
  79. * 拉取用户最后的设备
  80. * @params @{ serverID:"serverID", loginName:"loginName", uuid:"uuid" }
  81. */
  82. -(void)request_User_lastDevice_WithParams:(id)params andBlock:(void(^)(id data, NSError *error))block;
  83. /**
  84. * 获取所有的组
  85. *
  86. * @param params @{ @"serverID":Server_ID,b@"parentID":@"0"}
  87. * @param block 返回调用的block
  88. */
  89. -(void)request_Branches_WithParams:(id)params andBlock:(void (^)(id data, NSError *error))block;
  90. /**
  91. * 获取branch下面所有的child,包括branch和addrbook
  92. *
  93. * @param params @{@"parentID":parentbranch.branchID, @"serverID":Server_ID}
  94. * @param block 返回调用的block
  95. */
  96. -(void)request_allChildOfBranch_WithParams:(id)params andBlock:(void (^)(id data, NSError *error))block;
  97. /**
  98. * 上传头像
  99. *
  100. * @param params @{@"userID":@"", @"user":@"serverID-loginName",@"uuid":@"",@"time":@"123123123",@"image":@"base64"}
  101. * @param block 返回调用的block
  102. */
  103. -(void)upload_headImage_WithParams:(id)params andBlock:(void (^)(id data, NSError *error))block;
  104. //======================================================================================
  105. /**
  106. * 私人通讯录同步数据接口
  107. *
  108. * @param params @{@"serverID":Server_ID, @"userName":Login_Name
  109. };
  110. * @param block 返回调用的block
  111. */
  112. -(void)request_personalAddrbook_WithParams:(id)params andBlock:(void (^)(id data, NSError *error))block;
  113. /**
  114. * 获取单对单历史消息
  115. *
  116. * { sender:"", receiver:"", time:12345, index:1, size:20, uuid:"" }
  117. */
  118. -(void)request_chatObjectHistory_WithParams:(id)params andBlock:(void (^)(id data, NSError *error))block;
  119. /**
  120. * 获取发送者离线同步消息 自己在PC设备上发送的消息
  121. *
  122. * @param params :{ sender:"CID+serverID-loginName", pageSize:"", pageIndex:"", uuid:"" }
  123. */
  124. -(void)request_MsgOffLinesync_WithParams:(id)params andBlock:(void (^)(id data, NSError *error))block;
  125. /**
  126. * 统一获取离线消息
  127. *
  128. * @param params
  129. * @param block
  130. */
  131. -(void)request_MsgOffLinesMsgsParams:(id)params andBlock:(void (^)(id data, NSError *error))block;
  132. /**
  133. * 离线消息获取并反馈成功接口
  134. *
  135. * @param params
  136. * @param block
  137. */
  138. -(void)request_MsgOffLinesMsgsReceiveResponse:(id)params andBlock:(void (^)(id data, NSError *error))block;
  139. /**
  140. * 用户最近联系人列表(只含有未读消息)
  141. *
  142. * @param params id
  143. * @param block return
  144. */
  145. - (void)request_UnReadMsgListWithParams:(id)params andBlock:(void (^)(id data, NSError *error))block;
  146. /**
  147. * 获取单人聊天历史纪录
  148. *
  149. * @param params id
  150. 参数说明:
  151. String current -必填项,当前用户,格式:CID+serverID-loginName
  152. String target -必填项,目标用户,格式:CID+serverID-loginName
  153. String uuid -可选项,请求唯一标识
  154. 参数格式:{ current:"CID+serverID-loginName", target:"CID+serverID-loginName", uuid:"" }
  155. * @param block return
  156. */
  157. - (void)request_SingleUnReadMsgsWithParams:(id)params andBlock:(void (^)(id data, NSError *error))block;
  158. /**
  159. * 获取单人聊天历史纪录成功的反馈
  160. *
  161. * @param params id
  162. 参数说明:
  163. String current -必填项,当前用户,格式:CID+serverID-loginName
  164. String target -必填项,目标用户,格式:CID+serverID-loginName
  165. String|int time -必填项,拉取的消息中最新的消息时间戳,Number类型
  166. String uuid -可选项,请求唯一标识
  167. 参数格式:{ current:"CID+serverID-loginName", target:"CID+serverID-loginName", time:123455678.45, uuid:"" }
  168. * @param block return
  169. */
  170. - (void)request_SingleUnReadMsgsResponseWithParams:(id)params andBlock:(void (^)(id data, NSError *error))block;
  171. /**
  172. * 删除服务器聊天信息
  173. *
  174. *
  175. * @params 参数格式:{ current:"CID+serverID-loginName", target:"CID+serverID-loginName", uuid:"" }
  176. */
  177. -(void)request_deleteCurrentChatMessagesWithParams:(id)params andBlock:(void (^)(id data,NSError *error))block;
  178. /**
  179. * 注销登录
  180. *
  181. * @param params 参数-serverid,loginname,uuid(optional)
  182. * @param block result
  183. */
  184. - (void)logout_withParams:(id)params andBlock:(void (^)(id data,NSError *error))block;
  185. /**
  186. * 获取我的客服列表
  187. *
  188. * @param params 参数-serverID,loginName,timestamp
  189. * @param block result
  190. */
  191. - (void)getMyCustomerServicerwithParams:(id)params andBlock:(void (^)(id data,NSError *error))block;
  192. /**
  193. * 获取我的常用联系人
  194. *
  195. * @param params 参数-serverID,loginName
  196. * @param block result
  197. */
  198. - (void)getMyFrequentContactswithParams:(id)params andBlock:(void (^)(id data,NSError *error))block;
  199. /**
  200. * 添加我的常用联系人
  201. *
  202. * @param params 参数-self:serverID,loginName contact:full_login-name;
  203. * @param block result
  204. */
  205. - (void)addMyFrequentContactswithParams:(id)params andBlock:(void (^)(id data,NSError *error))block;
  206. /**
  207. * 删除我的常用联系人
  208. *
  209. * @param params 参数 -serverid+loginname
  210. * @param block result
  211. */
  212. - (void)deleteMyFrequentContactswithParams:(id)params andBlock:(void (^)(id data,NSError *error))block;
  213. /**
  214. * 获取顶级部门成员
  215. *
  216. * @param params params
  217. * @param block block
  218. */
  219. - (void)postTopDepartmentMembers:(id)params andBlock:(void (^)(id data,NSError *error))block;
  220. //======================================================================================
  221. #pragma mark - 短信验证
  222. -(void)request_sendSMS_WithParams:(id)params andBlock:(void (^)(id data, NSError *error))block;
  223. -(void)request_authSMS_WithParams:(id)params andBlock:(void (^)(id data, NSError *error))block;
  224. #pragma mark - 微助手自带短信
  225. - (void)request_SendSMS_NoLocalWithParams:(id)params andBlock:(void (^)(id data,NSError *error))block;
  226. //======================================================================================
  227. #pragma mark - SOCKET.IO 模拟的http
  228. //获取离线同步数据
  229. -(void)request_isSync_WithParams:(id)params andBlock:(void(^)(id data,NSError *error))block;
  230. -(void)request_login_WithParams:(id)params andBlock:(void (^)(id data, NSError *error))block;
  231. -(void)request_auth_WithParams:(id)params andBlock:(void (^)(id data, NSError *error))block;
  232. ///=============================================================================
  233. /// @name CloudStorage
  234. ///=============================================================================
  235. /**
  236. * cloud login
  237. *
  238. * @param params params
  239. * @param complete callback
  240. */
  241. - (void)cloudStoragePostLoginWithParams:(NSDictionary *)params complete:(void (^)(BOOL success, id data, NSError *error)) complete;
  242. /**
  243. * cloud file search
  244. *
  245. * @param pid father branchid
  246. * @param key if(search) key
  247. * @param fileExt if(file type) fileext . 0:图片文件 1:文档文件 2:音频 3:视频
  248. * @param complete callback
  249. */
  250. - (void)cloudStorageGetFilesWithPid:(NSString *)pid searchKey:(NSString *)key ext:(NSString *)fileExt complete:(void (^)(BOOL success, id data, NSError *error)) complete;
  251. /**
  252. * 获取回收站的文件
  253. *
  254. * @param complete callback
  255. */
  256. - (void)cloudStorageGetRecycledFilesWithComplete:(void (^)(BOOL success, id data, NSError *error)) complete;
  257. /**
  258. * 文件(夹)删除
  259. *
  260. * @param fileID 文件id
  261. * @param deleteLevel 0.彻底删除 1.移到垃圾桶
  262. * @param complete callback
  263. */
  264. - (void)cloudStorageFileDeleteWithItemIDs:(NSArray *)fileIDs deleteLevel:(NSInteger)deleteLevel complete:(void (^)(BOOL success, id data, NSError *error)) complete;
  265. /**
  266. * 根据父id获取所有文件夹(文件上传选择路径使用)
  267. *
  268. * @param pid 父id
  269. * @param excludeIds 不需要的ids
  270. * @param complete callback
  271. */
  272. - (void)cloudStorageGetAllFolderWithPid:(NSString *)pid excludeIds:(NSArray *)excludeIds complete:(void (^)(BOOL success, id data, NSError *error)) complete;
  273. /**
  274. * 获取当前文件夹下的所有文件及文件夹信息
  275. *
  276. * @param pids pids
  277. * @param complete callback
  278. */
  279. - (void)cloudStorageGetAllChildsWithPids:(NSArray *)pids complete:(void (^)(BOOL success, id data, NSError *error)) complete;
  280. /**
  281. * file-folder rename
  282. *
  283. * @param name newname
  284. * @param itemID itemID
  285. * @param complete callBack
  286. */
  287. - (void)cloudStorageFileReNameWithNewName:(NSString *)name fileID:(NSString *)itemID complete:(void (^)(BOOL success, id data, NSError *error)) complete;
  288. /**
  289. * 创建文件夹
  290. *
  291. * @param folderName 文件夹名字
  292. * @param pid 当前父节点id
  293. * @param delflag 补充标识{0. 正常文件夹 1.删除的(文件),2.hidden文件夹 }}
  294. * @param complete callBack
  295. */
  296. - (void)cloudStorageCreateNewFileFolderWithFolderName:(NSString *)folderName pid:(NSString *)pid delflag:(NSString *)delflag complete:(void (^)(BOOL success, id data, NSError *error)) complete;
  297. /**
  298. * 文件选择云盘路径上传时检测是否已存在这样的名字的文件
  299. *
  300. * @param pid 当前文件夹id
  301. * @param fileName 要上传的文件name
  302. * @param complete callback
  303. */
  304. - (void)cloudStorageCheckFileNameIsExitWithPid:(NSString *)pid fileName:(NSString *)fileName isdir:(BOOL)isdir ext:(NSString *)ext complete:(void (^)(BOOL success, id data, NSError *error)) complete;
  305. /**
  306. * 创建文件(云盘上传后通知下方)
  307. *
  308. * @param fileName 文件名
  309. * @param md5 md5值
  310. * @param pid 当前父节点id
  311. * @param delflag 补充标识{0. 正常文件 1.删除的(文件),2.hidden文件 }}
  312. * @param ext 文件扩展名
  313. * @param size 文件大小bit
  314. * @param complete callback
  315. */
  316. - (void)cloudStorageCreateNewFileWithFileName:(NSString *)fileName md5:(NSString *)md5 pid:(NSString *)pid delflag:(NSString *)delflag ext:(NSString *)ext size:(NSNumber*)size complete:(void (^)(BOOL success, id data, NSError *error)) complete;
  317. /**
  318. * 移动网盘文件位置
  319. *
  320. * @param pid 新的父节点
  321. * @param csfiles 需要移动的文件/文件夹ids
  322. * @param complete callback
  323. */
  324. - (void)cloudStorageMoveFilesToOtherPid:(NSString *)pid needMoveFiles:(NSArray *)csfiles complete:(void (^)(BOOL success, id data, NSError *error)) complete;
  325. /**
  326. * 复制网盘文件到目标文件夹
  327. *
  328. * @param pid 目标文件夹id
  329. * @param csfiles 需要复制的文件/文件夹ids数组
  330. * @param complete callback
  331. */
  332. - (void)cloudStorageCopyFilesToOtherPid:(NSString *)pid needCopyFiles:(NSArray *)csfiles complete:(void (^)(BOOL success, id data, NSError *error)) complete;
  333. //更新文件(夹)
  334. /**
  335. * 获取文件下载url
  336. *
  337. * @param md5 md5
  338. * @param complete callback
  339. */
  340. - (void)cloudStorageGetFileDownloadURLWithMD5:(NSString *)md5 complete:(void (^)(BOOL success, id data, NSError *error)) complete;
  341. /**
  342. * 获取文件上传url
  343. *
  344. * @param md5 md5
  345. * @param complete callback
  346. */
  347. - (void)cloudStorageGetFileUploadURLWithMD5:(NSString *)md5 complete:(void (^)(BOOL success, id data, NSError *error)) complete;
  348. /**
  349. * 创建分享文件(夹)
  350. *
  351. * @param filesdic filesdic
  352. * @param receivers 分享给[XXX]
  353. * @param complete callback
  354. */
  355. - (void)cloudStorageCreateShareFiles:(NSArray *)filesdic WithReceivers:(NSArray*)receivers complete:(void (^)(BOOL success, id data, NSError *error)) complete;
  356. /**
  357. * 获取分享文件(夹)
  358. *
  359. * @param shareID shareID
  360. * @param complete callback
  361. */
  362. - (void)cloudStorageGetShareFiles:(NSString *)shareID complete:(void (^)(BOOL success, id data, NSError *error)) complete;
  363. @end