marp | paginate | style |
---|---|---|
true |
true |
h1 {
color: #0bb8e8;
}
|
微信开发分成几个主要的内容:
- 注册微信帐号
- 开发 ack 服务器
- 开发调用 API
- 开发网页授权服务器
- 创建服务器脚本文件
touch ack.js
- 添加脚本内容
var server = require('express')();
var port = 2048;
server.listen(port, function () {
console.log('Ack server running on ' + port);
console.log(arguments);
});
- 安装
npm install --save express
- 运行服务器
node ack.js
- 成功!
这时会得到结果
Ack server running on 2048
- 首先我们将基本的模块 node-weixin-auth 安装起来
npm install --save node-weixin-auth
- 添加配置信息
var app = {
id: process.env.APP_ID || '你的APPID',
secret: process.env.APP_SECRET || '你的APPSECRET',
token: process.env.APP_TOKEN || '你的APP_TOKEN'
};
- 添加处理代码
server.get('/ack', function (req, res) {
var data = auth.extract(req.query);
auth.ack(app.token, data, function (error, echoStr) {
if (!error) {
res.send(echoStr);
return;
}
switch (error) {
case 1:
res.send('Input Error!');
break;
case 2:
res.send('Signature Not Match!');
break;
default:
res.send('Unknown Error!');
break;
}
});
});
- 全局安装 localtunnel,并获得 lt 命令
npm install -g localtunnel
- 指定 lt 使用的端口
lt --port 2048
这时会有提示:
your url is: https://[xxxx].localtunnel.me
这里[xxxx]是指某一串字符串比如:rjclymnfkf
- 得到微信的响应地址 假设我们当前得到的 url 是:
https://rjclymnfkf.localtunnel.me
那么微信的响应地址就是:
https://rjclymnfkf.localtunnel.me/ack
- 在微信的公众号平台启动开通 ack 连接
登录公众号平台 沿 ·开发· => ·基本配置· => ·服务器配置· => ·服务器地址· 找到配置位置 将 URL 填入输入框 点击[提交],通过即可
沿 ·开发· => ·开发者工具· => ·公众平台测试帐号· 找到[进入]按扭 扫描二维码进入·测试号管理· 点击 ·接口配置信息· 边上的修改 修改完点击[提交],直到成功即可。
- 基于 OAuth 里的 Client Credentials 的 API
- 基于 OAuth 的 Authorization Code 的用户网页登录
- 基于 OAuth 的 Implicit Grant 模式的 jsapi_ticket 的获取,用于 JSSDK 的使用和支付等。
微信的 API 的调用是基于 OAuth2.0 的客户信任(Client Credentials)的。 只需要发送 token 就可以了。 可以有 refresh_token。
微信的网页登录需要使用 OAuth2.0 里的授权代码(Authorization Code)
- JSSDK
- 微信支付的 JS 开发
- 其它基于 JS 的授权机制
微信的 JSSDK 的开发需要在服务器获取 jsapi_ticket,同时要传递当前网页的 URL 地址到微信服务器,并获得配置信息。