thinkphp5 微信分享朋友圈集成JS-SDK过程记录

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lyb8010/article/details/90348896

一、微信公众号准备工作:

1、设置—公众号设置—功能设置里,填写『JS接口安全域名』

2、加入IP白名单

3、获取开发者ID和开发者密码,并添加到config.php中

到2019.5.19日,微信公众号只做以上准备工作,经测可以实现分享给朋友及朋友圈功能。

二、将官方示例代码下载:http://demo.open.weixin.qq.com/jssdk/sample.zip

三、将下载的php示例代码中的access_token.php、jsapi_ticket.php和jssdk.php放入到tp5框架的第三方接口扩展目录下,路径为extend/org/wechat/文件。

四、将jssdk.php文件重命名为Jssdk.php文件,设置命名空间,因为tp路由的关系,需要加上私有属性path,并在构造函数中设置 $this->path = __DIR__ . DS; 

五、将get_php_file以及set_php_file函数返回值中的$filename改为 $this->path . $filename ,否则会报错。

六、在app的common文件中加入以下代码,以下为借鉴代码:

七、前端代码:

<script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
<script type="text/javascript">
	var imgUrl = "__PC____PUBLIC__/img/logo.jpg";
	var link = "http://www.webqi.cn";
	var descContent = "测试测试";
	var shareTitle = "什么什么?";
	wx.config({
		debug: true,
		appId: '{$appId}',
		timestamp: '{$timestamp}',
		nonceStr: '{$nonceStr}',
		signature: '{$signature}',
		jsApiList:[
		'onMenuShareTimeline',
		'onMenuShareAppMessage',
		]
	});
	wx.ready(function(){
      
		wx.onMenuShareTimeline({
		    title: shareTitle, // 分享标题
		    link: link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
		    imgUrl: imgUrl, // 分享图标
		    success: function () {
			    // 用户点击了分享后执行的回调函数
              
			}
		})
		wx.onMenuShareAppMessage({ 	
	        title: shareTitle, // 分享标题
	        link: link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
	        desc: descContent,
	        imgUrl: imgUrl, // 分享图标
	        success: function () {
	        }
	    })

	});
</script>

七、在测试的过程中遇到的坑:

1、发现access_token.php中写入access_token没有写成功,需要做以下操作才能写成功(也就是第五点的操作):set_php_file函数返回值中的$filename改为 $this->path . $filename

2、onMenuShareTimeline中的line中的L应为小写,俺写成大写,结果好一顿测试。

3、将access_token.php等需要写入的文件赋予可写入的权限。

4、在thinkphp5上传文件时提示:请对上传接口返回JSON字符。经过测试发现是因为文件没有上传成功,而没有上传成功的原因也是相关的文件夹的权限不够。

参考网址:https://www.cnblogs.com/sunshineliulu/p/8034286.html

猜你喜欢

转载自blog.csdn.net/lyb8010/article/details/90348896