WebIM.js 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. import websdk from "../../hxChatSDK/Easemob-chat-4.1.7";
  2. import config from "./WebIMConfig";
  3. console.group = console.group || {};
  4. console.groupEnd = console.groupEnd || {};
  5. var window = {};
  6. let WebIM = window.WebIM = uni.WebIM = websdk;
  7. window.WebIM.config = config;
  8. WebIM.isDebug = function (option) {
  9. if (option) {
  10. WebIM.config.isDebug = option.isDebug;
  11. openDebug(WebIM.config.isDebug);
  12. }
  13. function openDebug(value) {
  14. function ts() {
  15. var d = new Date();
  16. var Hours = d.getHours(); // 获取当前小时数(0-23)
  17. var Minutes = d.getMinutes(); // 获取当前分钟数(0-59)
  18. var Seconds = d.getSeconds(); // 获取当前秒数(0-59)
  19. return (Hours < 10 ? "0" + Hours : Hours) + ":" + (Minutes < 10 ? "0" + Minutes : Minutes) + ":" + (Seconds < 10 ? "0" + Seconds : Seconds) + " ";
  20. }
  21. }
  22. };
  23. /**
  24. * Set autoSignIn as true (autoSignInName and autoSignInPwd are configured below),
  25. * You can auto signed in each time when you refresh the page in dev model.
  26. */
  27. WebIM.parseEmoji = function (msg) {
  28. if (typeof WebIM.Emoji === "undefined" || typeof WebIM.Emoji.map === "undefined") {
  29. return msg;
  30. }
  31. var emoji = WebIM.Emoji,
  32. reg = null;
  33. var msgList = [];
  34. var objList = [];
  35. for (var face in emoji.map) {
  36. if (emoji.map.hasOwnProperty(face)) {
  37. while (msg.indexOf(face) > -1) {
  38. msg = msg.replace(face, "^" + emoji.map[face] + "^");
  39. }
  40. }
  41. }
  42. var ary = msg.split("^");
  43. var reg = /^e.*g$/;
  44. for (var i = 0; i < ary.length; i++) {
  45. if (ary[i] != "") {
  46. msgList.push(ary[i]);
  47. }
  48. }
  49. for (var i = 0; i < msgList.length; i++) {
  50. if (reg.test(msgList[i])) {
  51. var obj = {};
  52. obj.data = msgList[i];
  53. obj.type = "emoji";
  54. objList.push(obj);
  55. } else {
  56. var obj = {};
  57. obj.data = msgList[i];
  58. obj.type = "txt";
  59. objList.push(obj);
  60. }
  61. }
  62. return objList;
  63. };
  64. WebIM.time = function () {
  65. var date = new Date();
  66. var Hours = date.getHours();
  67. var Minutes = date.getMinutes();
  68. var Seconds = date.getSeconds();
  69. var time = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate() + " " + (Hours < 10 ? "0" + Hours : Hours) + ":" + (Minutes < 10 ? "0" + Minutes : Minutes) + ":" + (Seconds < 10 ? "0" + Seconds : Seconds);
  70. return time;
  71. };
  72. WebIM.Emoji = {
  73. path: "../static/faces/",
  74. map: {
  75. "[):]": "ee_1.png",
  76. "[:D]": "ee_2.png",
  77. "[;)]": "ee_3.png",
  78. "[:-o]": "ee_4.png",
  79. "[:p]": "ee_5.png",
  80. "[(H)]": "ee_6.png",
  81. "[:@]": "ee_7.png",
  82. "[:s]": "ee_8.png",
  83. "[:$]": "ee_9.png",
  84. "[:(]": "ee_10.png",
  85. "[:'(]": "ee_11.png",
  86. "[<o)]": "ee_12.png",
  87. "[(a)]": "ee_13.png",
  88. "[8o|]": "ee_14.png",
  89. "[8-|]": "ee_15.png",
  90. "[+o(]": "ee_16.png",
  91. "[|-)]": "ee_17.png",
  92. "[:|]": "ee_18.png",
  93. "[*-)]": "ee_19.png",
  94. "[:-#]": "ee_20.png",
  95. "[^o)]": "ee_21.png",
  96. "[:-*]": "ee_22.png",
  97. "[8-)]": "ee_23.png",
  98. "[del]": "btn_del.png",
  99. "[(|)]": "ee_24.png",
  100. "[(u)]": "ee_25.png",
  101. "[(S)]": "ee_26.png",
  102. "[(*)]": "ee_27.png",
  103. "[(#)]": "ee_28.png",
  104. "[(R)]": "ee_29.png",
  105. "[({)]": "ee_30.png",
  106. "[(})]": "ee_31.png",
  107. "[(k)]": "ee_32.png",
  108. "[(F)]": "ee_33.png",
  109. "[(W)]": "ee_34.png",
  110. "[(D)]": "ee_35.png"
  111. }
  112. };
  113. WebIM.EmojiObj = {
  114. // 相对 emoji.js 路径
  115. path: "../static/faces/",
  116. map1: {
  117. "[):]": "ee_1.png",
  118. "[:D]": "ee_2.png",
  119. "[;)]": "ee_3.png",
  120. "[:-o]": "ee_4.png",
  121. "[:p]": "ee_5.png",
  122. "[(H)]": "ee_6.png",
  123. "[:@]": "ee_7.png"
  124. },
  125. map2: {
  126. "[:s]": "ee_8.png",
  127. "[:$]": "ee_9.png",
  128. "[:(]": "ee_10.png",
  129. "[:'(]": "ee_11.png",
  130. "[<o)]": "ee_12.png",
  131. "[(a)]": "ee_13.png",
  132. "[8o|]": "ee_14.png"
  133. },
  134. map3: {
  135. "[8-|]": "ee_15.png",
  136. "[+o(]": "ee_16.png",
  137. "[|-)]": "ee_17.png",
  138. "[:|]": "ee_18.png",
  139. "[*-)]": "ee_19.png",
  140. "[:-#]": "ee_20.png",
  141. "[del]": "del.png"
  142. },
  143. map4: {
  144. "[^o)]": "ee_21.png",
  145. "[:-*]": "ee_22.png",
  146. "[8-)]": "ee_23.png",
  147. "[(|)]": "ee_24.png",
  148. "[(u)]": "ee_25.png",
  149. "[(S)]": "ee_26.png",
  150. "[(*)]": "ee_27.png"
  151. },
  152. map5: {
  153. "[(#)]": "ee_28.png",
  154. "[(R)]": "ee_29.png",
  155. "[({)]": "ee_30.png",
  156. "[(})]": "ee_31.png",
  157. "[(k)]": "ee_32.png",
  158. "[(F)]": "ee_33.png",
  159. "[(W)]": "ee_34.png",
  160. "[(D)]": "ee_35.png"
  161. },
  162. map6: {
  163. "[del]": "del.png"
  164. }
  165. };
  166. // uni.connectSocket({url: WebIM.config.xmppURL, method: "GET"})
  167. WebIM.conn = new WebIM.connection({
  168. appKey: WebIM.config.appkey,
  169. url: WebIM.config.xmppURL,
  170. apiUrl: WebIM.config.apiURL,
  171. });
  172. module.exports = {
  173. "default": WebIM
  174. };