微信分享功能_微信分享链接点开是图片

微信分享功能_微信分享链接点开是图片微信app右上角自带分享功能–不论是微信公众号还是微信小程序或者是用微信打开的别的链接,用户都可以进行微信分享出去,对于自定义微信分享功能会和默认分享存在一些样式区别。这就是为什么还要自定义微信分享

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

微信app右上角自带分享功能–不论是微信公众号还是微信小程序或者是用微信打开的别的链接,用户都可以进行微信分享出去,对于自定义微信分享功能会和默认分享存在一些样式区别。这就是为什么还要自定义微信分享功能。

微信分享功能_微信分享链接点开是图片

以下是步骤:   

:重中之重就是去看微信开发者文档,开发者文档链接:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432,虽然看不下去,但也要忍着看下去,多看几遍。熟悉了之后可以看看别人的博客,从别人的经验中总结出路在哪。

:申请微信公众号,链接:https://mp.weixin.qq.com/

微信分享功能_微信分享链接点开是图片

 

:在微信公众号的后台进行设置:公众号设置–>功能设置–>JS接口安全域名,打开这个页面之后你会看到下面的提示。需要先下载这个文件并上传到指定域名的根目录。

微信分享功能_微信分享链接点开是图片

 

:可以通过开发–>接口权限查看自己是否获取到了分享事件的权限。

微信分享功能_微信分享链接点开是图片

: 首先要说明的是分享功能是一个配置功能,绑定在按钮的click事件中是没有效果的。也就是说只有点击微信右上角的分享才有效果。微信分享要引入wx.js,此js文件必须是低版本的wx.js的低版本,最新版本的1.4.0的版本没有分享功能,之前这个也琢磨了很久,搜了半天都没有找到这个也是个问题,也没有看到前人博客的关于这个js文件版本的指点。

 微信分享功能_微信分享链接点开是图片微信分享功能_微信分享链接点开是图片

 

:要注意分享功能的签名signature必须要在后台获取,如果前端的话会暴露appID和密钥,这样的话非常不安全,微信也不建议这么做。

获取签名时的url不能带有#,必须是去掉#之后的url

var url=window.location.href;
url= rote.split("#")[0];

:要使用签名工具对你获取到的签名进行验证,看看签名的获取有没有错误,链接:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign

:注意开启微信分享调试功能,debug:true;这样在console后台可以看到报错,而且要注意的是微信分享或者微信的其他功能在浏览器的手机模拟端时是不会显示效果的,必须要使用微信开发者工具,当数据获取成功的时候回提示errMsg:‘config:ok’,刚开始看到是errMsg我还以为这不是成功的提示而是失败的提示呢,其实并不然。当一切都完成的时候,要把alert测试信息去掉,不然苹果手机会莫名的出现弹框。

微信分享功能_微信分享链接点开是图片

微信分享功能_微信分享链接点开是图片

:关于分享出去的图片链接也页面的链接,必须和当前页的域名一致,而且此域名必须要配置在公司公众号的IP白名单上,否则分享不成功。

 

剩下的就是业务逻辑了,这个就非常简单了

 

首先要请求,后端的接口,获取签名等数据

 

//分享功能请求接口获取签名等数据
$.ajax({    
url:请求的接口,
type:请求的方式,
data:传入的参数,
success:function (res) {
wx.config({
debug: false,
appId: res.retData.appId,
timestamp: res.retData.timestamp,
nonceStr: res.retData.nonceStr,
signature: res.retData.signature,
jsApiList: [
'onMenuShareAppMessage','onMenuShareTimeline'
]
});
}
})

//点击分享按钮进行分享事件
wx.ready(function () {
// 2.2 监听“分享到朋友圈”按钮点击、自定义分享内容及分享结果接口
document.querySelector(点击的按钮).onclick = function () {
document.getElementById(蒙版层).style.display='block';

//分享到朋友圈
wx.onMenuShareTimeline({
title: 分享标题,
desc: 分享描述,
link: 分享链接,
imgUrl: 分享图片的链接,
trigger: function (res) {
          alert(res) /////注意苹果手机分享的时候要去掉alert事件,不然会出现莫名的弹框
},
success: function (res) {
          alert(res)
},
cancel: function (res) {
},
fail: function (res) {
}
});
//分享给朋友
wx.onMenuShareAppMessage({
        title: 分享标题,
desc: 分享描述,
link: 分享链接,
imgUrl: 分享图片的链接,

trigger: function (res) {
},
success: function (res) {
},
cancel: function (res) {
},
fail: function (res) {
}
});

};
})

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/166399.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • python——pkl文件

    python——pkl文件pkl文件是python里面保存文件的一种格式,如果直接打开会显示一堆序列化的东西。cPickle在python3中更名为pickle使用方式如下:importpickleaspshoplistfile=’shoplist.data’#保存文件数据所在文件的文件名shoplist=[‘apple’,’mango’,’carrot’]f=open(shoplistfile,’wb’)#二进制打开,如果找不到该文件,则创建一个p.dump(shoplist,f)

  • js获取当前时间的方法_c获取当前时间毫秒

    js获取当前时间的方法_c获取当前时间毫秒1.获取时间vardate=newDate();varyear=date.getFullYear();//返回的是年份varmonth=date.getMonth()+1;//返回的月份上个月的月份,记得+1才是当月vardates=date.getDate();//返回的是几号varday=date.getDay();//周一返回的是1,周六是6,但是周日是0

  • ftp上传工具如何下载和使用像详细教程

    ftp上传工具如何下载和使用像详细教程在学习网站搭建的过程中,我们必定会用到ftp上传工具,那么ftp工具是什么呢,我们该如何下载和使用呢?FTP(FileTransferProtocol),简称是文件传输的协议,我们可以用这个协议在互联网上做文件的双向传输,让我们用自己的计算机,可以链接到世界各地具有文件传输协议的ftp服务器进行连接,从而可以访问,传输下载大量的共享文件。同样我们可以从网站空间服务器中下载拷贝需要的文件到自己的…

  • Java笔记-使用Kaptcha验证码框架

    Java笔记-使用Kaptcha验证码框架使用Kaptcha这个验证码框架用起来,比自己写简单首先设置maven项目:<dependency><groupId>com.github.penggle</groupId><artifactId>kaptcha</artifactId>…

  • pycharm是java开发的吗_pycharmjupyter

    pycharm是java开发的吗_pycharmjupyterPycharm—编译器使用:虚拟环境与系统环境:就是包的区别。虚拟环境需要重新下包,但包不互相影响系统环境就是有下载过的所有包—通过切换本地—虚拟编译器即可切换环境本地:即python所在目录的python.exe程序–python最主要就是lib(第三方库群),python.exe编译器,pythonshell自带的IDLE,再加上个集成开发环境(pycharm)就齐了虚拟:v…

  • ActivityManager 管理Activity[通俗易懂]

    ActivityManager 管理Activity[通俗易懂]参考:https://www.jianshu.com/p/063fae89206bhttps://blog.csdn.net/qq_38520096/article/details/82109948https://blog.csdn.net/lanye11/article/details/52221359Activity可以获取运行中的应用信息,可以获取到servcie,process,ap…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号