当前位置: 首页 > news >正文

怎么使用微信JSSDK的自定义分享功能

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

微信在去年发布JSSDK后,把包括自定义分享在内的众多网页服务接口进行了统一。现在,如果要想自定义分享自己的网页信息给好友或朋友圈,就最好使用这个统一的网页服务接口。没有认证微信号的,可参考文章末尾的办法。

一,首先在公众号管理后台“公众号设置”的“功能设置”里填写JS接口安全域名,域名需要通过ICP备案,没有备案域名可以用SAE、BAE等平台。此外,自定义分享功能需要通过微信认证才能使用,没有认证的可以跟关系好的朋友借用权限,在他的JS接口安全域名设置这里填上你的域名和共享同一个开发者ID。

怎么使用微信JSSDK的自定义分享功能

二,在需要调用JS接口的页面引入微信JSSDK的JS文件:http://res.wx.qq.com/open/js/jweixin-1.0.0.js,这个文件在需要分享的页面是必须要引用的,单独特别重申一下,其他方面请阅读官方文档http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html 

引用方法:在网页title标题下面加上:<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>

三,下载官方示例代码:

24102442_0J4q.pngjssdk-php.zip

解压之后在例如PHP文件夹中看到以下文件:

怎么使用微信JSSDK的自定义分享功能

四,复制以上文件到你的游戏目录,为了方便所有游戏调用同一个文件,建议在主机根目录(即一级目录)建立一个JSSDK文件夹。

五,在你需要自定义分享的网页源文件上(主机需支持PHP环境,网页文件名.html改成.php)引用JSSDK:

怎么使用微信JSSDK的自定义分享功能

在网页头部加上如下代码:

PHP

<?php
require_once "../jssdk/jssdk.php"; //表示主机根目录下jssdk文件夹内jssdk.php文件
$jssdk = new JSSDK("AppID(应用ID)", "AppSecret(应用密钥)");//填写开发者中心你的开发者ID
$signPackage = $jssdk->GetSignPackage();
?>
<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>  //必须引用该文件  
   <script>
 wx.config({
   debug:  false,  //调式模式,设置为ture后会直接在网页上弹出调试信息,用于排查问题
   appId: '<?php echo $signPackage["appId"];?>',
   timestamp: <?php echo $signPackage["timestamp"];?>,
   nonceStr: '<?php echo $signPackage["nonceStr"];?>',
   signature: '<?php echo $signPackage["signature"];?>',
   jsApiList: [  //需要使用的网页服务接口
       'checkJsApi',  //判断当前客户端版本是否支持指定JS接口
       'onMenuShareTimeline', //分享给好友
       'onMenuShareAppMessage', //分享到朋友圈
       'onMenuShareQQ',  //分享到QQ
       'onMenuShareWeibo' //分享到微博
   ]
 });
 wx.ready(function () {   //ready函数用于调用API,如果你的网页在加载后就需要自定义分享和回调功能,需要在此调用分享函数。//如果是微信游戏结束后,需要点击按钮触发得到分值后分享,这里就不需要调用API了,可以在按钮上绑定事件直接调用。因此,微信游戏由于大多需要用户先触发获取分值,此处请不要填写如下所示的分享API
wx.onMenuShareTimeline({  //例如分享到朋友圈的API  
   title: '', // 分享标题
   link: '', // 分享链接
   imgUrl: '', // 分享图标
   success: function () {
       // 用户确认分享后执行的回调函数
   },
   cancel: function () {
       // 用户取消分享后执行的回调函数
   }
});
});	
wx.error(function (res) {
 alert(res.errMsg);  //打印错误消息。及把 debug:false,设置为debug:ture就可以直接在网页上看到弹出的错误提示
});
</script>

那么,没有认证微信号,又没法借用权限的朋友,如何分享呢?这就必须让用户点击分享按钮或游戏结束时触发来改变title标题了,至于分享的小图片,在网页源文件<body>标签后,加上<div style="display: none"> <img src="图片文件的绝对URL地址" /> </div>即可。

微信在去年发布JSSDK后,把包括自定义分享在内的众多网页服务接口进行了统一。现在,如果要想自定义分享自己的网页信息给好友或朋友圈,就最好使用这个统一的网页服务接口。没有认证微信号的,可参考文章末尾的办法。

一,首先在公众号管理后台“公众号设置”的“功能设置”里填写JS接口安全域名,域名需要通过ICP备案,没有备案域名可以用SAE、BAE等平台。此外,自定义分享功能需要通过微信认证才能使用,没有认证的可以跟关系好的朋友借用权限,在他的JS接口安全域名设置这里填上你的域名和共享同一个开发者ID。

怎么使用微信JSSDK的自定义分享功能

二,在需要调用JS接口的页面引入微信JSSDK的JS文件:http://res.wx.qq.com/open/js/jweixin-1.0.0.js,这个文件在需要分享的页面是必须要引用的,单独特别重申一下,其他方面请阅读官方文档http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html 

引用方法:在网页title标题下面加上:<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>

三,下载官方示例代码:

24102442_0J4q.pngjssdk-php.zip

解压之后在例如PHP文件夹中看到以下文件:

