1.微信小程序服务器域名设置
1.在这我想说的是,如果你涉及到和你自己的服务器进行交互,则服务器域名必须支持https协议。在阿里云和腾讯云都可以进行免费申请https证书。我自己用的是腾讯云的,操作步骤链接:腾讯与https申请。
2.服务器端https请求配置代码如下,我用的是koa2web端框架(推荐使用)
const koa = require('koa');
const path = require('path');
const webstatic = require('koa-static');
const fs = require('fs');
const enforceHttps = require('koa-sslify');
const http = require('http');
const https = require('https');
const router = require(path.join(__dirname, 'router', './router.js')).router;
//加载静态资源
const staticPath = path.join(__dirname, 'static');
const staticConf = webstatic(staticPath);
const app = new koa();
app.use(enforceHttps({
trustProtoHeader: false
}));
app.use(staticConf);
//使用证书里的nginx文件夹中的证书内容
const options = {
key: fs.readFileSync(path.join(__dirname, 'ssls', 'XX.key')),
cert: fs.readFileSync(path.join(__dirname, 'ssls', 'XX.crt'))
};
router(app);
http.createServer(app.callback()).listen(80);
https.createServer(options, app.callback()).listen(443);
2.消息推送服务器设置
1.在你填写token后,点击提交时会去自动访问你所填写的服务器url地址,所以需要你提前配置好请求地址,为get请求
2.校验方式为sha1,需要安装sha1模块,值得注意的是若签名校验失败,请核对是否是对值进行字典序排序而不是对参数名进行排序,具体代码如下:
/**
* @version 1.0 微信小程序校验
*
*/
const path = require('path');
const util = require(path.join(__dirname, '../', 'util.js')).Util;
const wechatLanuch = (ctx) => {
console.log('校验微信小程序');
let param = ctx.query;
console.log('打印传输内容');
console.log(param);
if (param) {
let sign = param.signature;
let very = [param.timestamp, param.nonce];
let verySign = util.encodeData(very);
//校验的签名
console.log(verySign);
console.log(sign);
if (sign == verySign) {
ctx.response.body = param.echostr;
console.log('校验成功');
} else {
ctx.response.body = { 'msg': 'vaild error' };
}
}
};
module.exports = { wechatLanuch };
/**
* @version 1.0 消息加密
*
*/
const path = require('path');
const sha1 = require('sha1');
const conf = require(path.join(__dirname, 'wechat', 'conf.json'));
class Util {
static encodeData(data) {
//添加令牌token
data.push(conf.token);
//字典序排序
data.sort();
let str = '';
for (let i = 0; i < data.length; i++) {
str += data[i];
}
return sha1(str);
}
}
module.exports = { Util };
以上就是注意的点,基本配置结束就可以愉快的开发小程序了.