| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- const express = require('express');
- const router = express.Router();
- const { User } = require('../models');
- const { tokenStore } = require('../common/token');
- const { allowRegister } = require('../middlewares/web_auth');
- const config = require('../config');
- router.get('/', (req, res, next) => {
- res.render('index', {
- message: req.flash('message'),
- });
- });
- router.get('/login', (req, res, next) => {
- res.render('login');
- });
- router.post('/login', async (req, res, next) => {
- let user = {
- username: req.body.username,
- password: req.body.password,
- };
- let message = '';
- res.locals.isErrorMessage = true;
- try {
- user = await User.findOne({ where: user });
- if (user) {
- req.session.user = user;
- req.flash(
- 'message',
- `欢迎${user.isAdmin ? '管理员' : '普通'}用户 ${
- user.username
- } 登陆系统!`
- );
- return res.redirect('/');
- } else {
- message = '用户名或密码错误';
- }
- } catch (e) {
- console.error(e);
- message = e.message;
- }
- res.render('login', {
- message,
- });
- });
- router.get('/logout', (req, res, next) => {
- req.session.user = undefined;
- req.flash('message', '已退出登录');
- res.redirect('/');
- });
- router.get('/register', allowRegister, (req, res, next) => {
- res.render('register');
- });
- router.post('/register', allowRegister, async (req, res, next) => {
- let user = {
- username: req.body.username,
- password: req.body.password,
- };
- try {
- user = await User.create(user);
- } catch (e) {
- console.error(e);
- }
- });
- router.post('/configure', async (req, res, next) => {
- let user = {
- username: req.body.username,
- password: req.body.password,
- accessToken: req.body.accessToken,
- email: req.body.email,
- prefix: req.body.prefix,
- wechatAppId: req.body.wechatAppId,
- wechatAppSecret: req.body.wechatAppSecret,
- wechatTemplateId: req.body.wechatTemplateId,
- wechatOpenId: req.body.wechatOpenId,
- wechatVerifyToken: req.body.wechatVerifyToken,
- };
- try {
- user = await User.create(user);
- tokenStore.set(user.prefix, {
- appId: user.wechatAppId,
- appSecret: user.wechatAppSecret,
- templateId: user.wechatTemplateId,
- openId: user.wechatOpenId,
- wechatVerifyToken: user.wechatVerifyToken,
- token: '',
- });
- } catch (e) {
- console.error(e);
- }
- });
- module.exports = router;
|