module admin
This commit is contained in:
@@ -5,14 +5,20 @@ const { inject } = require('../../common/Provider');
|
||||
const Admin = require('./admin.model');
|
||||
const Action = require('../action/action.model');
|
||||
const Ticket = require('../ticket/ticket.model');
|
||||
const User = require('../user/user.model');
|
||||
const crypto = require('../../utils/crypto');
|
||||
|
||||
module.exports = {
|
||||
signin: function (SysConfig) {
|
||||
signup: inject(function (SysConfig) {
|
||||
const { JWT_SECRET } = SysConfig;
|
||||
return async (req, res) => {
|
||||
const { adminId, passwd } = req.headers;
|
||||
if (!adminId || !passwd) return res.json({ code: 1, msg: '密码错误' });
|
||||
const admin = await Admin.findOne({ id: adminId, passwd });
|
||||
const { name, passwd = '' } = req.body;
|
||||
const exist = await Admin.exists({ name });
|
||||
if (exist) return res.json({
|
||||
code: 1,
|
||||
msg: '已存在'
|
||||
});
|
||||
const admin = await new Admin({ name, passwd: crypto.hash(passwd) }).save();
|
||||
// res.locals.user
|
||||
// const { userId } = res.locals.user;
|
||||
const token = createToken({
|
||||
@@ -25,12 +31,34 @@ module.exports = {
|
||||
}
|
||||
});
|
||||
};
|
||||
},
|
||||
}),
|
||||
signin: inject(function (SysConfig) {
|
||||
const { JWT_SECRET } = SysConfig;
|
||||
return async (req, res) => {
|
||||
const { name, passwd } = req.body;
|
||||
if (!name || !passwd) return res.json({ code: 1, msg: '密码错误' });
|
||||
const admin = await Admin.findOne({ name, passwd });
|
||||
// res.locals.user
|
||||
// const { userId } = res.locals.user;
|
||||
if (!admin) return res.json({
|
||||
code: 2,
|
||||
msg: '用户名或密码错误'
|
||||
});
|
||||
const token = createToken({
|
||||
adminId: admin._id
|
||||
}, JWT_SECRET, {});
|
||||
return res.json({
|
||||
code: 0,
|
||||
data: {
|
||||
token
|
||||
}
|
||||
});
|
||||
};
|
||||
}),
|
||||
async getUserActions (req, res) {
|
||||
const { adminId } = res.locals.user;
|
||||
if (!adminId) return res.json({ code: 1, msg: '非法访问' });
|
||||
const { userId, type, op } = req.body;
|
||||
await Action.find({ userId, type, op }).then(data => {
|
||||
await Action.find({ ...req.body }).then(data => {
|
||||
return res.json({
|
||||
code: 0,
|
||||
data
|
||||
@@ -45,8 +73,7 @@ module.exports = {
|
||||
async getDepositTicket (req, res) {
|
||||
const { adminId } = res.locals.user;
|
||||
if (!adminId) return res.json({ code: 1, msg: '非法访问' });
|
||||
const { userId, type, status } = req.body;
|
||||
await Ticket.find({ userId, status, type }).then(data => {
|
||||
await Ticket.find({ ...req.body }).then(data => {
|
||||
return res.json({
|
||||
code: 0,
|
||||
data
|
||||
@@ -57,5 +84,21 @@ module.exports = {
|
||||
msg: err.msg
|
||||
});
|
||||
});
|
||||
},
|
||||
async getUsers (req, res) {
|
||||
const { adminId } = res.locals.user;
|
||||
if (!adminId) return res.json({ code: 1, msg: '非法访问' });
|
||||
const [sum, data] = await Promise.all([User.count({}), User.find({ ...req.body })]).catch(err => {
|
||||
return [err.msg, ''];
|
||||
});
|
||||
if (!Array.isArray(data)) return res.json({
|
||||
code: 1,
|
||||
msg: sum
|
||||
});
|
||||
return res.json({
|
||||
code: 0,
|
||||
data,
|
||||
sum
|
||||
});
|
||||
}
|
||||
};
|
||||
@@ -3,6 +3,10 @@
|
||||
const mongoose = require('mongoose');
|
||||
|
||||
const AdminSchema = new mongoose.Schema({
|
||||
name: {
|
||||
type: String,
|
||||
default: 'admin'
|
||||
},
|
||||
passwd: {
|
||||
type: String
|
||||
},
|
||||
|
||||
@@ -1,18 +1,29 @@
|
||||
'use strict';
|
||||
|
||||
const indexRoute = '/admin/api';
|
||||
const indexRoute = '/admin';
|
||||
const controller = require('./admin.controller');
|
||||
const services = [
|
||||
{
|
||||
url: '/in',
|
||||
method: 'GET',
|
||||
method: 'POST',
|
||||
controller: controller.signin
|
||||
},
|
||||
{
|
||||
url: '/actions',
|
||||
method: 'POST',
|
||||
controller: controller.getUserActions
|
||||
}
|
||||
},
|
||||
{
|
||||
url: '/tickets',
|
||||
method: 'POST',
|
||||
controller: controller.getDepositTicket
|
||||
},
|
||||
{
|
||||
url: '/users',
|
||||
method: 'POST',
|
||||
controller: controller.getUsers
|
||||
},
|
||||
|
||||
];
|
||||
|
||||
module.exports = services.map(service => {
|
||||
|
||||
Reference in New Issue
Block a user