share-handler.js 1.08 KB
import {get, first} from 'lodash';

const DEFAULT_SHARE_IMAGE = 'http://static.yohobuy.com/m/v1/img/touch/apple-touch-icon-144x144-precomposed-new.png';

const getDetailShareData = (article) => {
  let shareImage = '';
  let desc = '';

  if (article.sort === 2) {
    shareImage = article.coverImage;
    desc = article.articleTitle;
  } else {
    let blockList = get(article, 'blockList', []);

    shareImage = get(first(blockList.filter(block => block.templateKey === 'image')), 'contentData', '');
    desc = get(blockList.filter(block => block.templateKey === 'text'), '[0].contentData', '');
  }

  if (shareImage && shareImage.indexOf('//') >= 0) {
    shareImage = `${window ? window.location.protocol : ''}//${shareImage.split('//')[1]}`;
  }

  return {
    title: `@${article.authorName} 在有货社区上发了一篇笔记,快点开看看!`,
    imgUrl: get(shareImage.split('?'), '[0]') || DEFAULT_SHARE_IMAGE,
    link: `${window ? window.location.origin : ''}/grass/article/share/${article.articleId}`,
    desc,
    hideType: ['7', '8', '9']
  };
}

export {
  getDetailShareData
};