uniapp微信H5分享踩坑记录

辣鸡微信文档

兑换access_token :https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

兑换ticket:

https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi

找了好几天的报错,这个type搞错了。离谱。确保type=jsapi。

npm install weixin-js-sdk

前端代码:

import weixin from 'weixin-js-sdk'

wechatShare(shareData) { 
        const sign_url = location.href.split('#')[0];
        
      //这是后端写的接口,需要用后端返回内容配置微信分享的参数
      http(api,{url:sign_url}).then((res)=>{ 
          console.log('res:',res)
          let info = res.data;
         const jsApiList=[
               'checkJsApi', //检测接口权限    
                  'updateTimelineShareData',
                  'updateAppMessageShareData'
                ];
          weixin.config({
              debug:false,
              appId:info.appId,
              timestamp:info.timestamp,
              nonceStr:info.nonceStr,
              signature:info.signature,
              jsApiList
          });
         
           // 判断客户端是否支持指定js的接口
           weixin.checkJsApi({
             jsApiList,
             success: function (res) {
               // return res
               console.log('判断客户端支持js接口', res)
             },
           })
           weixin.ready(() => {
                   var title = shareData.title
                   var imgUrl = shareData.image
                   var description = shareData.desc
                   var link = shareData.url
                   var tempParam = {
                     title: title,
                     desc: description,
                     link: sign_url,
                     imgUrl: imgUrl,
                     success: (res) => {
                       console.log(res) 
                     },
                     cancel: function (res) {
                       console.log('分享失败', res)
                     },
                   }
                var tempParamLine = {
                  title: title,
                  link: sign_url,
                  imgUrl: imgUrl,
                  success: (res) => {
                    console.log(res) 
                  },
                  cancel: function (res) {
                    console.log('分享失败', res)
                  },
                }
                weixin.updateAppMessageShareData(tempParam)
                weixin.updateTimelineShareData(tempParamLine)
           });
           weixin.error(function(res){
             console.log(res.errMsg);
           })
      }).catch(rej=>{
          console.log('rej:',rej)
      })
     
    },

页面直接调用就好。

  • 28
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值