NIMSessionConfig.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. //
  2. // NIMSessionConfig.h
  3. // NIMKit
  4. //
  5. // Created by amao on 8/12/15.
  6. // Copyright (c) 2015 NetEase. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import "NIMMediaItem.h"
  10. #import "NIMCellConfig.h"
  11. #import "NIMKitMessageProvider.h"
  12. #import "NIMInputBarItemType.h"
  13. #import "YOUPAINIMInputEmoticonManager.h"
  14. @protocol NIMSessionConfig <NSObject>
  15. @optional
  16. /**
  17. * 输入按钮类型,请填入 NIMInputBarItemType 枚举,按顺序排列。不实现则按默认排列。
  18. */
  19. - (NSArray<NSNumber *> *)inputBarItemTypes;
  20. /**
  21. * 可以显示在点击输入框“+”按钮之后的多媒体按钮
  22. */
  23. - (NSArray<NIMMediaItem *> *)mediaItems;
  24. /**
  25. * 禁用贴图表情
  26. */
  27. - (NSArray<NIMInputEmoticonCatalog *> *)charlets;
  28. /**
  29. * 是否禁用输入控件
  30. */
  31. - (BOOL)disableInputView;
  32. /*
  33. * 是否禁用音频轮播
  34. */
  35. - (BOOL)disableAutoPlayAudio;
  36. /**
  37. * 是否禁掉语音未读红点
  38. */
  39. - (BOOL)disableAudioPlayedStatusIcon;
  40. /**
  41. * 是否禁用在贴耳的时候自动切换成听筒模式
  42. */
  43. - (BOOL)disableProximityMonitor;
  44. /**
  45. * 在进入会话的时候是否禁止自动去拿历史消息,默认打开
  46. */
  47. - (BOOL)autoFetchWhenOpenSession;
  48. /**
  49. * 会话页是否禁止显示新到的消息,用于显示消息历史的特定会话页,默认不禁止
  50. */
  51. - (BOOL)disableReceiveNewMessages;
  52. /**
  53. * 是否需要处理已读回执
  54. *
  55. */
  56. - (BOOL)shouldHandleReceipt;
  57. /**
  58. * 这次消息时候需要做已读回执的处理
  59. *
  60. * @param message 消息
  61. *
  62. * @return 是否需要
  63. */
  64. - (BOOL)shouldHandleReceiptForMessage:(NIMMessage *)message;
  65. /**
  66. * 是否禁用进入会话自动标记会话已读,如果禁用,请自行调用 SDK markAllMessagesReadInSession 接口维护未读数。
  67. *
  68. */
  69. - (BOOL)disableAutoMarkMessageRead;
  70. /**
  71. * 输入框是否禁用 @ 功能
  72. *
  73. */
  74. - (BOOL)disableAt;
  75. /**
  76. * 录音类型
  77. *
  78. * @return 录音类型
  79. */
  80. - (NIMAudioType)recordType;
  81. /**
  82. * 消息数据提供器
  83. *
  84. * @return 消息数据提供者,如果不实现则读取本地聊天记录
  85. */
  86. - (id<NIMKitMessageProvider>)messageDataProvider;
  87. /**
  88. * 是否开启机器人
  89. */
  90. - (BOOL)enableRobot;
  91. /**
  92. * 会话聊天背景更换接口
  93. */
  94. - (UIImage *)sessionBackgroundImage;
  95. @end