Example #1
0
const kelp    = require('kelp');
const body    = require('kelp-body');
const send    = require('kelp-send');
const route   = require('kelp-route');
const serve   = require('kelp-static');
const logger  = require('kelp-logger');
const config  = require('kelp-config');
const WeChat  = require('../../');

var wx = new WeChat(config);

const app = kelp();

app.use(logger);
app.use(send);
app.use(body);
app.use(serve(__dirname));

app.use(route('/wechat', function(req, res){
  wx.ticket().then(function(ticket){
    // console.log(ticket);
    res.end(JSON.stringify(wx.genSignature(ticket.ticket)(req.query.url)));
  })
}));

app.use(function(req, res, next){
  res.end('Not Found')
})

var server = http.createServer(app).listen(4000);
Example #2
0
app.use(logger);

app.use(route('/callback', function(req, res){
  // step2 get auth token by code
  const { code } = req.query;
  wx.auth_token(code).then(function(token){
    // step3 get user by token
    return wx.auth_user(token.access_token, token.openid);
  }).then(function(user){
    console.log(user);
    res.send(`<!doctype html>
    <html>
    <head>
      <title>${user.nickname} @ WeChat</title>
      <meta name="viewport" content="width=device-width">
      <style>
        body{ text-align: center; }
        .avatar{ width: 200px; }
      </style>
    </head>
    <body>
      <img class="avatar" src="${user.headimgurl}" />
      <h2>${user.nickname}</h2>
      <p>${user.province} / ${user.country}</p>
    </body>
    </html>
    `);
  })
}));

app.use(route('/', function(req, res){