QYEvaluation.h 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. //
  2. // QYEvaluation.h
  3. // YSFSDK
  4. //
  5. // Created by Netease on 2019/6/6.
  6. // Copyright © 2019 Netease. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. /**
  10. * 满意度评价模式
  11. */
  12. typedef NS_ENUM(NSUInteger, QYEvaluationMode) {
  13. QYEvaluationModeTwoLevel = 2, //模式一(二级满意度):满意/不满意
  14. QYEvaluationModeThreeLevel = 3, //模式二(三级满意度):满意/一般/不满意
  15. QYEvaluationModeFourLevel = 4, //模式三(四级满意度):非常满意/满意/不满意/非常不满意
  16. QYEvaluationModeFiveLevel = 5, //模式四(五级满意度):非常满意/满意/一般/不满意/非常不满意
  17. };
  18. /**
  19. * 满意度评价选项
  20. */
  21. typedef NS_ENUM(NSUInteger, QYEvaluationOption) {
  22. QYEvaluationOptionVerySatisfied = 1, //非常满意
  23. QYEvaluationOptionSatisfied, //满意
  24. QYEvaluationOptionOrdinary, //一般
  25. QYEvaluationOptionDissatisfied, //不满意
  26. QYEvaluationOptionVeryDissatisfied, //非常不满意
  27. };
  28. /**
  29. * 满意度评价结果返回值
  30. */
  31. typedef NS_ENUM(NSInteger, QYEvaluationState) {
  32. QYEvaluationStateSuccessFirst = 1, //成功-首次评价
  33. QYEvaluationStateSuccessRevise, //成功-修改评价
  34. QYEvaluationStateFailParamError, //失败-发送参数错误
  35. QYEvaluationStateFailNetError, //失败-网络错误
  36. QYEvaluationStateFailNetTimeout, //失败-网络超时
  37. QYEvaluationStateFailTimeout, //失败-评价超时
  38. QYEvaluationStateFailUnknown, //失败-未知原因不可评价
  39. };
  40. /**
  41. * 满意度评价是否解决选择项
  42. */
  43. typedef NS_ENUM(NSInteger, QYEvaluationResolveStatus) {
  44. QYEvaluationResolveStatusNone = 0,
  45. QYEvaluationResolveStatusResolved = 1,
  46. QYEvaluationResolveStatusUnsolved = 2,
  47. };
  48. /**
  49. * 满意度选项数据
  50. */
  51. @interface QYEvaluationOptionData : NSObject
  52. /**
  53. * 选项类型
  54. */
  55. @property (nonatomic, assign) QYEvaluationOption option;
  56. /**
  57. * 选项名称
  58. */
  59. @property (nonatomic, copy) NSString *name;
  60. /**
  61. * 选项分值
  62. */
  63. @property (nonatomic, assign) NSInteger score;
  64. /**
  65. * 标签
  66. */
  67. @property (nonatomic, strong) NSArray <NSString *> *tagList;
  68. /**
  69. * 标签是否必填
  70. */
  71. @property (nonatomic, assign) BOOL tagRequired;
  72. /**
  73. * 备注是否必填
  74. */
  75. @property (nonatomic, assign) BOOL remarkRequired;
  76. @end
  77. /**
  78. * 满意度评价结果
  79. */
  80. @interface QYEvaluactionResult : NSObject
  81. /**
  82. * 评价会话ID,不可为空
  83. */
  84. @property (nonatomic, assign) long long sessionId;
  85. /**
  86. * 评价模式,透传 QYEvaluactionData.mode(提交机器人评价结果时此项必须)
  87. */
  88. @property (nonatomic, assign) QYEvaluationMode mode;
  89. /**
  90. * 选中的选项,不可为空
  91. */
  92. @property (nonatomic, strong) QYEvaluationOptionData *selectOption;
  93. /**
  94. * 选中的标签,若selectOption的tagRequired必填,则selectTags不可为空
  95. */
  96. @property (nonatomic, strong) NSArray <NSString *> *selectTags;
  97. /**
  98. * 评价备注,若selectOption的remarkRequired必填,则remarkString不可为空
  99. */
  100. @property (nonatomic, copy) NSString *remarkString;
  101. /**
  102. * 是否解决,若resolvedRequired必填,则resolveStatus不可为None
  103. */
  104. @property (nonatomic, assign) QYEvaluationResolveStatus resolveStatus;
  105. @end
  106. /**
  107. * 满意度评价数据
  108. */
  109. @interface QYEvaluactionData : NSObject
  110. /**
  111. * 评价页面URL,对应“管理后台-评价样式-新页面”填写的字符串
  112. */
  113. @property (nonatomic, copy) NSString *urlString;
  114. /**
  115. * 评价会话ID,提交评价结果时需透传
  116. */
  117. @property (nonatomic, assign) long long sessionId;
  118. /**
  119. * 评价模式
  120. */
  121. @property (nonatomic, assign) QYEvaluationMode mode;
  122. /**
  123. * 选项数据
  124. */
  125. @property (nonatomic, strong) NSArray <QYEvaluationOptionData *> *optionList;
  126. /**
  127. * 是否向访客收集“您的问题是否解决”
  128. */
  129. @property (nonatomic, assign) BOOL resolvedEnabled;
  130. /**
  131. * “您的问题是否解决”是否必填
  132. */
  133. @property (nonatomic, assign) BOOL resolvedRequired;
  134. /**
  135. * 上次评价结果
  136. */
  137. @property (nonatomic, strong) QYEvaluactionResult *lastResult;
  138. @end