QMMessage.h 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487
  1. //
  2. // QMMessage.h
  3. // QMLineSDK
  4. //
  5. // Created by haochongfeng on 2018/10/23.
  6. // Copyright © 2018年 haochongfeng. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #pragma mark -- 消息类型枚举 --
  10. typedef enum: NSInteger {
  11. /** 文本 */
  12. QMMessageTypeText = 0,
  13. /** 语音 */
  14. QMMessageTypeAudio = 1,
  15. /** 图片 */
  16. QMMessageTypeImage = 2,
  17. /** 文件 */
  18. QMMessageTypeFile = 3,
  19. /** 评价 */
  20. QMMessageTypeInvestigate = 4,
  21. /** 网页 */
  22. QMMessageTypeIframe = 5,
  23. /** 视频 */
  24. QMMessageTypeVideo = 6,
  25. /** 富文本 */
  26. QMMessageTypeRichText = 7,
  27. /** 卡片 */
  28. QMMessageTypeCard = 8,
  29. /** 卡片 */
  30. QMMessageTypeCardInfo = 9,
  31. /** 撤销 */
  32. QMMessageTypeWithdraw = 10,
  33. }QMMessageType;
  34. typedef enum : NSUInteger {
  35. QMMessageCardTypeNone = 0,
  36. QMMessageCardTypeReaded,
  37. QMMessageCardTypeSeleced,
  38. QMMessageCardTypeHidden,
  39. } QMMessageCardReadType;
  40. #pragma mark -- 消息状态枚举 --
  41. typedef enum: NSInteger {
  42. /** 发送成功 */
  43. QMMessageStatusSendSuccess = 0,
  44. /** 发送失败 */
  45. QMMessageStatusSendFailure = 1,
  46. /** 发送中 */
  47. QMMessageStatusSending = 2,
  48. }QMMessageStatus;
  49. #pragma mark -- 文件下载状态枚举 --
  50. typedef enum: NSInteger {
  51. /** 下载成功 */
  52. QMDownloadStateSuccess = 0,
  53. /** 下载失败 */
  54. QMDownloadStateFailure = 1,
  55. /** 下载中 */
  56. QMDownloadStateDownloading = 2,
  57. }QMDownloadState;
  58. #pragma mark -- 富文本消息 --
  59. @interface CustomRichText: NSObject
  60. /**
  61. 点击跳转地址
  62. */
  63. @property (nonatomic, copy)NSString *url;
  64. /**
  65. 图片地址
  66. */
  67. @property (nonatomic, copy)NSString *imageUrl;
  68. /**
  69. 标题
  70. */
  71. @property (nonatomic, copy)NSString *title;
  72. /**
  73. 描述内容
  74. */
  75. @property (nonatomic, copy)NSString *description;
  76. @end
  77. #pragma mark -- 卡片消息 --
  78. @interface CustomCardMessage: NSObject
  79. /**
  80. 图片地址
  81. */
  82. @property (nonatomic, copy)NSString *imageUrl;
  83. /**
  84. 标题
  85. */
  86. @property (nonatomic, copy)NSString *title;
  87. /**
  88. 描述内容
  89. */
  90. @property (nonatomic, copy)NSString *description;
  91. /**
  92. 价格
  93. */
  94. @property (nonatomic, copy)NSString *price;
  95. /**
  96. 点击跳转地址
  97. */
  98. @property (nonatomic, copy)NSString *url;
  99. @end
  100. #pragma mark -- 消息 --
  101. @interface CustomMessage : NSObject
  102. /**
  103. 消息id
  104. */
  105. @property (nonatomic, copy)NSString *_id;
  106. /**
  107. 消息内容
  108. */
  109. @property (nonatomic, copy)NSString *message;
  110. /**
  111. 富文本
  112. */
  113. @property (nonatomic, strong) NSAttributedString *contentAttr;
  114. // 富文本图片是否替换成功 0/不需要替换 1/替换 2/替换成功
  115. @property (nonatomic, assign) int attrAttachmentReplaced;
  116. /**
  117. 消息类型
  118. */
  119. @property (nonatomic, copy)NSString *messageType;
  120. /**
  121. 平台信息 iOS Android
  122. */
  123. @property (nonatomic, copy)NSString *platform;
  124. /**
  125. 设备型号
  126. */
  127. @property (nonatomic, copy)NSString *device;
  128. /**
  129. 会话id(查询数据库消息)
  130. */
  131. @property (nonatomic, copy)NSString *sessionId;
  132. /**
  133. 访客id(查询数据库消息)
  134. */
  135. @property (nonatomic, copy)NSString *userId;
  136. /**
  137. 接入会话的渠道id(查询数据库消息)
  138. */
  139. @property (nonatomic, copy)NSString *accessid;
  140. /**
  141. 消息创建时间
  142. */
  143. @property (nonatomic, copy)NSString *createdTime;
  144. /**
  145. 消息来源 访客 or 坐席@"1"
  146. */
  147. @property (nonatomic, copy)NSString *fromType;
  148. /**
  149. 消息发送状态 成功 or 失败 or 发送中 0/发送成功。1/发送失败。2/发送中
  150. */
  151. @property (nonatomic, copy)NSString *status;
  152. /**
  153. 语音消息时长
  154. */
  155. @property (nonatomic, copy)NSString *recordSeconds;
  156. /**
  157. 本地文件缓存相对路径
  158. */
  159. @property (nonatomic, copy)NSString *localFilePath;
  160. /**
  161. 文件网络地址
  162. */
  163. @property (nonatomic, copy)NSString *remoteFilePath;
  164. /**
  165. 文件名称
  166. */
  167. @property (nonatomic, copy)NSString *fileName;
  168. /**
  169. 文件大小
  170. */
  171. @property (nonatomic, copy)NSString *fileSize;
  172. /**
  173. mp3文件大小
  174. */
  175. @property (nonatomic, copy)NSString *mp3FileSize;
  176. /**
  177. 文件下载状态
  178. */
  179. @property (nonatomic, copy)NSString *downloadState;
  180. /**
  181. iframe消息宽度
  182. */
  183. @property (nonatomic, copy)NSString *width;
  184. /**
  185. iframe消息高度
  186. */
  187. @property (nonatomic, copy)NSString *height;
  188. /**
  189. 客服工号
  190. */
  191. @property (nonatomic, copy)NSString *agentExten;
  192. /**
  193. 客服名称
  194. */
  195. @property (nonatomic, copy)NSString *agentName;
  196. /**
  197. 客服头像
  198. */
  199. @property (nonatomic, copy)NSString *agentIcon;
  200. /**
  201. 消息是否来源于机器人 机器人@"1" 非机器人@"2"
  202. */
  203. @property (nonatomic, copy)NSString *isRobot;
  204. /**
  205. 消息类型,系统消息-system、机器人消息-robot、人工消息-UUID、我自己发的消息-my
  206. */
  207. @property (nonatomic, copy)NSString *userType;
  208. /**
  209. 消息是否展示以及副标题消息权限(目前用于语音转文本) 不展示@"0" 展示@"1"
  210. */
  211. @property (nonatomic, copy)NSString *messageStatus;
  212. /**
  213. 消息是否已读 已读@"1" 未读@"0"
  214. */
  215. @property (nonatomic, copy)NSString *isRead;
  216. /**
  217. 语音消息已读未读
  218. */
  219. @property (nonatomic, copy)NSString *voiceRead;
  220. /**
  221. 机器人回复是否有帮助 不是机器人@"none" 有帮助@"useful" 无帮助@"useless"
  222. */
  223. @property (nonatomic, copy)NSString *isUseful;
  224. /**
  225. 机器人问题id
  226. */
  227. @property (nonatomic, copy)NSString *questionId;
  228. /**
  229. 账户信息
  230. */
  231. @property (nonatomic, copy)NSString *account;
  232. /**
  233. 机器人id
  234. */
  235. @property (nonatomic, copy)NSString *robotId;
  236. /**
  237. 机器人类型
  238. */
  239. @property (nonatomic, copy)NSString *robotType;
  240. /**
  241. 机器人回复语id
  242. */
  243. @property (nonatomic, copy)NSString *robotMsgId;
  244. /**
  245. xbot机器人置信度
  246. */
  247. @property (nonatomic, copy)NSString *confidence;
  248. /**
  249. xbot机器人访客问题
  250. */
  251. @property (nonatomic, copy)NSString *ori_question;
  252. /**
  253. xbot机器人标准问题
  254. */
  255. @property (nonatomic, copy)NSString *std_question;
  256. /**
  257. xbot机器人sessionid
  258. */
  259. @property (nonatomic, copy)NSString *robotSessionId;
  260. /**
  261. xbot机器人任务场景问答-答案
  262. */
  263. @property (nonatomic, copy)NSString *robotFlowList;
  264. /**
  265. xbot机器人任务场景问答-标题
  266. */
  267. @property (nonatomic, copy)NSString *robotFlowTip;
  268. /**
  269. xbot机器人任务场景问答-标题
  270. */
  271. @property (nonatomic, copy)NSString *robotFlowType;
  272. /**
  273. xbot机器人点选样式
  274. */
  275. @property (nonatomic, copy)NSString *robotFlowsStyle;
  276. /*
  277. xbot机器人单选多选
  278. 0 --- 单选
  279. 1 --- 多选
  280. **/
  281. @property (nonatomic, copy)NSString *robotFlowSelect;
  282. /*
  283. 多选是否已经发送
  284. 0 --- 未发送
  285. 1 --- 已发送
  286. **/
  287. @property (nonatomic, copy)NSString *robotFlowSend;
  288. /**
  289. 富文本消息
  290. */
  291. @property (nonatomic, strong)CustomRichText *richText;
  292. /**
  293. 富文本消息 建议使用 CustomRichText
  294. richTextUrl : 点击跳转地址
  295. richTextPicUrl : 图片地址
  296. richTextTitle : 标题
  297. richTextDescription: 描述内容
  298. */
  299. @property (nonatomic, copy)NSString *richTextUrl;
  300. @property (nonatomic, copy)NSString *richTextPicUrl;
  301. @property (nonatomic, copy)NSString *richTextTitle;
  302. @property (nonatomic, copy)NSString *richTextDescription;
  303. /**
  304. 卡片消息
  305. */
  306. @property (nonatomic, strong)CustomCardMessage *cardMessage;
  307. /**
  308. 卡片消息 建议使用 CustomCardMessage
  309. cardImage : 图片地址
  310. cardHeader : 标题
  311. cardSubhead : 描述内容
  312. cardPrice : 价格
  313. cardUrl : 点击跳转地址
  314. */
  315. @property (nonatomic, copy)NSString *cardImage;
  316. @property (nonatomic, copy)NSString *cardHeader;
  317. @property (nonatomic, copy)NSString *cardSubhead;
  318. @property (nonatomic, copy)NSString *cardPrice;
  319. @property (nonatomic, copy)NSString *cardUrl;
  320. /**
  321. 新卡片消息
  322. */
  323. @property (nonatomic, copy)NSString *cardInfo_New;
  324. /**
  325. 新卡片详情
  326. */
  327. @property (nonatomic, copy)NSString *cardMessage_New;
  328. /**
  329. 新卡片详情
  330. */
  331. @property (nonatomic, strong)NSDictionary *cardMsg_NewDict;
  332. /*
  333. 读取状态(目前在xbotcard先使用)
  334. **/
  335. @property (nonatomic, assign) QMMessageCardReadType cardType;
  336. /**
  337. 视频状态 "0"已接通 "1"取消 "2"拒绝
  338. */
  339. @property (nonatomic, copy)NSString *videoStatus;
  340. /*
  341. xbot机器人点赞文案
  342. **/
  343. @property (nonatomic, copy)NSString *fingerUp;
  344. /*
  345. xbot机器人点赞文案
  346. **/
  347. @property (nonatomic, copy)NSString *fingerDown;
  348. /*
  349. 满意度评价id
  350. **/
  351. @property (nonatomic, copy)NSString *evaluateId;
  352. /*
  353. 满意度评价是否已评价
  354. 同一个满意度id下的 是否已评价
  355. **/
  356. @property (nonatomic, copy)NSString *evaluateStatus;
  357. /*
  358. 满意度服务时间
  359. **/
  360. @property (nonatomic, copy)NSString *evaluateTimestamp;
  361. /*
  362. 满意度超时时长
  363. **/
  364. @property (nonatomic, copy)NSString *evaluateTimeout;
  365. /*
  366. 常见问题分组
  367. **/
  368. @property (nonatomic, copy)NSString *common_questions_group;
  369. /*
  370. 记录常见问题在哪一组
  371. **/
  372. @property (nonatomic, copy)NSString *common_selected_index;
  373. /*
  374. 常见问题图片
  375. **/
  376. @property (nonatomic, copy)NSString *common_questions_img;
  377. /*
  378. xbot表单消息
  379. **/
  380. @property (nonatomic, copy)NSString *xbotForm;
  381. /*
  382. xbot表单消息 是否第一次出现
  383. **/
  384. @property (nonatomic, copy)NSString *xbotFirst;
  385. /**
  386. 文件二进制数据
  387. */
  388. @property (nonatomic, strong) NSData *fileData;
  389. /*
  390. video image 地址
  391. **/
  392. @property (nonatomic, copy) NSString *url;
  393. @property (nonatomic, copy) NSString *title;
  394. @property (nonatomic, copy) NSString *type;
  395. - (void)setValue:(id)value forUndefinedKey:(NSString *)key;
  396. @end