m-share.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. /**
  2. * @fileOverview
  3. *
  4. * 查看分享文件
  5. *
  6. * @author: techird
  7. * @copyright: Baidu FEX, 2014
  8. */
  9. KityMinder.registerUI('menu/share/m-share', function (minder) {
  10. var $doc = minder.getUI('doc');
  11. function loadShareDoc() {
  12. var pattern = /(?:shareId|share_id)=(\w+)([&#]|$)/;
  13. var match = pattern.exec(window.location) || pattern.exec(document.referrer);
  14. if (!match) return Promise.resolve(null);
  15. var shareId = match[1];
  16. function renderShareData(data) {
  17. if (data.error) {
  18. window.alert(data.error);
  19. window.location.href = 'index.html';
  20. return;
  21. }
  22. var content = data.shareMinder.data;
  23. return $doc.load({
  24. source: 'share',
  25. content: content,
  26. protocol: 'json',
  27. saved: true,
  28. ownerId: data.uid,
  29. ownerName: data.uname
  30. }).then(function(doc) {
  31. var $title = minder.getUI('topbar/title');
  32. });
  33. }
  34. $('#kityminder').addClass('loading');
  35. return $.pajax({
  36. url: 'http://naotu.baidu.com/share.php', //'http://naotu.baidu.com/mongo.php',
  37. data: {
  38. action: 'find',
  39. id: shareId
  40. },
  41. dataType: 'json'
  42. }).then(renderShareData)['catch'](function(e) {
  43. window.alert('请求分享文件失败,请重试!');
  44. }).then(function() {
  45. $(minder.getRenderTarget()).removeClass('loading');
  46. minder.execCommand('hand');
  47. $('#kityminder').removeClass('loading');
  48. });
  49. }
  50. minder.on('dblclick', function() {
  51. minder.execCommand('camera', minder.getRoot(), 500);
  52. });
  53. return {
  54. ready: loadShareDoc()
  55. };
  56. });