微信JSSDK开发信息配置

微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包。

通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照、选图、语音、位置等手机系统的能力,同时可以直接使用微信分享、扫一扫、卡券、支付等微信特有的能力。

但是很多人在配置和使用的时候,老是出各种错误。最近项目也涉及到这个,就记录一下过程,并对方法进行封装。

基本步骤如下:
1.绑定域名
先确保你使用的是认证的账号(订阅号,服务号),因为没认证的号是没有JS安全域名配置权限的。建议开发前先看看公众号类型的接口权限说明
登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。


2.引入JS文件
在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.0.0.js
请注意,如果你的页面启用了https,务必引入 https://res.wx.qq.com/open/js/jweixin-1.0.0.js ,否则将无法在iOS9.0以上系统中成功使用JSSDK
如需使用摇一摇周边功能,请引入 jweixin-1.1.0.js

3.通过config接口注入权限验证配置
所有需要使用JS-SDK的页面必须先注入配置信息,否则将无法调用。

wx.config({
    debug: true,  // 开启调试模式
    appId: '',    // 必填,公众号的唯一标识
    timestamp: ,  // 必填,生成签名的时间戳
    nonceStr: '', // 必填,生成签名的随机串
    signature: '',// 必填,签名,见附录1
    jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});

4.通过ready接口处理成功验证
config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。

wx.ready(function(){

    // 对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
});

这些基本步骤在 微信JS-SDK说明文档 里边讲的很清楚了。但很多人在开发的时候用自己服务器不知道上边第3步配置信息该如何配置,我就具体说说方法吧。

1.下载jssdk的demo
下载地址:http://demo.open.weixin.qq.com/jssdk/sample.zip

2.解压demo,获取JSSDK的验证类
将jssdk.php放到自己的服务器上引入自己的程序。


3.获取签名信息
初始化JSSDK类之后,获取签名信息,然后将签名信息填写到上边步骤3中配置项中就OK了。

require_once "jssdk.php";
$jssdk = new JSSDK("yourAppID", "yourAppSecret");
$signPackage = $jssdk->GetSignPackage();
 wx.config({
    debug: true,
    appId: '<?php echo $signPackage["appId"];?>',
    timestamp: <?php echo $signPackage["timestamp"];?>,
    nonceStr: '<?php echo $signPackage["nonceStr"];?>',
    signature: '<?php echo $signPackage["signature"];?>',
    jsApiList: [
      // 所有要调用的 API 都要加到这个列表中
    ]
});

方法的封装:

用法: 
前端页面嵌入代码 <php>echo register_jssdk(true);</php> 或者{php echo register_jssdk(true);}根据自己使用的框架而定。

/**
 * 微信jssdk
 * @param  [bool]   $debug [是否是使用debug模式]
 * @return [string] 微信jssdk代码
 */
function register_jssdk($debug=false){
	require_once APP_ROOT.'/Api/jssdk.php';
	$appid = 'wechat_appid';
	$secret = 'wechat_secret';
	$jssdk = new JSSDK($appid,$secret);
	$signPackage = $jssdk->GetSignPackage();
	if($debug){
		$debug = 'true';
	}else{
		$debug = 'false';
	}
	$js = "<script src='http://res.wx.qq.com/open/js/jweixin-1.0.0.js'></script>
	<script>
	wx.config({
    debug: ".$debug.",
    appId: '".$signPackage["appId"]."',
    timestamp: ".$signPackage["timestamp"].",
    nonceStr: '".$signPackage["nonceStr"]."',
    signature: '".$signPackage["signature"]."',
    jsApiList: [
	    'checkJsApi',    
		'onMenuShareTimeline',    
		'onMenuShareAppMessage',    
		'onMenuShareQQ',    
		'onMenuShareWeibo',    
		'hideMenuItems',    
		'showMenuItems',    
		'hideAllNonBaseMenuItem',    
		'showAllNonBaseMenuItem',    
		'translateVoice',    
		'startRecord',    
		'stopRecord',    
		'onRecordEnd',    
		'playVoice',    
		'pauseVoice',    
		'stopVoice',    
		'uploadVoice',    
		'downloadVoice',    
		'chooseImage',    
		'previewImage',    
		'uploadImage',    
		'downloadImage',    
		'getNetworkType',    
		'openLocation',    
		'getLocation',    
		'hideOptionMenu',    
		'showOptionMenu',    
		'closeWindow',    
		'scanQRCode',    
		'chooseWXPay',    
		'openProductSpecificView',    
		'addCard',    
		'chooseCard',    
		'openCard'    
    ]
  });</script>";
  
  return $js;
}


微笑就是这么简单!

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值