微信小程序配置-服务端nodejs版

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 };

以上就是注意的点,基本配置结束就可以愉快的开发小程序了.

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值