kefu/routes/index.js

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;