102 lines
3.0 KiB
JavaScript
102 lines
3.0 KiB
JavaScript
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', function (req, res, next) {
|
|
let data = getViewAdmin(req)
|
|
res.render('./server/setup', data);
|
|
});
|
|
|
|
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;
|