收藏
回答

vue3 使用JS-SDK ,调用分享成功 但是分享还是纯链接?

https://sts.sumecdtx.com/liveuser/live?roomNo=082750ECBE6A49309D2CAD1328846A8E 这是地址

// src/hooks/useWechatShare.ts

import { ref, onMounted } from 'vue'

import { getWechatSignature } from '@/api/index'


// 微信分享配置接口

interface WechatShareConfig {

  title: string

  desc?: string

  link?: string

  imgUrl?: string


  timelineTitle?: string

  timelineImgUrl?: string

}


export function useWechatShare(initialConfig: WechatShareConfig) {

  const isWechatReady = ref(false)


  // 获取签名信息并初始化微信配置

  const initWechatConfig = async () => {

    try {

      const url = window.location.href.split('#')[0]

      const res = await getWechatSignature({ url })

      const { signature, nonceStr, timestamp, appId } = res.result


      wx.config({

        debug: false,

        appId,

        timestamp,

        nonceStr,

        signature,

        jsApiList: [

          'updateAppMessageShareData',

          'updateTimelineShareData',

          'showMenuItems'

        ]

      })


      wx.ready(() => {

        isWechatReady.value = true

        console.log('微信 JSSDK 初始化完成')

        wx.updateAppMessageShareData({

          title: `${initialConfig.title}测试`,

          desc: initialConfig.desc || '',

          link: initialConfig.link || window.location.href,

          imgUrl: initialConfig.imgUrl || '',

          success: () => {

            console.log('自定义分享给朋友信息成功')

          },

          fail: (err: any) => {

            console.error('分享给朋友失败:', err)

          }

        })

        wx.updateTimelineShareData({

          title: `${initialConfig.timelineTitle || initialConfig.title} 测试`,

          link: initialConfig.link || window.location.href,

          imgUrl: initialConfig.timelineImgUrl || initialConfig.imgUrl || '',

          success: () => {

            console.log('自定义分享到朋友圈信息成功')

          },

          fail: (err: any) => {

            console.error('分享到朋友圈失败:', err)

          }

        })

        wx.hideMenuItems({

          menuList: ["menuItem:share:qq"]

        });

      })


      wx.error((err: any) => {

        console.error('微信 config 验证失败:', err)

      })

    } catch (error) {

      console.error('获取微信签名失败:', error)

    }

  }



  onMounted(() => {

    if (typeof wx !== 'undefined') {

      initWechatConfig()

    } else {

      console.warn('微信 SDK 未加载')

    }

  })


  return {}

}

回答关注问题邀请回答
收藏

1 个回答

  • 社区技术运营专员--许涛
    社区技术运营专员--许涛
    2天前

    你好,需要使用卡片链接进入分享

    2天前
    有用
    回复 1
    • 吴雨
      吴雨
      发表于移动端
      1天前
      如何使用卡片链jie
      1天前
      回复
登录 后发表内容