index.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. const express = require('express');
  2. const router = express.Router();
  3. const { User } = require('../models');
  4. const { tokenStore } = require('../common/token');
  5. router.get('/', (req, res, next) => {
  6. res.render('index', {
  7. message: '',
  8. });
  9. });
  10. router.get('/login', (req, res, next) => {
  11. res.render('login', {
  12. message: '',
  13. });
  14. });
  15. router.post('/login', async (req, res, next) => {
  16. let user = {
  17. username: req.body.username,
  18. password: req.body.password,
  19. };
  20. let message = '';
  21. try {
  22. user = await User.findOne({ where: user });
  23. if (user) {
  24. req.session.user = user;
  25. return res.redirect('/');
  26. } else {
  27. message = '用户名或密码错误';
  28. }
  29. } catch (e) {
  30. console.error(e);
  31. message = e.message;
  32. }
  33. res.render('login', {
  34. message,
  35. });
  36. });
  37. router.get('/register', (req, res, next) => {
  38. res.render('register');
  39. });
  40. router.post('/register', async (req, res, next) => {
  41. let user = {
  42. username: req.body.username,
  43. password: req.body.password,
  44. };
  45. try {
  46. user = await User.create(user);
  47. } catch (e) {
  48. console.error(e);
  49. }
  50. });
  51. router.post('/configure', async (req, res, next) => {
  52. let user = {
  53. username: req.body.username,
  54. password: req.body.password,
  55. accessToken: req.body.accessToken,
  56. email: req.body.email,
  57. prefix: req.body.prefix,
  58. wechatAppId: req.body.wechatAppId,
  59. wechatAppSecret: req.body.wechatAppSecret,
  60. wechatTemplateId: req.body.wechatTemplateId,
  61. wechatOpenId: req.body.wechatOpenId,
  62. wechatVerifyToken: req.body.wechatVerifyToken,
  63. };
  64. try {
  65. user = await User.create(user);
  66. tokenStore.set(user.prefix, {
  67. appId: user.wechatAppId,
  68. appSecret: user.wechatAppSecret,
  69. templateId: user.wechatTemplateId,
  70. openId: user.wechatOpenId,
  71. wechatVerifyToken: user.wechatVerifyToken,
  72. token: '',
  73. });
  74. } catch (e) {
  75. console.error(e);
  76. }
  77. });
  78. module.exports = router;