您的位置:

微信分享给朋友及朋友圈js代码,怎么编写微信朋友圈可以分享

本文目录一览:

微信朋友圈JSSDK分享自定义图片文字

1、在微信公众号添加安全域名(制作的H5页面的主域名);

测试阶段,本人是通过修改hosts文件,将对应域名解析为127.0.0.1 ; 然后将电脑和手机连接至同个局域网下。修改手机代理为电脑在局域网内的IP地址;这样手机就能正常进行测试;

2、引入jssdk   script    src=''

3、配置jssdk,成功后方可使用相关功能,方式如下

wx.config({

debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。

appId: 'XX', // 必填,公众号的唯一标识

timestamp: XX, // 必填,生成签名的时间戳

nonceStr: xx, // 必填,生成签名的随机串

signature: xx, // 必填,签名,见附录1  

jsApiList: ['onMenuShareTimeline','onMenuShareAppMessage'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2

});

第一次接触时看到网上的文章在此对signature没有过多的说明,这里我自己大概说一下,此参数是通过获取公众号的id及secret获取 access _token,然后通过 access _token获取jsapi_ticket,然后通过时间戳,随机串,当前页面url,通过sha1加密生成;(这里做下说明,此步骤由后台处理后返回给前端即可);

刚接触的时候领导认为纯前端可实现,这。。。确实可以实现,这里就不做过多说明了;至于要后端处理的原因大致为两点1、公众号id和secret在前端实现不安全  2、 access _token和jsapi_ticket每日有请求次数的限制,过期时间两小时,所以需要后台在服务器缓存,每两小时获取一次;

4、wx.config配置正确即可通过wx.ready来调用相应功能

wx.ready(function() {

wx.onMenuShareTimeline({   //分享朋友圈

title: 'X', // 分享标题

link: window.location.href, // 分享链接

imgUrl: url, // 分享图标

success: function() {

// 用户确认分享后执行的回调函数

console.log('分享成功了哟哟哟')

},

cancel: function() {

// 用户取消分享后执行的回调函数

}

});

wx.onMenuShareAppMessage({  // 好友分享

title: '', // 分享标题

desc: '', // 分享描述

link: window.location.href, // 分享链接

imgUrl: '', // 分享图标

success: function () {

// 用户确认分享后执行的回调函数

},

cancel: function () {

// 用户取消分享后执行的回调函数

}

});

});

总结:其实对于前端要处理的很少,只要从后台获取signature签名,调用方法即可实现;具体可看官方文档;首次接触的小伙伴不要被吓到,就是如此简单;

为什么修改标题分享微信还是不变,微信分享到朋友圈,朋友JS代码

最近很多群朋友问我,为什么我修改网页里面标题和描述语,但是我分享在微信朋友圈和朋友以后的标题和描述语还是不变呢?其实大家修改的是网页标题和描述语,没有真正修改微信分享接口那部分描述语,所以才不会变的。

script

var imgUrl = "图片地址";

var lineLink = "网址";

var descContent = '描述语';

var shareTitle = '标题';

var appid = '';

function shareFriend() {

WeixinJSBridge.invoke('sendAppMessage',{

"appid": appid,

"img_url": imgUrl,

"img_width": "200",

"img_height": "200",

"link": lineLink,

"desc": descContent,

"title": shareTitle

}, function(res) {

//_report('send_msg', res.err_msg);

})

}

function shareTimeline() {

WeixinJSBridge.invoke('shareTimeline',{

"img_url": imgUrl,

"img_width": "200",

"img_height": "200",

"link": lineLink,

"desc": descContent,

"title": shareTitle

}, function(res) {

//_report('timeline', res.err_msg);

});

}

function shareWeibo() {

WeixinJSBridge.invoke('shareWeibo',{

"content": descContent,

"url": lineLink,

}, function(res) {

//_report('weibo', res.err_msg);

});

}

// 当微信内置浏览器完成内部初始化后会触发WeixinJSBridgeReady事件。

document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {

// 发送给好友

WeixinJSBridge.on('menu:share:appmessage', function(argv){

shareFriend();

});

// 分享到朋友圈

WeixinJSBridge.on('menu:share:timeline', function(argv){

shareTimeline();

});

// 分享

WeixinJSBridge.on('menu:share:weibo', function(argv){

shareWeibo();

});

}, false);

