php微信公众号开发sdk,php微信公众号js-sdk开发应用

《:PHP微信公众号js-sdk开发应用》要点:

本文介绍了:PHP微信公众号js-sdk开发应用,希望对您有用。如果有疑问,可以联系我们。

测试js的接口功能,我用的是BAE服务器不是SAE服务器.SAE服务器不能写入文件,测试会出问题.

什么叫js-sdk,我先演示js-sdk接口的具体作用.

我在微信随便打开一片推送文章如下图:

fda84b3fc83f3865604a756cccd49f29.png 

点开第一篇文章

bab2f65e730477d339caa8f50a93e9df.png 

上面就是我们的连接文章,如果我们把这篇文章发送给朋友,显示效果如下图:

f746e90d1b593266aa4f1f6c36fbb2ac.png

分享到朋友圈我们再来看看效果:

b951375e9c47321d63296a5b4ffbda91.png

为什么同样是文章连接,在公众号、发送给朋友、发送到朋友圈显示的界面效果不一样.公众号的显示效果是因为微信公众帐号在推送的时候调用了微信的消息接口,而后两者是因为页面调用js-sdk相关的sdk接口.

发送给朋友调用了js接口的获取“分享给朋友”按钮点击状态及自定义分享内容接口.

发送给朋友圈调用了js接口的获取“分享到朋友圈”按钮点击状态及自定义分享内容接口.

下面我们来实现调用js-sdk接口的步骤:

第一步:微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”.

如下图:

0efff11149dc8cd2179e1fc6cfa81884.png 

只有置于该域名下的页面才能调用js接口.

第二步:http://demo.open.weixin.qq.com/jssdk/sample.zip连接这个地址下载,打开里面的PHP文件夹,你发现4个PHP文件

ad9db9a993c069b6f65b823f1491ad27.png 

前面3 个PHP文件是配置文件,不要动它,sample.PHP是我们在微信中打开的连接页面,在这个页面中我们来编写我们的页面代码.这个文件我用来测试,里面的代码跟原版已经不同.

// echo "nihao";

require_once "jssdk.PHP";

$jssdk = new JSSDK("wxaf471be5d2bc9521","93f5c3817074d43e7a7ab3f403cc72dd");//JSSDK中的参数是appid和appsecret.

$signPackage = $jssdk->GetSignPackage();//获取配置参数.

?>

我靠
猪八戒

你好

唐生

//这个是js-sdk文件,一定要引入.

var button = document.getElementsByTagName("button");

var btn = document.getElementById("btn");

var div = document.getElementsByTagName("div")[0];

var btn1 = document.getElementById("btn1");

//wx表示一个js-sdk构建的一个对象.config()是它的一个方法,这个接口用来验证配置.

wx.config({

debug: true,//true表示每调用一个接口信息都会在页面alert一段字符串.方便测试过程中国是否能正确调用接口.

appId: '<?PHP echo $signPackage["appId"];?>',timestamp: <?PHP echo $signPackage["timestamp"];?>,nonceStr: '<?PHP echo $signPackage["nonceStr"];?>',signature: '<?PHP echo $signPackage["signature"];?>',//上面的4个参数,如果你像深入了解其来源就去查看jssdk.PHP代码.测试过程不需要对上面的代码做任何操作.

jsApiList: [

// 所有要调用的 API 都要加到这个列表中

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

'chooseImage',//获取手机相片接口

'openLocation'//获取微信地图接口

]

});

//所有的js调用接口都要放到下面的ready()中.

wx.ready(function () {

// 在这里调用 API

//获取“分享给朋友”按钮点击状态,点击后发送给朋友微信,微信上的推送显示内容就是下面的数据

wx.onMenuShareAppMessage({

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

desc: '我要坚持',// 分享描述

link: 'http://www.baidu.com',// 分享链接

imgUrl: 'http://discuz.comli.com/weixin/weather/icon/cartoon.jpg',// 分享图标

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

dataUrl: '',// 如果type是music或video,则要提供数据链接,默认为空

success: function () {

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

alert("success");

},cancel: function () {

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

alert("error");

}

});

//拍照或从手机相册选择.点击页面上的按钮就可以调用手机里的相册.

btn.onclick = function(){

wx.chooseImage({

count: 1,// 默认9

sizeType: ['original','compressed'],// 可以指定是原图还是压缩图,默认二者都有

sourceType: ['album','camera'],// 可以指定来源是相册还是相机,默认二者都有

success: function (res) {

var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片

}

})

};

//微信内置地图接口.点击该按钮就可转到显示当前位置的地图页面

btn1.onclick = function() {

wx.openLocation({

latitude: 0,// 纬度,浮点数,范围为90 ~ -90

longitude: 0,// 经度,范围为180 ~ -180.

name: '',// 位置名

address: '',// 地址详情说明

scale: 1,// 地图缩放级别,整形值,范围从1~28.默认为最大

infoUrl: '' // 在查看位置界面底部显示的超链接,可点击跳转

});

}

});

// wx.checkJsApi({

// jsApiList: ['onMenuShareAppMessage'],// 需要检测的JS接口列表,所有JS接口列表见附录2,// success: function(res) {

// // 以键值对的形式返回,可用的api值true,不可用为false

// // 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}

// alert("success");

// }

// });

// btn.onclick = function() {

// div.innerText = "齐天大圣";

// wx.onMenuShareAppMessage({

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

// desc: '我要坚持',// 分享描述

// link: 'http://www.baidu.com',// 分享链接

// imgUrl: 'http://discuz.comli.com/weixin/weather/icon/cartoon.jpg',// 分享图标

// type: 'link',不填默认为link

// dataUrl: '',默认为空

// success: function () {

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

// alert("success");

// },// cancel: function () {

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

// alert("error");

// }

// });

// }

测试js的接口功能,测试会出问题.

更多功能及详细信息,请大家访问http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家.

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微信公众JS-SDK签名算法是用来在网页中调用微信公众号接口时验证身份和保护数据安全的一种机制。下面我来介绍一下如何使用PHP语言实现该签名算法。 1. 首先,你需要获取微信公众号的appid和appsecret,这些信息可以在公众号的开发者后台获取。 2. 在你的PHP代码中,引入微信官方提供的SDK文件,即WechatJSSDK类文件。 3. 创建一个WechatJSSDK对象,并将公众号的appid和appsecret作为参数传递给构造函数。 ```php require_once 'WechatJSSDK.php'; $wechatJSSDK = new WechatJSSDK('your_appid', 'your_appsecret'); ``` 4. 调用WechatJSSDK对象的getSignature方法,传递当前网页的URL作为参数。该方法将返回一个数组,其中包含appId、timestamp、nonceStr和signature。 ```php $url = 'http://example.com/page.html'; $signature = $wechatJSSDK->getSignature($url); ``` 5. 最后,将获取到的signature数组中的数据输出到前端页面,供前端JS调用。 ```php echo json_encode($signature); ``` 通过以上步骤,你就可以在PHP中实现微信公众JS-SDK签名算法了。当网页加载时,可以获取到签名数据,然后在前端JS中初始化微信JS-SDK,进行公众号的相关操作,比如获取用户信息、分享到朋友圈等。 需要注意的是,你需要将WechatJSSDK类文件正确引入,并根据自己的appid和appsecret填写正确的参数。另外,微信的官方文档中也提供了详细的签名算法说明,你可以参考官方文档进行更深入的学习和理解。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值