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