text-manager.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. export default class TextManager {
  2. constructor(page) {
  3. this._page = page;
  4. }
  5. /**
  6. * 接收到消息时,通过UI类的管理进行渲染
  7. * @param msg 接收到的消息,这个对象应是由 im-operator.js 中的createNormalChatItem()方法生成的。
  8. */
  9. showMsg({msg}) {
  10. //UI类是用于管理UI展示的类。
  11. console.log(msg,2321312312);
  12. this._page.UI.updateViewWhenReceive(msg);
  13. }
  14. /**
  15. * 发送消息时,通过UI类来管理发送状态的切换和消息的渲染
  16. * @param content 输入组件获取到的原始文本信息
  17. * @param type
  18. */
  19. sendOneMsg({content, type}) {
  20. //渲染页面
  21. this._page.UI.showItemForMoment(this._page.imOperator.createNormalChatItem({
  22. type,
  23. content
  24. }), (itemIndex) => {
  25. console.log(itemIndex,123) //发送
  26. this._page.sendMsg({
  27. content: this._page.imOperator.createChatItemContent({type, content}),
  28. itemIndex
  29. });
  30. });
  31. }
  32. resend({type, content, duration, itemIndex}) {
  33. this._page.sendMsg({
  34. content: this._page.imOperator.createChatItemContent({
  35. type: type,
  36. content: content,
  37. duration: duration
  38. }),
  39. itemIndex,
  40. success: (msg) => {
  41. this._page.UI.updateListViewBySort();
  42. }
  43. });
  44. }
  45. }