var express = require('express'); var router = express.Router(); var AppConfig = require('../config'); var qiniu = require('qiniu'); var msgModel = require('../model/message'); var userModel = require('./../model/users'); const getViewAdmin = (req) => { let data = { username: null } if (req.cookies && req.cookies.username) { data.username = req.cookies.username } return data; }; const adminIndexHandler = (req, res, next) => { let data = getViewAdmin(req) res.render('./server/index', data); } router.get('/', adminIndexHandler); router.get('/admin', adminIndexHandler); router.get('/client', function (req, res, next) { res.render('./client/index'); }); router.get('/admin/users', function (req, res, next) { res.render('./server/users'); }); router.get('/admin/setup', async function (req, res, next) { let data = getViewAdmin(req); if(!data.username){ // 没有登录则 直接跳转到首页 res.redirect('/admin'); return; } let info = await userModel.findByUserName(data.username); if(!info){ res.redirect('/admin');return; } console.log(info); res.render('./server/setup', info); }); router.post('/admin/update', async (req, res, next) => { // userModel.updateInfo() let data = req.body; let cookie = req.cookies; if (!cookie.username) { res.send({code: 403, message: '工号格式不正确'}); return; } if (!data.nickname) { res.send({code: 500, message: '昵称不能为空'}); return; } try { await userModel.findByUserName(cookie.username); await userModel.updateInfo(cookie.username, data.nickname, data.description) res.send({code: 200}); } catch (e) { res.send({code: 500, message: e.toString()}); } }); router.post('/admin/login', async function (req, res, next) { console.log('/admin/login'); let data = req.body; if (!data.username) { res.send({code: 201, message: '工号格式不正确'}) return; } try { let user = await userModel.findByUserName(data.username); if (user) { let maxAge = 60 * 1000 * 60 * 24 * 30,httpOnly = true; res.cookie('username', user.username, {httpOnly,httpOnly}) // 该处是设置 cookie 与 httpOnly res.cookie('token', user._id, {httpOnly,httpOnly}) // 该处是设置 cookie 与 httpOnly // req.cookies.set('username', user.username); // req.cookies.set('token', user._id); res.send({ code: 200, user: { token: user._id, username: user.username } }); } else { res.send({code: 403, message: '工号不存在或者格式不正确'}) } } catch (e) { console.log('err', e); res.send({code: 500, message: e.toString()}); } }); // 七牛上传 router.get('/uptoken', function (req, res, next) { var mac = new qiniu.auth.digest.Mac(AppConfig.QINIU.accessKey, AppConfig.QINIU.secretKey); var options = { scope: 'kefu', expires: 7200, mimeLimit: "image/*" }; var putPolicy = new qiniu.rs.PutPolicy(options); var uploadToken = putPolicy.uploadToken(mac); res.send({"uptoken": uploadToken}); }); module.exports = router;