1. 什么是微信小程序url与token
在介绍微信小程序url与token的设置之前,我们先来了解一下什么是微信小程序。微信小程序是一种不用下载安装就可直接使用的应用,是一种新的服务形态,也是一种全新的开发方式。它具有轻便、操作简单的特性,可以让用户无需下载安装即可使用。而微信小程序url与token则是微信小程序开发的两个非常重要的概念。
微信小程序url: 是指微信小程序的访问地址,类似于普通网站的URL地址,用户打开微信小程序时就会访问到这个地址。
微信小程序token: 是微信小程序对外接口调用的凭证,每个请求都需要携带token才能正常访问。
2. 微信小程序url的设置
微信小程序url的设置需要分为两步,一是在小程序后台设置服务器配置,二是在服务器端设置响应的接口。
2.1 小程序后台设置服务器配置
在小程序后台设置服务器配置需要填写的参数有:
服务器地址(URL): 服务器地址是指你的小程序将要访问的服务器地址,需要是HTTPS地址,可以是域名、IP地址或者IP:端口号形式。
Token: Token是给第三方用户提供的接口,是各个接口之间进行安全验证的一个口令,可以任意填写,但长度不能超过32个字符,填写后需要在服务器端进行验证。
消息加密方式: 消息加密方式有两种,一种是明文模式,一种是兼容模式,为了保证通信安全建议启用加密模式。
设置完成后,需点击“提交”按钮,然后微信服务器会向该服务器地址发送一个GET请求,请求参数中会包含一个名为echostr的参数,服务器需要将该参数原样返回。
2.2 服务器端设置响应的接口
在服务器端需要实现接口来响应小程序的访问请求,这里以Node.js举例:
const express = require('express');
const app = express();
app.get('/wechat', (req, res) => {
// 获取验证参数
const { signature, timestamp, nonce, echostr } = req.query;
const token = 'your token'; // 与小程序后台的token保持一致
// 将参数排序加密
const str = [token, timestamp, nonce].sort().join('');
const sha1 = sha1(str);
// 验证是否来自微信服务器
if (sha1 === signature) {
res.send(echostr);
} else {
res.send('bad request');
}
});
app.listen(80, () => console.log('Server running at port 80.'));
以上代码是一个简单的Node.js服务器,其中app.get('/wechat')表示响应/wechat路径的GET请求。接口的核心代码是对请求参数进行排序并加密,然后与signature进行比对,从而实现对微信服务器的验证。
重要提示:此处的加密方式为SHA1,需要安装sha1库。
3. 微信小程序token的设置
微信小程序接口对外调用需要携带token才能正常访问,因此需要在小程序后台设置接口安全。
3.1 小程序后台设置接口安全
在小程序后台开发设置中,点击"开发设置",找到"接口设置",开启"不校验合法域名、web-view(业务域名)、TLS版本以及其它安全相关问题",然后将服务器地址添加为合法域名即可。
3.2 接口调用
接口调用的代码如下所示:
const request = require('request');
const token = 'your token'; // 与小程序后台的token保持一致
request.get(`https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET`, (err, res, body) => {
if (err) {
console.log(err);
return;
}
const data = JSON.parse(body);
const access_token = data.access_token;
// 调用微信小程序接口
request.get(`https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=${access_token}`, (err, res, body) => {
if (err) {
console.log(err);
return;
}
console.log(body);
});
});
以上代码是对微信小程序接口进行调用的示例,其中access_token是获取到的token。
4. 总结
微信小程序url与token的设置是微信小程序开发的两个非常重要的概念,url是小程序的访问地址,token是接口调用的凭证。在小程序后台设置服务器配置和接口安全后,在服务器端实现响应的接口即可实现对微信小程序的开发。