/script

请教如何触发 js微信分享接口 点击按钮,触发微信分享到朋友圈。

前提是你的公众号已打开onMenuShareTimeline权限

wx.config({

debug: true,

appId: "你的APPID",

timestamp: "xxx",

nonceStr: "xxx",

signature: "xxx",

jsApiList: [ 'onMenuShareTimeline', ] //onMenuShareTimeline你要的方法

});

如何在网页中通过js代码将内容分享到朋友圈

登录你的微信平台,点击“公众号设置”。

2

点击“功能设置”,然后点击“设置”。

3

设置JS接口安全域名。这里填写的是一级域名,不带www和http。最多可以设置三个域名。设置完后点击确定。(多说一句,相比以前的分享没有任何域名限制,这里设置安全域名,目的是为了当发现此公众平台发现诱导分享行为时,可以根据此域名追溯到所有分享出去的链接,以及通过这些链接增加的粉丝。这样,微信就可以牢牢控制了你的微信平台,一旦发现违规,让分享链接失效,删除掉诱导行为增加的粉丝,是瞬间就可以完成的。因此,微信平台的开发者,一定要合理来使用分享功能,不要因小失大。等到你的微信平台被封,估计哭都来不及)

4

在开发者中心中获取你的AppID和AppSecret,接下来在获取令牌时,需要这两个信息。

5

获取令牌。在服务器端完成,代码如下:

function wx_get_token() {

$token = S('access_token');

if (!$token) {

$res = file_get_contents(';appid=' .'你的AppID'.'secret=' .'你的AppSecret');

$res = json_decode($res, true);

$token = $res['access_token'];

// 注意:这里需要将获取到的token缓存起来(或写到数据库中)

// 不能频繁的访问,每日有次数限制

// 通过此接口返回的token的有效期目前为2小时。令牌失效后,JS-SDK也就不能用了。

// 因此,这里将token值缓存1小时,比2小时小。缓存失效后,再从接口获取新的token,这样

// 就可以避免token失效。

// S()是ThinkPhp的缓存函数,如果使用的是不ThinkPhp框架,可以使用你的缓存函数,或使用数据库来保存。

S('access_token', $token, 3600);

}

return $token;

}

注意:返回的access_token长度至少要留够512字节。接口返回值:

{"access_token":"ACCESS_TOKEN","expires_in":7200}

{"access_token":"vdlThyTfyB0N5eMoi3n_aMFMKPuwkE0MgyGf_0h0fpzL8p_hsdUX8VGxz5oSXuq5dM69lxP9wBwN9Yzg-0kVHY33BykRC0YXZZZ-WdxEic4","expires_in":7200}

6

获取jsapi的ticket。jsapi_ticket是公众号用于调用微信JS接口的临时票据。正常情况下,jsapi_ticket的有效期为7200秒,通过access_token来获取。

function wx_get_jsapi_ticket(){

$ticket = "";

do{

$ticket = S('wx_ticket');

if (!empty($ticket)) {

break;

}

$token = S('access_token');

if (empty($token)){

wx_get_token();

}

$token = S('access_token');

if (empty($token)) {

logErr("get access token error.");

break;

}

$url2 = sprintf(";type=jsapi",

$token);

$res = file_get_contents($url2);

$res = json_decode($res, true);

$ticket = $res['ticket'];

// 注意:这里需要将获取到的ticket缓存起来(或写到数据库中)

// ticket和token一样,不能频繁的访问接口来获取,在每次获取后,我们把它保存起来。

S('wx_ticket', $ticket, 3600);

}while(0);

return $ticket;

}

