您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

settings_menu.js 2.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. var SettingsMenu = (function(my) {
  2. var email = '';
  3. var displayName = '';
  4. var userId;
  5. if(supportsLocalStorage()) {
  6. if(!window.localStorage.jitsiMeetId) {
  7. window.localStorage.jitsiMeetId = generateUniqueId();
  8. console.log("generated id", window.localStorage.jitsiMeetId);
  9. }
  10. userId = window.localStorage.jitsiMeetId || '';
  11. email = window.localStorage.email || '';
  12. displayName = window.localStorage.displayname || '';
  13. } else {
  14. console.log("local storage is not supported");
  15. userId = generateUniqueId();
  16. }
  17. my.update = function() {
  18. var newDisplayName = Util.escapeHtml($('#setDisplayName').get(0).value);
  19. if(newDisplayName) {
  20. displayName = newDisplayName;
  21. connection.emuc.addDisplayNameToPresence(displayName);
  22. window.localStorage.displayname = displayName;
  23. }
  24. var newEmail = Util.escapeHtml($('#setEmail').get(0).value);
  25. connection.emuc.addEmailToPresence(newEmail);
  26. email = newEmail;
  27. window.localStorage.email = newEmail;
  28. connection.emuc.sendPresence();
  29. Avatar.setUserAvatar(connection.emuc.myroomjid, email);
  30. };
  31. my.isVisible = function() {
  32. return $('#settingsmenu').is(':visible');
  33. };
  34. my.getUID = function() {
  35. return userId;
  36. };
  37. my.getEmail = function() {
  38. return email;
  39. };
  40. my.getDisplayName = function() {
  41. return displayName;
  42. };
  43. my.setDisplayName = function(newDisplayName) {
  44. displayName = newDisplayName;
  45. window.localStorage.displayname = displayName;
  46. $('#setDisplayName').get(0).value = displayName;
  47. };
  48. function supportsLocalStorage() {
  49. try {
  50. return 'localStorage' in window && window.localStorage !== null;
  51. } catch (e) {
  52. console.log("localstorage is not supported");
  53. return false;
  54. }
  55. }
  56. function generateUniqueId() {
  57. function _p8() {
  58. return (Math.random().toString(16)+"000000000").substr(2,8);
  59. }
  60. return _p8() + _p8() + _p8() + _p8();
  61. }
  62. $(document).bind('displaynamechanged', function(event, peerJid, newDisplayName) {
  63. if(peerJid === 'localVideoContainer' ||
  64. peerJid === connection.emuc.myroomjid) {
  65. SettingsMenu.setDisplayName(newDisplayName);
  66. }
  67. });
  68. return my;
  69. }(SettingsMenu || {}));