CommonNetInterface.h 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663
  1. #ifndef PHMS_COMMOM_INTERFACE
  2. #define PHMS_COMMON_INTERFACE
  3. #include "PhmsDataType.h"
  4. #if defined(_WIN32) || defined(_WIN32_WCE)
  5. #if defined(PHMS_DLL_EXPORTS)
  6. #define NET_API __declspec(dllexport)
  7. #else
  8. #define NET_API __declspec(dllimport)
  9. #endif
  10. #endif
  11. #if !defined(NET_API)
  12. #define NET_API
  13. #endif
  14. #ifdef __cplusplus
  15. extern "C" {
  16. #endif
  17. //==================================================================
  18. //参数要求:
  19. //①所有目标文件所在目录必须存在,否则返回文件打开失败
  20. //②目录中暂时不支持汉字(有需要可以改)(已改支持汉字2013-4-18)
  21. //③字符指针参数不能为NULL
  22. //④要求字符串参数编码为GBK,将来有可能改成UTF8
  23. //==================================================================
  24. //==================================================================
  25. //函数名:SetContecServerInfo
  26. //作者:YangJiannan
  27. //日期:2016.11.16
  28. //功能:用户会诊小程序设置目标服务器ip和端口
  29. //输入参数:stringContecServerAddr 服务器ip或域名
  30. // stringContecServerPort 服务器端口
  31. //返回值: 无
  32. //备注:优先于PhmsConfig.ini
  33. //==================================================================
  34. void NET_API SetContecServerInfo(const char* stringContecServerAddr, const char* stringContecServerPort);
  35. //==================================================================
  36. //函数名:SetAppDir
  37. //作者:YangJiannan
  38. //日期:2015.11.4
  39. //功能:用于Android程序调用,设置工作目录,因为无法从底层获得运行的Android APP的工作目录,需要外部设置
  40. //输入参数:stringWorkDir 工作目录
  41. //返回值: 无
  42. //修改记录:
  43. //==================================================================
  44. void NET_API SetAppDir(const char* stringWorkDir);
  45. //==================================================================
  46. //函数名:设置终端类型标识
  47. //作者:YangJiannan
  48. //日期:2013.4.18
  49. //功能:设置每一个终端类型标识
  50. //输入参数:终端标识号,参见P还没收DataType.h
  51. //返回值: 正确或错误码
  52. //修改记录:
  53. //==================================================================
  54. int NET_API SetTerminalType(const char* stringTerminalType);
  55. //==================================================================
  56. //函数名:InitializeNetLibObject
  57. //作者:YangJiannan
  58. //日期:2012.12.3
  59. //功能:初始化网络对象,获得网络对象句柄,每个线程中如果要使用网络接口,必须先调用该函数,获得网络对象句柄,以后每个接口都要传入该句柄
  60. //输入参数:无
  61. //返回值: 网络对象句柄
  62. //修改记录:
  63. //==================================================================
  64. NET_HANDLE NET_API InitializeNetLibObject();
  65. //==================================================================
  66. //函数名:DeleteNetLibObject
  67. //作者:YangJiannan
  68. //日期:2012.12.3
  69. //功能:删除网络对象,线程结束之前必须调用该函数,否则内存泄露
  70. //输入参数:handle 网络对象句柄
  71. //返回值: 正常或错误返回码
  72. //修改记录:
  73. //==================================================================
  74. int NET_API DeleteNetLibObject(NET_HANDLE handle);
  75. //==================================================================
  76. //函数名:SetSessionId(此函数只在跨进程使用同一sessionid的时候才需要用,同一进程的SessionId实现用户透明管理)
  77. //作者:YangJiannan
  78. //日期:2013.1.18
  79. //功能:设置当前进程的Session Id,这是已知SessionId的情况,直接设置,不需要再次登录,服务器也不允许同一账号同时登录
  80. //输入参数:stringSessionId SessionId
  81. //返回值: 正常或错误返回码
  82. //修改记录:
  83. //==================================================================
  84. int NET_API SetSessionId(const char* stringSessionId);
  85. //==================================================================
  86. //函数名:GetSessionId(此函数只在跨进程使用同一sessionid的时候才需要用,同一进程的SessionId实现用户透明管理)
  87. //作者:YangJiannan
  88. //日期:2013.1.18
  89. //功能:获得当前进程的Session Id
  90. //输入参数:bufSessionId buf,输出函数,用于保存SessionId
  91. // nBufMaxLen buf的最大长度(不得小于128)
  92. //返回值: 正常或错误返回码
  93. //修改记录:
  94. //==================================================================
  95. int NET_API GetSessionId(char* bufSessionId, unsigned int nBufMaxLen);
  96. //==================================================================
  97. //函数名:SetUsernameAndPassword(此函数只在跨进程使用同一sessionid的时候才需要用,同一进程的SessionId实现用户透明管理)
  98. //作者:YangJiannan
  99. //日期:2017.5.24
  100. //功能:设置登录账号密码,用于计算签名
  101. //输入参数:stringUsername 用户名
  102. // stringPassword 密码
  103. //返回值: 正常或错误返回码
  104. //修改记录:
  105. //==================================================================
  106. int NET_API SetUsernameAndPassword(const char* stringUsername, const char* stringPassword);
  107. //==================================================================
  108. //函数名:HandleSessionSync
  109. //作者:YangJiannan
  110. //日期:2012.12.24
  111. //功能:用于旧session id失效后重新获得新session id,然后调用本接口,使其他网络线程session id同步
  112. //输入参数:stringSessionId 有效的session id
  113. //返回值: 无
  114. //修改记录:
  115. //==================================================================
  116. //void HandleSessionSync(const char* stringSessionId);
  117. //==================================================================
  118. //函数名:KeepSession
  119. //作者:YangJiannan
  120. //日期:2013.3.11
  121. //功能:保持会话
  122. //输入参数:handle 网络对象句柄
  123. //返回值: 正常或错误返回码
  124. //修改记录:
  125. //==================================================================
  126. int NET_API KeepSession(NET_HANDLE handle);
  127. //==================================================================
  128. //函数名:Logout
  129. //作者:YangJiannan
  130. //日期:2012.12.3
  131. //功能:注销登录
  132. //输入参数:handle 网络对象句柄
  133. //返回值: 正常或错误返回码
  134. //修改记录:
  135. //==================================================================
  136. int NET_API Logout(NET_HANDLE handle);
  137. //==================================================================
  138. //函数名:UploadIm
  139. //作者:YangJiannan
  140. //日期:2012.12.3
  141. //功能:上传即时消息
  142. //输入参数:handle 网络对象句柄
  143. // stringSenderId 发送者Id
  144. // stringSenderName 发送者姓名
  145. // stringReceiverId 接收者Id
  146. // stringMsgDirection 消息方向
  147. // stringMsgType 消息类型
  148. // stringAudioFilePath 音视频文件本地路径
  149. // stringCaseId 病例号
  150. // stringCaseType 病例类型
  151. //返回值: 正常或错误返回码
  152. //修改记录:
  153. //==================================================================
  154. int NET_API UploadIm(NET_HANDLE handle, const char* stringSenderId, const char* stringSenderName, const char* stringReceiverId, const char* stringMsgDirection, const char* stringMsgType,
  155. const char* stringMsgContent, const char* stringAudioFilePath, const char* stringCaseId, const char* stringCaseType);
  156. //==================================================================
  157. //函数名:GetImList
  158. //作者:YangJiannan
  159. //日期:2012.12.3
  160. //功能:获得即时消息列表
  161. //输入参数:handle 网络对象句柄
  162. // stringLocalFilePath 即时消息列表本地保存路径
  163. // stringSenderId 发送者Id
  164. // stringCaseId 病例Id
  165. // stringCaseType 病例类型
  166. // stringMsgDirection 消息方向
  167. // stringMsgType 消息类型
  168. //返回值: 正常或错误返回码
  169. //修改记录:
  170. //==================================================================
  171. int NET_API GetImList(NET_HANDLE handle, const char* stringLocalFilePath, const char* stringSenderId, const char* stringCaseId, const char* stringCaseType, const char* stringMsgDirection, const char* stringMsgType);
  172. //==================================================================
  173. //函数名:GetImList2
  174. //作者:YangJiannan
  175. //日期:2015.7.24
  176. //功能:获得即时消息列表2
  177. //输入参数:handle 网络对象句柄
  178. // stringLocalFilePath 即时消息列表本地保存路径
  179. // stringNextId 拉去消息位置,首次传0
  180. //返回值: 正常或错误返回码
  181. //修改记录:
  182. //==================================================================
  183. int NET_API GetImList2(NET_HANDLE handle, const char* stringLocalFilePath, const char* stringNextId);
  184. //==================================================================
  185. //函数名:DownloadIm
  186. //作者:YangJiannan
  187. //日期:2012.12.3
  188. //功能:下载音视频消息
  189. //输入参数:handle 网络对象句柄
  190. // stringLocalFilePath 音视频消息文件本地保存路径
  191. // stringMsgId 消息Id
  192. // stringUri 音视频消息文件服务器路径
  193. // nFileSize 文件大小
  194. //返回值: 正常或错误返回码
  195. //修改记录:
  196. //==================================================================
  197. int NET_API DownloadIm(NET_HANDLE handle, const char* stringLocalFilePath, const char* stringMsgId, const char* stringUri, unsigned long nFileSize);
  198. //==================================================================
  199. //函数名:DownloadImComplete
  200. //作者:YangJiannan
  201. //日期:2014.3.21
  202. //功能:下载音视频消息
  203. //输入参数:handle 网络对象句柄
  204. // stringMsgId 消息Id
  205. //返回值: 正常或错误返回码
  206. //修改记录:
  207. //==================================================================
  208. int NET_API DownloadImComplete(NET_HANDLE handle, const char* stringMsgId);
  209. //==================================================================
  210. //函数名:ChangePwd
  211. //作者:YangJiannan
  212. //日期:2012.12.3
  213. //功能:修改密码
  214. //输入参数:handle 网络对象句柄
  215. // stringOldPwd 旧密码
  216. // stringNewPwd 新密码
  217. //返回值: 正常或错误返回码
  218. //修改记录:
  219. //==================================================================
  220. int NET_API ChangePwd(NET_HANDLE handle, const char* stringOldPwd, const char* stringNewPwd);
  221. //==================================================================
  222. //函数名:Feedbcak
  223. //作者:YangJiannan
  224. //日期:2012.12.3
  225. //功能:上传意见反馈
  226. //输入参数:handle 网络对象句柄
  227. // stringTitle 标题
  228. // stringNotes 详细描述
  229. // stringPhone 电话号码
  230. // stringPicPath 要上传的本地文件路径
  231. //返回值: 正常或错误返回码
  232. //修改记录:
  233. //==================================================================
  234. int NET_API Feedback(NET_HANDLE handle, const char* stringTitle, const char* stringNotes, const char* stringPhone, const char* stringPicPath);
  235. //==================================================================
  236. //函数名:GetReportListOfCase
  237. //作者:YangJiannan
  238. //日期:2012.12.3
  239. //功能:获得病例的报告列表
  240. //输入参数:handle 网络对象句柄
  241. // stringLocalFilePath 报告列表文件本地保存路径
  242. // stringCaseId 病例Id
  243. //返回值: 正常或错误返回码
  244. //修改记录:
  245. //==================================================================
  246. int NET_API GetReportListOfCase(NET_HANDLE handle, const char* stringLocalFilePath, const char* stringCaseId);
  247. //==================================================================
  248. //函数名:GetHospitalListOfGroup
  249. //作者:YangJiannan
  250. //日期:2012.12.3
  251. //功能:获得组织内医院列表
  252. //输入参数:handle 网络对象句柄
  253. // stringLocalFilePath 医院列表文件本地保存路径
  254. // stringGroupId 组织Id
  255. // stringType 医院类型(0:转发医院,1:可选医院)
  256. // nPageTo 第几页
  257. // nPageSize 每页几条数据
  258. //返回值: 正常或错误返回码
  259. //修改记录:
  260. //==================================================================
  261. int NET_API GetHospitalListOfGroup(NET_HANDLE handle, const char* stringLocalFilePath, const char* stringGroupId, const char* stringType, const char* stringCaseType, unsigned int nPageTo, unsigned int nPageSize);
  262. //==================================================================
  263. //函数名:GetDoctorListOfHospital
  264. //作者:YangJiannan
  265. //日期:2012.12.3
  266. //功能:获得医院内医生列表
  267. //输入参数:handle 网络对象句柄
  268. // stringLocalFilePath 医生列表文件本地保存路径
  269. // stringHospitalId 医院Id
  270. // stringDoctorId 医生Id
  271. // stringCaseType 病例类型
  272. // stringDoctorType 医生类型
  273. // nPageTo 第几页
  274. // nPageSize 每页几条数据
  275. //返回值: 正常或错误返回码
  276. //修改记录:
  277. //==================================================================
  278. int NET_API GetDoctorListOfHospital(NET_HANDLE handle, const char* stringLocalFilePath, const char* stringHospitalId, const char* stringDoctorId, const char* stringCaseType, const char* stringDoctorType, unsigned int nPageTo, unsigned int nPageSize);
  279. //==================================================================
  280. //函数名:AbortSession
  281. //作者:YangJiannan
  282. //日期:2012.12.13
  283. //功能:即时退出Http Session
  284. //输入参数:handle 网络对象句柄
  285. //返回值: 正常或错误返回码
  286. //修改记录:
  287. //==================================================================
  288. int NET_API AbortSession(NET_HANDLE handle);
  289. //==================================================================
  290. //函数名:GetEventStream
  291. //作者:YangJiannan
  292. //日期:2013.01.30
  293. //功能:获得病例事件流
  294. //输入参数:handle 网络对象句柄
  295. // stringLocalFilePath 文件本地保存路径
  296. // stringCaseId 病例号
  297. // stringOriginalHospital 病例原始医院
  298. //返回值: 正常或错误返回码
  299. //修改记录:
  300. //==================================================================
  301. int NET_API GetEventStream(NET_HANDLE handle, const char* stringLocalFilePath, const char* stringCaseId, const char* stringOriginalHospital);
  302. //==================================================================
  303. //函数名:GetCaseTypeList
  304. //作者:YangJiannan
  305. //日期:2013.01.30
  306. //功能:获得病例类型权限
  307. //输入参数:handle 网络对象句柄
  308. // stringLocalFilePath 文件本地保存路径
  309. // stringLanguage 指定类型名语言
  310. //返回值: 正常或错误返回码
  311. //修改记录:
  312. //==================================================================
  313. int NET_API GetCaseTypeList(NET_HANDLE handle, const char* stringLocalFilePath, const char* stringLanguage);
  314. //==================================================================
  315. //函数名:DownloadPhoto
  316. //作者:YangJiannan
  317. //日期:2013.4.8
  318. //功能:下载医生照片(通用文件下载接口)
  319. //输入参数:handle 网络对象句柄
  320. // stringLocalFilePath 本地文件保存路径
  321. // stringUri 照片服务器路径
  322. // nFileSize 照片大小
  323. // pCallback 回调函数
  324. //修改记录:
  325. //==================================================================
  326. int NET_API DownloadPhoto(NET_HANDLE handle, const char* stringLocalFilePath, const char* stringUri, unsigned long nFileSize, pProgressAndSpeedCallback pCallback);
  327. //==================================================================
  328. //函数名:GetServerFileSize
  329. //作者:YangJiannan
  330. //日期:2018.7.24
  331. //功能:获得服务器文件大小
  332. //输入参数:handle 网络对象句柄
  333. // stringUri 文件服务器路径
  334. //输出参数:nFileSize 文件大小
  335. //修改记录:
  336. //==================================================================
  337. int NET_API GetServerFileSize(NET_HANDLE handle, const char* stringUri, int& nFileSize);
  338. //==================================================================
  339. //函数名:SendPhoneMsg
  340. //作者:YangJiannan
  341. //日期:2013.4.23
  342. //功能:发送短信接口
  343. //输入参数:handle 网络对象句柄
  344. // stringCardId 用户卡号,卡用户列表中的senderid值
  345. // stringPhone 手机号码
  346. // stringMsg 短信内容
  347. //附加说明:stringCardId和stringPhone都为可选参数,但必须至少有一个不为空字符串。当stringCardId为空,stringPhone不为空时,
  348. // 任何角色都可以调用该接口发送短信;当stringPhone为空,stringCardId不为空是,医生调用该接口给卡用户发送健康建议;
  349. // 当都不为空时,已stringCard为准。
  350. //参数和返回值的详细信息参见Net_Interface_V1.doc的4.5.18
  351. //修改记录:
  352. //==================================================================
  353. int NET_API SendPhoneMsg(NET_HANDLE handle, const char* stringCardId, const char* stringPhone, const char* stringMsg);
  354. //==================================================================
  355. //函数名:GetFileWithHttp
  356. //作者:YangJiannan
  357. //日期:2013.5.13
  358. //功能:通过http请求文件,不通过php
  359. //输入参数:handle 网络对象句柄
  360. // stringLocalFilePath 文件本地保存路径
  361. // stringUrl 文件web url
  362. // bContinue 是否断点续传(0 否,1 是)
  363. //附加说明:本接口不同于其他任何接口,因为本接口没有对应的Phms协议,只是通过http请求文件,不通过php页面;在内部接口中走了
  364. //一条NoPhms分支,所有内部函数都有NoPhms标识,可查询该分支;该接口也需要一个handle,防止多个线程公用一个handle,导致http请求和响应混乱;
  365. //但是该handle所有对应的CExternalNetInterface对象不需要sessionid,为了统一,也同步了sessionid,不过实际上没有用到sessionid。
  366. //修改记录:
  367. //==================================================================
  368. int NET_API GetFileWithHttp(NET_HANDLE handle, const char* stringLocalFilePath, const char* stringUrl, int bContinue);
  369. //==================================================================
  370. //函数名:PostForm
  371. //作者:YangJiannan
  372. //日期:2013.4.22
  373. //功能:提交Form表单并获得响应内容
  374. //输入参数:handle 网络对象句柄
  375. // stringResponse 响应保存buf
  376. // stringHost 服务器地址
  377. // stringUrl 页面url
  378. // stringKey Post参数名数组
  379. // stringValue Post参数值数组
  380. // nSize 数组大小
  381. //附加说明:本接口不同于其他任何接口,因为本接口没有对应的Phms协议,只是Post一个Form表单;在内部接口中走了
  382. //一条Form分支,所有内部函数都有Form标识,可查询该分支;该接口也需要一个handle,防止多个线程公用一个handle,导致http请求和响应混乱;
  383. //但是该handle所有对应的CExternalNetInterface对象不需要sessionid,为了统一,也同步了sessionid,不过实际上没有用到sessionid。
  384. //参数和返回值的详细信息参见Net_Interface_V1.doc的4.5.18
  385. //修改记录:
  386. //==================================================================
  387. int NET_API PostForm(NET_HANDLE handle, char* stringResponse, unsigned int nResponseSize, const char* stringHost, const char* stringUrl, const char* stringKey[], const char* stringValue[], int nSize);
  388. //==================================================================
  389. //函数名:GetVerificationCode
  390. //作者:YangJiannan
  391. //日期:2013.10.17
  392. //功能:身份证号注册
  393. //输入参数:handle 网络对象句柄
  394. // stringType 请求短信类型
  395. // stringPhone 电话号码
  396. //返回值: 正常或错误返回码
  397. //弃用该接口:2013.12.11
  398. //接口另作他用:2014.1.4
  399. //==================================================================
  400. int NET_API GetVerificationCode(NET_HANDLE handle, const char* stringType, const char* stringPhone);
  401. //==================================================================
  402. //函数名:ApplyQRCode
  403. //作者:YangJiannan
  404. //日期:2014.12.10
  405. //功能:申请二维码
  406. //输入参数:handle 网络对象句柄
  407. // stringLocalFilePath 本地文件保存路径
  408. // stringType 二维码类型
  409. // stringScene 二维码使用场景
  410. //返回值: 正常或错误返回码
  411. //==================================================================
  412. int NET_API ApplyQRCode(NET_HANDLE handle, const char* stringLocalFilePath, const char* stringType, const char* stringScene);
  413. //==================================================================
  414. //函数名:ValidateUserAccount
  415. //作者:YangJiannan
  416. //日期:2014.12.10
  417. //功能:申请二维码
  418. //输入参数:handle 网络对象句柄
  419. // stringLocalFilePath 本地文件保存路径
  420. // stringLoginId 用户名
  421. // stringPassword 密码
  422. // stringRole 用户角色
  423. //返回值: 正常或错误返回码
  424. //备注:强制加密传输;不验证签名与sessionid
  425. //==================================================================
  426. int NET_API ValidateUserAccount(NET_HANDLE handle, const char* stringLocalFilePath, const char* stringLoginId, const char* stringPassword, const char* stringRole);
  427. //==================================================================
  428. //函数名:UploadCommonFile
  429. //作者:YangJiannan
  430. //日期:2015.6.29
  431. //功能:通用上传文件
  432. //输入参数:handle 网络对象句柄
  433. // stringType 文件类型
  434. // stringExtra 额外信息
  435. // stringLocalFilePath 本地文件路径
  436. // stringFileType 文件类型(0:pdf+bin 1:心电图机报告+bin 空:不处理)
  437. // pCallbcak 回调函数
  438. //输出参数:stringUri 服务器文件保存路径
  439. //返回值: 正常或错误返回码
  440. //修改记录:
  441. //==================================================================
  442. int NET_API UploadCommonFile(NET_HANDLE handle, char* stringUri, const char* stringType, const char* stringExtra, const char* stringLocalFilePath, const char* stringFileType, pProgressAndSpeedCallback pCallbcak);
  443. //==================================================================
  444. //函数名:GetListOfHealthyKnowledge
  445. //作者:YangJiannan
  446. //日期:2015.7.23
  447. //功能:获得健康知识列表
  448. //输入参数:handle 网络对象句柄
  449. // stringLocalFilePath 本地文件保存路径
  450. // stringSenderId 医生SenderId
  451. // stringNextId 拉取位置
  452. // stringIds 健康知识ID
  453. // stringPageSize 每次拉取条数
  454. // stringOrderBy 0:倒序 1:正序
  455. //返回值: 正常或错误返回码
  456. //修改记录:
  457. //==================================================================
  458. int NET_API GetListOfHealthyKnowledge(NET_HANDLE handle, const char* stringLocalFilePath, const char* stringSenderId, const char* stringNextId, const char* stringIds, const char* stringPageSize, const char* stringOrderBy);
  459. //==================================================================
  460. //函数名:GetCardUserReportList
  461. //作者:YangJiannan
  462. //日期:2015.9.22
  463. //功能:获得卡用户报告列表
  464. //输入参数:handle 网络对象句柄
  465. // stringLocalFilePath 本地文件保存路径
  466. // stringReportId 报告Id
  467. // stringReportStartDate 报告开始时间
  468. // stringReportEndDate 报告结束时间
  469. // stringCaseType 病例类型
  470. // stringState 报告状态
  471. // stringOrderBy 排序方式
  472. // stringThirdIdType 第三方号类型
  473. // stringThirdId 第三方号
  474. // stringNextId 获取列表拉取的位置
  475. // stringPageSize 每次返回数据条数
  476. //返回值: 正常或错误返回码
  477. //修改记录:
  478. //==================================================================
  479. int NET_API GetCardUserReportList(NET_HANDLE handle, const char* stringLocalFilePath, const char* stringReportId, const char* stringReportStartDate, const char* stringReportEndDate, const char* stringCaseType, const char* stringState, const char* stringOrderBy,
  480. const char* stringThirdIdType, const char* stringThirdId, const char* stringNextId, const char* stringPageSize);
  481. //==================================================================
  482. //函数名:MyFans
  483. //作者:YangJiannan
  484. //日期:2015.6.29
  485. //功能:我的粉丝
  486. //输入参数:handle 网络对象句柄
  487. // stringLocalFilePath 本地文件保存路径
  488. // stringUserId 用户ID
  489. // stringNextId 拉取列表的位置
  490. //返回值: 正常或错误返回码
  491. //
  492. //==================================================================
  493. int NET_API MyFans(NET_HANDLE handle, const char* stringLocalFilePath, const char* stringUserId, const char* stringNextId);
  494. //==================================================================
  495. //函数名:GetPayCode
  496. //作者:YangJiannan
  497. //日期:2018.1.17
  498. //功能:获得第三方支付码
  499. //输入参数:handle 网络对象句柄
  500. // stringLocalFilePath 本地文件保存路径
  501. // stringUserId 用户ID
  502. // stringNextId 拉取列表的位置
  503. //返回值: 正常或错误返回码
  504. //
  505. //==================================================================
  506. int NET_API GetPayCode(NET_HANDLE handle, const char* stringLocalFilePath, const char* stringType, const char* stringCaseId);
  507. //==================================================================
  508. //函数名:GetOrderInfo
  509. //作者:YangJiannan
  510. //日期:2018.1.17
  511. //功能:获得订单信息
  512. //输入参数:handle 网络对象句柄
  513. // stringLocalFilePath 本地文件保存路径
  514. // stringUserId 用户ID
  515. // stringNextId 拉取列表的位置
  516. //返回值: 正常或错误返回码
  517. //
  518. //==================================================================
  519. int NET_API GetOrderInfo(NET_HANDLE handle, const char* stringLocalFilePath, const char* stringType, const char* stringCaseId);
  520. //==================================================================
  521. //函数名:AbortSessionByThreadId
  522. //作者:YangJiannan
  523. //日期:2014.12.11
  524. //功能:即时退出Http Session
  525. //输入参数:threadId 网络线程id
  526. //返回值: 正常或错误返回码
  527. //==================================================================
  528. #if defined(_WIN32) || defined(_WIN64)
  529. #define THREAD_ID unsigned long
  530. #else
  531. #define THREAD_ID unsigned long int
  532. #endif
  533. int NET_API AbortSessionByThreadId(THREAD_ID threadId);
  534. //==================================================================
  535. //函数名:BeginMsgListPush
  536. //作者:YangJiannan
  537. //日期:2013.6.19
  538. //功能:开始即时消息列表推送
  539. //输入参数:stringSenderId 发送者Id
  540. // stringCaseId 病例Id
  541. // stringCaseType 病例类型
  542. // stringMsgDirection 消息方向
  543. // stringMsgType 消息类型
  544. // stringVersion 除此参数外,其他参数全部忽略
  545. // pCallback 推送成功回调函数
  546. // pFailCallback 推送失败回调函数
  547. //返回值: 网络对象句柄
  548. //参数和返回值的详细信息参见Net_Interface_V1.doc的4.5.20
  549. //备注:pCallback调用时机:①服务器成功推送消息 ②成功建立推送连接(两个参数分别为NULL, 0)
  550. // pFailCallback调用时机:①错误码COMMON_SESSION_INVALID、COMMON_LOGIN_ANOTHER_PLACE、COMMON_SERVER_NO_SUPPORT、COMMON_INVALID_CHARSET、COMMON_NET_CONFIG_ERROR、
  551. // COMMON_URL_NOT_FOUND或COMMON_NO_NET_CONFIG_FILE调用并结束推送线程②其他错误码只调用后重试,不结束推送线程
  552. //==================================================================
  553. NET_HANDLE NET_API BeginMsgListPush(const char* stringSenderId, const char* stringCaseId, const char* stringCaseType, const char* stringMsgType, const char* stringMsgDirection, const char* stringVersion,
  554. pHttpPushCallback pCallback, pHttpPushFailCallback pFailCallback);
  555. //==================================================================
  556. //函数名:EndPush
  557. //作者:YangJiannan
  558. //日期:2012.12.3
  559. //功能:结束推送,可以是任何推送,只要句柄有对应
  560. //输入参数:handle 网络对象句柄
  561. //返回值: 正常或错误返回码
  562. //参数和返回值的详细信息参见Net_Interface_V1.doc的4.5.21
  563. //修改记录:
  564. //备注:不能在BeginMsgListPush中传入的正确回调和错误回调中调用此函数,会引发死锁
  565. //==================================================================
  566. int NET_API EndPush(NET_HANDLE handle);
  567. //==================================================================
  568. //函数名:ExecuteGWService
  569. //作者:YangJiannan
  570. //日期:2018.3.5
  571. //功能:请求公卫服务
  572. //输入参数:handle 网络对象句柄
  573. // stringLocalFilePath 文件本地保存路径
  574. // stringLastPath 网络url的path部分的最后一部分,比如https://<server ip or domain>/healthApi/v1/login中的login
  575. // stringJson json
  576. // stringUploadFilePath 要上传文件的本地路径
  577. //返回值: 正常或错误返回码
  578. //==================================================================
  579. int NET_API ExecuteGWService(NET_HANDLE handle, const char* stringLocalFilePath, const char* stringLastPath, const char* stringJson, const char* stringUploadFilePath);
  580. //==================================================================
  581. //函数名:ExecuteCommonRESTful
  582. //作者:YangJiannan
  583. //日期:2018.3.5
  584. //功能:请求公卫服务
  585. //输入参数:handle 网络对象句柄
  586. // stringLocalFilePath 文件本地保存路径
  587. // stringIp 目标服务器地址
  588. // stringPort 目标服务器端口
  589. // stringUrl 目标服务器url,端口后的部分,比如"http://ip:port/Collect/InitDevice"中的/Collect/InitDevice
  590. // stringContentType http请求头中的Content-Type,比如text/json
  591. // stringPayload 有效负载
  592. //返回值: 正常或错误返回码
  593. //==================================================================
  594. int NET_API ExecuteCommonRESTful(NET_HANDLE handle, const char* stringLocalFilePath, const char* stringIp, const char* stringPort, const char* stringUrl, const char* stringContentType, const char* stringPayload);
  595. #ifdef __cplusplus
  596. }
  597. #endif
  598. #endif