收藏
回答

小程序转发好友预览正常好友那里封面空白不显示?

开启后,微信开放平台将对该应用的分享请求进行签名校验,验签失败的分享请求将被降级 是封面没有显示的最终原因 手欠开启了

最后一次编辑于  06-18
回答关注问题邀请回答
收藏

3 个回答

  • 社区技术运营专员--许涛
    社区技术运营专员--许涛
    06-22

    你好,安卓,iOS还是鸿蒙

    06-22
    有用
    回复
  • 莱顿
    莱顿
    06-18
    const { withDefaultShare, DEFAULT_SHARE_TITLE } = require('../../utils/pageShare');
    const { SHARE_COVER_STATIC_HTTPS_URL } = require('../../constants/shareCover');
    
    
    Page(withDefaultShare({
    
      onShareAppMessage() {
        return {
          title: DEFAULT_SHARE_TITLE,
          path: '/pages/index/index',
          imageUrl: SHARE_COVER_STATIC_HTTPS_URL
        };
      },
    
    const SHARE_COVER_STATIC_HTTPS_URL =
      'https://cloud1-******-******.tcloudbaseapp.com/assets/share-cover.png';
    
    用户点分享
      → wrapShareCallback 调用 index 的 onShareAppMessage()
      → ensureShareCover(返回值, this)
      → 返回最终给微信的对象
    
    function ensureShareCover(payload, pageInstance) {
      const base = payload && typeof payload === 'object' ? { ...payload } : {};
      if (!base.title) {
        base.title = DEFAULT_SHARE_TITLE;
      }
      if (!base.path) {
        base.path = buildSharePath(pageInstance);
      }
      if (!isValidShareImageUrl(base.imageUrl)) {
        base.imageUrl = getDefaultShareImage();
      }
      base.imageUrl = getShareImageForSend(base.imageUrl);
      console.log('[share]', base.imageUrl);
    
    
      return base;
    }
    
    
    function wrapShareCallback(original) {
      if (typeof original === 'function') {
        return function shareWrapped(...args) {
          const res = original.apply(this, args);
          const merge = (payload) => ensureShareCover(payload, this);
          if (res && typeof res.then === 'function') {
            return res.then(merge);
          }
          return merge(res);
        };
      }
      ...
    }
    
    function getShareImageForSend(url) {
      const s = (url && typeof url === 'string') ? url.trim() : '';
    
    
      if (/^https:\/\//i.test(s) && isValidShareImageUrl(s)) {
        return s;
      }
    
      onLoad() {
        privacy.syncPrivacyReady(this);
        const app = getApp();
        if (app._shareCoverPromise) {
          app._shareCoverPromise.catch(() => {});
        }
    j接收方无错误日志  发布版和体验版 情况一样
    
    06-18
    有用
    回复
  • 智能回答 智能回答 本次回答由AI生成
    06-18
    有用
    回复 1
    • 莱顿
      莱顿
      06-18
      const { withDefaultShare, DEFAULT_SHARE_TITLE } = require('../../utils/pageShare');
      const { SHARE_COVER_STATIC_HTTPS_URL } = require('../../constants/shareCover');




      Page(withDefaultShare({


        onShareAppMessage() {
          return {
            title: DEFAULT_SHARE_TITLE,
            path: '/pages/index/index',
            imageUrl: SHARE_COVER_STATIC_HTTPS_URL
          };
        },


      const SHARE_COVER_STATIC_HTTPS_URL =
        'https://cloud1-******-******.tcloudbaseapp.com/assets/share-cover.png';


      用户点分享
        → wrapShareCallback 调用 index 的 onShareAppMessage()
        → ensureShareCover(返回值, this)
        → 返回最终给微信的对象


      function ensureShareCover(payload, pageInstance) {
        const base = payload && typeof payload === 'object' ? { ...payload } : {};
        if (!base.title) {
          base.title = DEFAULT_SHARE_TITLE;
        }
        if (!base.path) {
          base.path = buildSharePath(pageInstance);
        }
        if (!isValidShareImageUrl(base.imageUrl)) {
          base.imageUrl = getDefaultShareImage();
        }
        base.imageUrl = getShareImageForSend(base.imageUrl);
        console.log('[share]', base.imageUrl);




        return base;
      }




      function wrapShareCallback(original) {
        if (typeof original === 'function') {
          return function shareWrapped(...args) {
            const res = original.apply(this, args);
            const merge = (payload) => ensureShareCover(payload, this);
            if (res && typeof res.then === 'function') {
              return res.then(merge);
            }
            return merge(res);
          };
        }
        ...
      }


      function getShareImageForSend(url) {
        const s = (url && typeof url === 'string') ? url.trim() : '';




        if (/^https:\/\//i.test(s) && isValidShareImageUrl(s)) {
          return s;
        }


        onLoad() {
          privacy.syncPrivacyReady(this);
          const app = getApp();
          if (app._shareCoverPromise) {
            app._shareCoverPromise.catch(() => {});
          }
      j接收方无错误日志 发布版和体验版 情况一样
      06-18
      回复
登录 后发表内容