接口返回值:

{"errcode":0,"errmsg":"ok","ticket":"sM4AOVdWfPE4DxkXGEs8VMKv7FMCPm-I98-klC6SO3Q3AwzxqljYWtzTCxIH9hDOXZCo9cgfHI6kwbe_YWtOQg","expires_in":7200}

7

签名,将jsapi_ticket、noncestr、timestamp、分享的url按字母顺序连接起来,进行sha1签名。

noncestr是你设置的任意字符串。

timestamp为时间戳。

$timestamp = time();

$wxnonceStr = "任意字符串";

$wxticket = wx_get_jsapi_ticket();

$wxOri = sprintf("jsapi_ticket=%snoncestr=%s×tamp=%surl=%s",

$wxticket, $wxnonceStr, $timestamp,

'要分享的url(从http开始,如果有参数,包含参数)'

);

$wxSha1 = sha1($wxOri);

END

步骤2 添加JS代码

生成签名后,就可以使用js代码了。在你的html中,进行如下设置即可。

script type="text/javascript" src=""/script

script type="text/javascript"

// 微信配置

wx.config({

debug: false,

appId: "你的AppID",

timestamp: '上一步生成的时间戳',

nonceStr: '上一步中的字符串',

signature: '上一步生成的签名',

jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage'] // 功能列表,我们要使用JS-SDK的什么功能

});

// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在 页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready 函数中。

wx.ready(function(){

// 获取“分享到朋友圈”按钮点击状态及自定义分享内容接口

wx.onMenuShareTimeline({

title: '分享标题', // 分享标题

link:"分享的url,以http或https开头",

imgUrl: "分享图标的url,以http或https开头" // 分享图标

});

// 获取“分享给朋友”按钮点击状态及自定义分享内容接口

wx.onMenuShareAppMessage({

title: '分享标题', // 分享标题

desc: "分享描述", // 分享描述

link:"分享的url,以http或https开头",

imgUrl: "分享图标的url,以http或https开头", // 分享图标

type: 'link', // 分享类型,music、video或link,不填默认为link

});

});

/script

js处理微信分享配置

整理一下通过h5做微信分享相关配置。

登录微信公众号, 获取AppID , 配置白名单 ,然后 配置JS接口安全域名 。

登录公众号后,左侧菜单栏选择:开发 = 基本配置,直接复制开发者ID(AppID)即可:

注意使用公网IP

左侧菜单栏选择:设置 = 公众号设置:

网页授权主要是获取微信openId使用,如果只是用分享操作,本步可以略过。

网页授权介绍

大致步骤是:

在配置完前面AppId、白名单及安全域名后,开始处理网页授权。

网页授权这一块儿内容主要是后端需要处理的内容较多,前端还是很简单的,仅需要跳入微信链接即可。为什么要走这一步呢因为有些操作,例如微信支付、播放微信录音、获取微信地址、微信卡券、商品、小店等等许多功能必须在微信浏览器汇总打开操作才可以,因此需要跳入微信浏览器及微信链接来处理后续操作。当配置后,链接便只有在微信浏览器中打开才会生效了,不然会提示:

链接如下:

{$appId}redirect_uri=={$URL}response_type=codescope=snsapi_base#wechat_redirect

参数分解

可见,上面需要填入的变量有二,一个是前面回去的AppId,另外一个则是url,需要写的是与配置域名所对应域名下的url,并且要进行urlEncode编码处理使用。

在拿到上述完整链接后,通过 window.location.href = ${url} 进行网页授权即可。在授权成功后,页面会重定向到自己设置的url页面去,然后在该连接上会有code值,取出即可:

将拿到的code值传给后端即可,看具体需求决定是否前端使用openId,如果非必要则不在前端获取保存或者由后端加密后传给前端使用。

大致分为五个步骤:

在步骤 1.3 中已经配置。

在需要调用JS接口的页面引入如下JS文件:

