zoukankan      html  css  js  c++  java
  • node微信接入后台服务器

    1.本地微信环境搭建(frp/路由器做端口映射)

    --服务器frp配置并启动:./frps -c ./frps.ini & (注意:打开7000端口)

    # frps.ini
    [common]
    bind_port = 7000
    vhost_http_port = 8888
    

    --客户端frp配置:start  ./frpc -c ./frpc.ini

    # frpc.ini
    [common]
    server_addr = 39.108.139.60
    server_port = 7000
    
    [web]
    type = http
    local_port = 8888 #端口任意
    custom_domains = maoriaty.top

    注意:服务器端的http端口和客户端的http端口无关,所以更换端口只需修改客户端即可

    --nginx配置:注意微信只接入80或443端口,所以nginx代理端口必须为80或443

    #test local proxy
    server
    {
        listen 80;
        server_name t.maoriaty.top;
    
        expires 300d;
        gzip on;
    
        location / {
            proxy_pass  http://127.0.0.1:8888;
            proxy_redirect default;
            proxy_set_header Host $host; 
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }

    --创建.bat文件批处理启动本地服务器和链接:

    cd /d "E:JabinDOCfrp_0.13.0_windows_amd64"
    start ./frpc -c ./frpc.ini

    2.微信接入

    --app.js接入文件

    var express = require('express');
    var crypto = require('crypto');
    var config = {
        "AppId": 'wx1af02f9490ff3e98',
        "AppSecret": '92bd3a03d76da03abba6b7d1c25c23a7',
        "Token": 'maoriaty'
    }
    
    var app = express();
    
    app.get('/',function(req,res){
        var signature = req.query.signature;
        var timestamp = req.query.timestamp;
        var nonce = req.query.nonce;
        var echostr = req.query.echostr;
    
        var str = [config.Token,timestamp,nonce].sort().join('');
        var sha1 = crypto.createHash('sha1').update(str,'utf-8').digest('hex');
        if(sha1 == signature){
            res.send(echostr);
        }else{
            res.send('err');
        }
        console.log(signature+'==='+sha1);
    })
    
    var server = app.listen('8888',function(){
        console.log('the port is %s',server.address().port);
    })

    --启动app.js然后微信后台接入即可

    --如果不需验证加密,最简单可以如下:

    // ====================微信接入====================  //
    const app = require("express")(),
    app.get('/',(req,res) => res.send(req.query.echostr;))
    let server = app.listen(8888,() => console.log('the port is %s',server.address().port);
  • 相关阅读:
    重新开始学习Linux
    2006:远离windows, 拥抱linux!
    适合做首页的网站: http://www.netvibes.com/
    netvibes出问题了,登陆不进去。
    推荐开源的rss阅读器rssreader 3.0,支持中文
    ubuntu的即时通讯gaim不错, 如何连qq呢?
    linux是否能把显示改为1024x768呢?
    通过IRC学习ubuntu很不错
    Firefox 扩展软件介绍(转载) Mozine 论坛
    几个有意思的网站
  • 原文地址:https://www.cnblogs.com/maoriaty/p/7284407.html
Copyright © 2011-2022 走看看