怎么使用微信JSSDK的自定义分享功能

四,复制以上文件到你的游戏目录,为了方便所有游戏调用同一个文件,建议在主机根目录(即一级目录)建立一个JSSDK文件夹。

五,在你需要自定义分享的网页源文件上(主机需支持PHP环境,网页文件名.html改成.php)引用JSSDK:

怎么使用微信JSSDK的自定义分享功能

在网页头部加上如下代码:

PHP

<?php
require_once "../jssdk/jssdk.php"; //表示主机根目录下jssdk文件夹内jssdk.php文件
$jssdk = new JSSDK("AppID(应用ID)", "AppSecret(应用密钥)");//填写开发者中心你的开发者ID
$signPackage = $jssdk->GetSignPackage();
?>
<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>  //必须引用该文件  
   <script>
 wx.config({
   debug:  false,  //调式模式,设置为ture后会直接在网页上弹出调试信息,用于排查问题
   appId: '<?php echo $signPackage["appId"];?>',
   timestamp: <?php echo $signPackage["timestamp"];?>,
   nonceStr: '<?php echo $signPackage["nonceStr"];?>',
   signature: '<?php echo $signPackage["signature"];?>',
   jsApiList: [  //需要使用的网页服务接口
       'checkJsApi',  //判断当前客户端版本是否支持指定JS接口
       'onMenuShareTimeline', //分享给好友
       'onMenuShareAppMessage', //分享到朋友圈
       'onMenuShareQQ',  //分享到QQ
       'onMenuShareWeibo' //分享到微博
   ]
 });
 wx.ready(function () {   //ready函数用于调用API,如果你的网页在加载后就需要自定义分享和回调功能,需要在此调用分享函数。//如果是微信游戏结束后,需要点击按钮触发得到分值后分享,这里就不需要调用API了,可以在按钮上绑定事件直接调用。因此,微信游戏由于大多需要用户先触发获取分值,此处请不要填写如下所示的分享API
wx.onMenuShareTimeline({  //例如分享到朋友圈的API  
   title: '', // 分享标题
   link: '', // 分享链接
   imgUrl: '', // 分享图标
   success: function () {
       // 用户确认分享后执行的回调函数
   },
   cancel: function () {
       // 用户取消分享后执行的回调函数
   }
});
});	
wx.error(function (res) {
 alert(res.errMsg);  //打印错误消息。及把 debug:false,设置为debug:ture就可以直接在网页上看到弹出的错误提示
});
</script>

那么,没有认证微信号,又没法借用权限的朋友,如何分享呢?这就必须让用户点击分享按钮或游戏结束时触发来改变title标题了,至于分享的小图片,在网页源文件<body>标签后,加上<div style="display: none"> <img src="图片文件的绝对URL地址" /> </div>即可。

 

方式二

设置meta

<meta itemprop="name" content="分享标题"/>
<meta itemprop="image" content="http://img.xmiles.cn/fortune/icon.png" />
<meta name="description" itemprop="description" content="分享描述" />

转载于:https://my.oschina.net/jack088/blog/677272

相关文章:

  • YII学习
  • 因为安迪的一句话,这2万5千人凭空多出9亿财富!_财经_腾讯网
  • Ant编译Hadoop 1.0.3的eclipse-plugin插件包
  • [译]使用jquery.cookie操作Cookie说明
  • Linux下Nginx源码安装
  • PHP之路——MySql基础操作语句
  • windows下读取Linux分区软件
  • Angular.js Services
  • 折腾Openoffice---解决中文和注册问题(原创)
  • react 入门到放弃 之 webpack
  • 如何用Beyond Compare对比压缩文件
  • iOS推送通知的实现步骤
  • 异步与并行~大话目录
  • MySQL in不走索引
  • linu系统管理中和shell编程中常用的技巧
  • Git 使用集
  • Gradle 5.0 正式版发布
  • Java精华积累:初学者都应该搞懂的问题
  • Python打包系统简单入门
  • Python利用正则抓取网页内容保存到本地
  • 初识MongoDB分片
  • 从输入URL到页面加载发生了什么
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 将 Measurements 和 Units 应用到物理学
  • 今年的LC3大会没了?
  • 前端面试题总结
  • 通过npm或yarn自动生成vue组件
  • 线性表及其算法(java实现)
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 怎么把视频里的音乐提取出来
  • Spring第一个helloWorld
  • 阿里云ACE认证学习知识点梳理
  • 阿里云服务器如何修改远程端口?
  • 函数计算新功能-----支持C#函数
  • ​VRRP 虚拟路由冗余协议(华为)
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • !!Dom4j 学习笔记
  • ###项目技术发展史
  • #NOIP 2014# day.1 T2 联合权值
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • #微信小程序:微信小程序常见的配置传旨
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (zhuan) 一些RL的文献(及笔记)
  • (八十八)VFL语言初步 - 实现布局
  • (二)Linux——Linux常用指令
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转)详解PHP处理密码的几种方式
  • .NET Core 2.1路线图
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .net 简单实现MD5
  • .net程序集学习心得
  • .NET项目中存在多个web.config文件时的加载顺序