备注:支持使用 AMD/CMD 标准模块加载方法加载

配置需要如下几个参数:

那这些参数从哪儿来呢?依旧不用担心,依然是交给后端处理,后端返回时间戳、随机串及签名,其他的自己配置即可。

通过后端获取需要进行一个小交互,将此时的链接地址(window.location.href)传给后端即可。

于是就有了上述的除了最后一个以外的所有参数。最后一个 jsApiList 则是写分享接口,如我们想要分享到朋友圈、QQ、腾讯微博这3个,那就写:

可以发现,我们其实多配置了一个 checkJsApi ,这个是一个判断配置,可以判断当前客户端版本是否支持指定JS接口。

签名算法

所有JS接口列表

接下来就可以写分享信息配置了。配置信息一般都是通过 wx.ready 处理的:

例如我们要分享到朋友圈,配置则如下:

注意:不要出现 诱导分享

同样,一般都是通过 wx.error 处理失败相关信息:

其实微信分享(地理位置、扫一扫、卡券等微信各类接口)都是通过上述步骤配置的,可举一反三,在面对不同需求时通过微信开发文档来进行更为复杂的操作。

微信分享给朋友及朋友圈js代码,怎么编写微信朋友圈可以分享

2022-11-24
朋友圈分享的js代码,js微信分享朋友圈

2022-11-22
微信分享朋友链接显示js代码(微信分享 js)

本文目录一览: 1、如何在网页中通过js代码将内容分享到朋友圈 2、微信分享js、iphone、通用版 3、请问为什么微信公众号页面模板链接复制出现的是JavaScript 4、js处理微信分享配置

2023-12-08
php点击分享到朋友圈,朋友圈分享文章的人

2022-12-02
python数据分析朋友圈信息(朋友圈统计)

2022-11-10
如何实现微信小程序分享到朋友圈功能

2023-05-17
微信分享代码js(微信分享码怎么用)

本文目录一览: 1、微信公众平台js sdk分享代码,获取令牌。在服务器端完成 2、js处理微信分享配置 3、如何在网页中通过js代码将内容分享到朋友圈 微信公众平台js sdk分享代码,获取令牌。在

2023-12-08
php分享微信jsdk,php 微信

本文目录一览: 1、怎么使用微信JSSDK的自定义分享功能 2、php 微信分享怎么知道谁分享的 3、如何在DISCUZ论坛引入微信JSSDK与分享功能 4、如何使用微信JS-SDK实际分享功能 5、

2023-12-08
uniapp微信分享详解

2023-05-17
java朋友链(Java区块链技术)

2022-11-09
微信文章转发分享php源码,微信文章转发分享php源码是什么

2022-11-18
微信phpjssdk,微信php接口

本文目录一览: 1、微信开发的jssdk,php怎么用 2、微信公众平台的jssdk.php起的什么作用 3、phpjssdk微信分享到朋友圈怎么添加内容 4、怎么使用微信JSSDK的自定义分享功能

2023-12-08
微信JS SDK 精讲

2023-05-20
朋友torch的多面向全景阐述

2023-05-17
js分享功能源码,javascript源码分享网站

本文目录一览: 1、不使用微信开发平台 怎么用js写分享内容 2、如何在网页中通过js代码将内容分享到朋友圈? 3、如何在网页中通过js代码将内容分享到朋友圈 4、如何使用微信JS-SDK实际分享功能

2023-12-08
微信jssdk调试(微信调试代码)

本文目录一览: 1、微信朋友圈JSSDK分享自定义图片文字 2、微信公众号开发之如何使用JSSDK 3、【求帮助】 微信JSSDK 分享接口,调用没反应 4、uniapp中调用微信jssdk 微信朋友

2023-12-08
php仿微信聊天,仿微信 PHP源码

2022-11-24
小朋友排队

2023-05-17
uniapp小程序分享指南

2023-05-23
Vue微信分享实现全解析

2023-05-20