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);
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){