微信公众号开发追重要的就是要把微信与云连接起来。
1.进入测试
2.申请好云:
3.开始配置:
- 1.不管怎么样,先在云空间里根目录下放置了一个token/index.php文件,这个文件的内容为(另存文件index.php)
index.php里的token值,这个值是可以变的,但是要和微信公众号里的token值一一对应。
- 2.理解这个index.php文件是干嘛的?是为了验证我们的这个微信账号能够与我们的空间里的内容进行衔接。
- 2.1 设置微信公众号里的“服务器配”,输入Url和token(还要在开发者工具里的公众号测试帐号里再设置一个url和token)这两者设置的应该是一模一样。(这两者设置,是为了和新浪云空间里的Index.php进行验证。)
- 2.2 我们只需要配置url、token按钮成功了,我们的token认证过程,就完成了。
- 3.JS接口安全域名的配置(千万注意不要有http://和/index.php这些内容)
- 3.1需要用我们的手机微信,扫描测试帐号的二维码;
- JS-SDK---> JavaScript Software Development Kit
- 4.上传sample.zip下的php.zip,或者是上传自己的个人简介项目到新浪云空间;(上传项目)
- 5.千万注意将access_token.php、jsapi_ticket.php和jssdk.php三个php文件放置在我们项目的同一级目录;
- 6.修改我们的主文件,比如index.html,将它修改成index.php后缀文件(修改文件后缀),将在它最上面加入:
<?php
require_once "jssdk.php";
$jssdk = new JSSDK("wxa296e9f72961b27a", "00d042cf8a330644509e4d65f005e751");
$signPackage = $jssdk->GetSignPackage();
?>
这一段代码,注意jssdk的参数,一个是appId,另一个是appSecret,修改成自己的参数值;
- 7.加入wenxi支持的js类库: <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
- 8.获取签名等动态的变量信息,然后加入到wx的配置信息里进行验证:
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 都要加到这个列表中
'scanQRCode','chooseImage'
]
});
这里千万注意jsApiList里,想要调用哪些一些weixin的api就写哪一些,不用的,不要写。
- 9.在配置完成以后我们可以写wx.ready()....这里是wx操作的一些初始化工作内容。
- 10.注意:如果说我们把微信操作放置到我们自己的一些按钮,或者a标签里进行调用的话,我们需要将微信操作的具体内容放置到函数中去,而这个函数千万不要放到wx.ready里面,需要将它们放置到外面来。
function chooseImg(){
wx.chooseImage({
count: 1, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: function (res) {
var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
}
});
}
- 11.将我们的index.php进行浏览,并查看它的url,将这个url生成为二维码;
- 12.打开我们的微信,进行二维码扫描,然后进行后续操作。
- 13.jssdk的调用算是成功完成。
- 14.新建立一个getSign.php文件,将sample.php最上面签名输出的代码复制粘贴到该文件中,并进行内容的输出
<?php
require_once "jssdk.php";
$jssdk = new JSSDK("wxa296e9f72961b27a", "00d042cf8a330644509e4d65f005e751");
$signPackage = $jssdk->GetSignPackage($_POST['url']);
echo json_encode($signPackage);
?>
而且需要注意$_POST['url']参数的获取
- 15.建立一个index.html,在该文件中进行jquery的ajax请求操作,需要将url:window.location.href当成参数进行传递请求
- 16.修改jssdk,第12行 public function getSignPackage($url) {中需要将$url参数传递进去;
- 17.修改jssdk,第17行, $url = $url ? $url : "$protocol$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";修改成三目运算符,如果有参数,则对传递过来的参数地址进行加密操作,如果没有参数,自动获取当前地址加密;
- 18.补充:我们需要在微信公众号里设置自定义菜单,但是由于我们未认证或者权限不足,我们只能发图文信息,需要通过原文链接进行url的外链,点击到我们的项目地址。在实现这个操作之前,需要我们扫描正式的二维码(在公众号设置里)