QMMessage.h 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404
  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, copy)NSString *messageType;
  114. /**
  115. 平台信息 iOS Android
  116. */
  117. @property (nonatomic, copy)NSString *platform;
  118. /**
  119. 设备型号
  120. */
  121. @property (nonatomic, copy)NSString *device;
  122. /**
  123. 会话id(查询数据库消息)
  124. */
  125. @property (nonatomic, copy)NSString *sessionId;
  126. /**
  127. 访客id(查询数据库消息)
  128. */
  129. @property (nonatomic, copy)NSString *userId;
  130. /**
  131. 接入会话的渠道id(查询数据库消息)
  132. */
  133. @property (nonatomic, copy)NSString *accessid;
  134. /**
  135. 消息创建时间
  136. */
  137. @property (nonatomic, copy)NSString *createdTime;
  138. /**
  139. 消息来源 访客 or 坐席@"1"
  140. */
  141. @property (nonatomic, copy)NSString *fromType;
  142. /**
  143. 消息发送状态 成功 or 失败 or 发送中 0/发送成功。1/发送失败。2/发送中
  144. */
  145. @property (nonatomic, copy)NSString *status;
  146. /**
  147. 语音消息时长
  148. */
  149. @property (nonatomic, copy)NSString *recordSeconds;
  150. /**
  151. 本地文件缓存相对路径
  152. */
  153. @property (nonatomic, copy)NSString *localFilePath;
  154. /**
  155. 文件网络地址
  156. */
  157. @property (nonatomic, copy)NSString *remoteFilePath;
  158. /**
  159. 文件名称
  160. */
  161. @property (nonatomic, copy)NSString *fileName;
  162. /**
  163. 文件大小
  164. */
  165. @property (nonatomic, copy)NSString *fileSize;
  166. /**
  167. mp3文件大小
  168. */
  169. @property (nonatomic, copy)NSString *mp3FileSize;
  170. /**
  171. 文件下载状态
  172. */
  173. @property (nonatomic, copy)NSString *downloadState;
  174. /**
  175. iframe消息宽度
  176. */
  177. @property (nonatomic, copy)NSString *width;
  178. /**
  179. iframe消息高度
  180. */
  181. @property (nonatomic, copy)NSString *height;
  182. /**
  183. 客服工号
  184. */
  185. @property (nonatomic, copy)NSString *agentExten;
  186. /**
  187. 客服名称
  188. */
  189. @property (nonatomic, copy)NSString *agentName;
  190. /**
  191. 客服头像
  192. */
  193. @property (nonatomic, copy)NSString *agentIcon;
  194. /**
  195. 消息是否来源于机器人 机器人@"1" 非机器人@"2"
  196. */
  197. @property (nonatomic, copy)NSString *isRobot;
  198. /**
  199. 消息类型,系统消息-system、机器人消息-robot、人工消息-UUID、我自己发的消息-my
  200. */
  201. @property (nonatomic, copy)NSString *userType;
  202. /**
  203. 消息是否展示以及副标题消息权限(目前用于语音转文本) 不展示@"0" 展示@"1"
  204. */
  205. @property (nonatomic, copy)NSString *messageStatus;
  206. /**
  207. 消息是否已读 已读@"1" 未读@"0"
  208. */
  209. @property (nonatomic, copy)NSString *isRead;
  210. /**
  211. 机器人回复是否有帮助 不是机器人@"none" 有帮助@"useful" 无帮助@"useless"
  212. */
  213. @property (nonatomic, copy)NSString *isUseful;
  214. /**
  215. 机器人问题id
  216. */
  217. @property (nonatomic, copy)NSString *questionId;
  218. /**
  219. 账户信息
  220. */
  221. @property (nonatomic, copy)NSString *account;
  222. /**
  223. 机器人id
  224. */
  225. @property (nonatomic, copy)NSString *robotId;
  226. /**
  227. 机器人类型
  228. */
  229. @property (nonatomic, copy)NSString *robotType;
  230. /**
  231. 机器人回复语id
  232. */
  233. @property (nonatomic, copy)NSString *robotMsgId;
  234. /**
  235. xbot机器人置信度
  236. */
  237. @property (nonatomic, copy)NSString *confidence;
  238. /**
  239. xbot机器人访客问题
  240. */
  241. @property (nonatomic, copy)NSString *ori_question;
  242. /**
  243. xbot机器人标准问题
  244. */
  245. @property (nonatomic, copy)NSString *std_question;
  246. /**
  247. xbot机器人sessionid
  248. */
  249. @property (nonatomic, copy)NSString *robotSessionId;
  250. /**
  251. xbot机器人任务场景问答-答案
  252. */
  253. @property (nonatomic, copy)NSString *robotFlowList;
  254. /**
  255. xbot机器人任务场景问答-标题
  256. */
  257. @property (nonatomic, copy)NSString *robotFlowTip;
  258. /**
  259. xbot机器人任务场景问答-标题
  260. */
  261. @property (nonatomic, copy)NSString *robotFlowType;
  262. /**
  263. xbot机器人点选样式
  264. */
  265. @property (nonatomic, copy)NSString *robotFlowsStyle;
  266. /**
  267. 富文本消息
  268. */
  269. @property (nonatomic, strong)CustomRichText *richText;
  270. /**
  271. 富文本消息 建议使用 CustomRichText
  272. richTextUrl : 点击跳转地址
  273. richTextPicUrl : 图片地址
  274. richTextTitle : 标题
  275. richTextDescription: 描述内容
  276. */
  277. @property (nonatomic, copy)NSString *richTextUrl;
  278. @property (nonatomic, copy)NSString *richTextPicUrl;
  279. @property (nonatomic, copy)NSString *richTextTitle;
  280. @property (nonatomic, copy)NSString *richTextDescription;
  281. /**
  282. 卡片消息
  283. */
  284. @property (nonatomic, strong)CustomCardMessage *cardMessage;
  285. /**
  286. 卡片消息 建议使用 CustomCardMessage
  287. cardImage : 图片地址
  288. cardHeader : 标题
  289. cardSubhead : 描述内容
  290. cardPrice : 价格
  291. cardUrl : 点击跳转地址
  292. */
  293. @property (nonatomic, copy)NSString *cardImage;
  294. @property (nonatomic, copy)NSString *cardHeader;
  295. @property (nonatomic, copy)NSString *cardSubhead;
  296. @property (nonatomic, copy)NSString *cardPrice;
  297. @property (nonatomic, copy)NSString *cardUrl;
  298. /**
  299. 新卡片消息
  300. */
  301. @property (nonatomic, copy)NSString *cardInfo_New;
  302. /**
  303. 新卡片详情
  304. */
  305. @property (nonatomic, copy)NSString *cardMessage_New;
  306. /**
  307. 新卡片详情
  308. */
  309. @property (nonatomic, strong)NSDictionary *cardMsg_NewDict;
  310. /*
  311. 读取状态(目前在xbotcard先使用)
  312. **/
  313. @property (nonatomic, assign) QMMessageCardReadType cardType;
  314. /*
  315. xbot机器人点赞文案
  316. **/
  317. @property (nonatomic, copy)NSString *fingerUp;
  318. /*
  319. xbot机器人点赞文案
  320. **/
  321. @property (nonatomic, copy)NSString *fingerDown;
  322. //@property (nonatomic, copy)NSString *from;
  323. //
  324. //@property (nonatomic, copy)NSString *tonotify;
  325. //
  326. //@property (nonatomic, copy)NSString *type;
  327. //
  328. //@property (nonatomic, copy)NSString *hideTime;
  329. - (void)setValue:(id)value forUndefinedKey:(NSString *)key;
  330. @end