案例用于本地测试开发,切勿用于线上产品。
流程如下:
1. 访问网站
2. 请求服务端
3. 服务端获取access_token(需要进行缓存)
4. 通过access_token获取jaspi_ticket(需要进行缓存)
5. 生成随机nonceStr和timestamp
6. 将timestamp、nonceStr、jsapi_ticket和url排序然后以key1=value1&key2&value2的形式生成加密字符串str
7. 使用sha1对str进行加密得到signatrue
8. 把signatrue、timestamp、nonceStr、appid返回给前端
9. 前端调用wx.config向微信授权服务器申请API列表
准备工作以及相关信息:
1. 操作系统windows
2. 测试号:https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfoaction=showinfo&t=sandbox/index
3. natapp账号
4. node-v14
5. 微信开发者工具
因为JS安全接口绑定需要绑定域名, 有两种方案,一种是需要自己的云服务器,另外一种是方案是使用内网穿透。本案例使用内网穿透软件-NATAPP(免费)
配置本地服务器
首先启动一个本地服务器,该服务器会进行签名算法,为前端提供返回调用wx.config需要的参数值。
const express = require("express");
const app = express();
const port = 4444;
app.listen(port, () => {
console.log("server started at port 4444");
});
签名算法稍后细说。
NATAPP
natapp的作用是内网穿透,最直接效果就是能够将本地映射到外网。
首先下载NATAPP,同时在官网注册账号。
在NATAPP官网注册登录后,购买免费隧道, 免费隧道的默认端口是80,不要更改&