微信jssdk开发,PHP,必要步骤

微信的文档几个重叠在一起,有点乱,自己用到就统计一下,减少字数直接上,毕竟懒。

一般说明步骤一:微信jssdk使用必须在微信公众平台进入其公众号设置,打开配置安全域名才可以。
安全域名则是请求调用微信接口的安全域名,非域名下则会出现权限错误,未授权域名等。

一般说明步骤二引入其对应的JS文件,这个基本知识不过多解释

一般说明步骤三:引入文件,调用其config接口,配置好对应的配置项即可

一般说明步骤四:通过ready接口里配置的响应接口在页面加载的时候就可以用,如果需要响应的就不需要放在这里面,注意:所有的接口需要在config之后,config是其一个异步操作

一般说明步骤五:error的信息报错会执行error函数,错误信息需要打开config中的debug

简而言之就是如下步骤:

步骤一:配置安全域名(配置JS接口安全域名)
步骤二:引入JS文件
步骤三:使用config接口,写入配置
步骤四:在ready里面配置需要在加载时候就可以用的接口
步骤五:error说明函数

假设调用成功,开启了debug,那么会提示:xxx:ok,xxx是你使用的接口名
假设调用用户取消,开启了debug,那么会提示:xxx:cancel,xxx是你使用的接口名
调用失败时:将会返回具体错误信息

以下是微信官方原版Demo:
注意,一定记得后台配置是否正确,配置js安全域名和appid以及secret
完整的一个微信分享Demo分享示例

注意:重要提醒,在微信开发工具上面调试,千万别信报错,因为报错有时候是bug,但是代码是正确的,我写微信分享,正确的代码调试了一周,最后是工具的问题,用真机调试即可,工具就调样式,大致看看就ok,真机双重检验

<?php
require_once "jssdk.php";//使用官方原版的即可
$jssdk = new JSSDK("这里填写你的appid", "你的AppSecret");//去微信公众号里面找
$signPackage = $jssdk->GetSignPackage();//取得签名及其他必要信息的信息包
?>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title></title>
</head>
<body>
  
</body>
<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<script>
  /*
   * 注意:
   * 1. 所有的JS接口只能在公众号绑定的域名下调用,公众号开发者需要先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。
   * 2. 如果发现在 Android 不能分享自定义内容,请到官网下载最新的包覆盖安装,Android 自定义分享接口需升级至 6.0.2.58 版本及以上。
   * 3. 常见问题及完整 JS-SDK 文档地址:http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html
   *
   * 开发中遇到问题详见文档“附录5-常见错误及解决办法”解决,如仍未能解决可通过以下渠道反馈:
   * 邮箱地址:[email protected]
   * 邮件主题:【微信JS-SDK反馈】具体问题
   * 邮件内容说明:用简明的语言描述问题所在,并交代清楚遇到该问题的场景,可附上截屏图片,微信团队会尽快处理你的反馈。
   */
   //这里使用wx调用config接口,填写配置项
  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 都要加到这个列表中
		'onMenuShareAppMessage',
		'onMenuShareTimeline',
		'chooseWXPay',
		'showOptionMenu',
		"updateAppMessageShareData",
		"hideMenuItems",
		"showMenuItems",
		"onMenuShareTimeline",
		'onMenuShareAppMessage'
    ],success: function(res) {
    // 以键值对的形式返回,可用的api值true,不可用为false
    // 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
    }
  });
  wx.ready(function () {      //需在用户可能点击分享按钮前就先调用
		
	});
  //wx.success(function(res){
    // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
	//});
</script>
</html>
发布了110 篇原创文章 · 获赞 147 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/A757291228/article/details/98776228