vue解决微信防盗链接图片无法展示问题

vue解决微信防盗链接图片无法展示问题

1.需求背景
  • 最近在vue项目的页面中使用到了微信公众号项目的图片,然后在另一个项目中引用时出现了防盗链接的提示,导致图片本身的内容无法展示。
    在这里插入图片描述
解决方案
  • 防盗链这个东西本质上其实也是为了在一定程度上保护知识产权,毕竟原创本来就是一键不容易的事。

  • 其实如果只是针对某一张或少数几张图片,完全可以先将图片下载下来,然后再本地引用或者再上传到自己的服务器就解决了。

  • 另外的简单的方案如下(如果只是针对某一张或有限的几张图片,那么推荐第一种;如果和作者一样图片在富文本中那么推荐第二种。):

  • // 这里用到的referer是用来防止 CORS(跨站请求伪造)的一种最常见及有效的方式。对于自身服务器,通过客户端发来的请求中带有的referer信息,可以判断该请求的来源。
    
    // 1.在要引用的图片标签上修改referrerPolicy属性:
    <img src="xxxx.jpg" referrerPolicy="no-referrer" />
        
    // 2.在根页面index.html文件新增标签:
    <meta name="referrer" content="never">
    
    
  • 其他的方法如:在图片链接url上加上前缀http://read.html5.qq.com/image?src=forum&q=5&r=0&imgflag=7&imageUrl=也是可行的。

  • 解决。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Vue中实现微信分享链需要以下步骤: 1. 首先,你需要在微信开放平台上注册一个公众号,并获取到对应的AppID。 2. 在Vue项目的入口文件中引入微信JavaScript SDK,可以通过使用`<script>`标签直引入,或者通过npm安装相关的包。 3. 在需要分享的页面中,可以在`created`或`mounted`钩子中调用微信提供的API,获取当前页面的URL,并配置微信分享所需的参数。例如: ```javascript import wx from 'weixin-js-sdk'; export default { mounted() { this.getWechatConfig(); }, methods: { getWechatConfig() { // 发起请求,获取后端签名 axios.get('/api/getWechatConfig', { params: { url: window.location.href.split('#')[0] } }).then(response => { const { appId, timestamp, nonceStr, signature } = response.data; // 配置微信分享参数 wx.config({ debug: false, // 开启调试模式 appId: appId, timestamp: timestamp, nonceStr: nonceStr, signature: signature, jsApiList: ['onMenuShareAppMessage', 'onMenuShareTimeline'] // 需要使用的API列表 }); wx.ready(() => { // 配置分享给朋友 wx.onMenuShareAppMessage({ title: '分享标题', desc: '分享描述', link: window.location.href, imgUrl: '分享图片', success: () => {}, cancel: () => {} }); // 配置分享到朋友圈 wx.onMenuShareTimeline({ title: '分享标题', link: window.location.href, imgUrl: '分享图片', success: () => {}, cancel: () => {} }); }); }).catch(error => { console.error(error); }); } } } ``` 4. 最后,通过后端口获取微信配置信息,其中`url`参数需要替换成当前页面的URL,然后将获取到的配置信息返回给前端。在前端通过微信提供的`wx.config()`方法进行配置,然后在`wx.ready()`方法中配置分享给朋友和分享到朋友圈的行为。 这样,在Vue中实现微信分享链的功能就完成了。当用户访问分享出去的链时,会根据配置信息弹出微信分享的对话框,用户可以选择分享给好友或分享到朋友圈。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木屋x

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值