修改
This commit is contained in:
parent
ee4eb8b4a7
commit
ab5fc549b3
@ -1,6 +1,7 @@
|
||||
import { Router } from 'express';
|
||||
import testCtrl from './test';
|
||||
import uploadRouter from './upload'
|
||||
import minigameRouter from './minigame'
|
||||
import permission from './../../middleware/permission';
|
||||
|
||||
const router = new Router();
|
||||
@ -8,6 +9,7 @@ const router = new Router();
|
||||
// TODO:
|
||||
router.get('/test', permission, testCtrl);
|
||||
|
||||
router.use('/common', uploadRouter);
|
||||
router.use('/', uploadRouter);
|
||||
router.use('/', minigameRouter);
|
||||
|
||||
export default router;
|
||||
|
18
src/controllers/common/minigame.js
Normal file
18
src/controllers/common/minigame.js
Normal file
@ -0,0 +1,18 @@
|
||||
import { Router } from 'express';
|
||||
|
||||
const router = new Router();
|
||||
// 获取平台列表
|
||||
router.post('/minigame', async (req, res, next) => {
|
||||
const body = req.body;
|
||||
try {
|
||||
console.log(body);
|
||||
res.send({
|
||||
errcode: 0,
|
||||
body
|
||||
});
|
||||
} catch (err) {
|
||||
next(err);
|
||||
}
|
||||
});
|
||||
|
||||
export default router;
|
@ -1,6 +1,7 @@
|
||||
// import GameInfo from '../../models/snoopy/GameInfo';
|
||||
import GameInfo from '../../models/admin/GameInfo';
|
||||
import { Router } from 'express';
|
||||
import { userInfo } from 'os';
|
||||
|
||||
const router = new Router();
|
||||
|
||||
@ -137,6 +138,45 @@ const router = new Router();
|
||||
// }
|
||||
// });
|
||||
|
||||
// TODO: 权限控制
|
||||
|
||||
// 获取游戏列表
|
||||
router.get('/list', async (req, res, next) => {
|
||||
const query = req.query || {};
|
||||
const userPerms = req.user.permissions
|
||||
console.log(req.query)
|
||||
|
||||
try {
|
||||
let search = [];
|
||||
let result = [];
|
||||
if (query.type === 'all') {
|
||||
// 返回所有游戏信息(仅包含游戏_id与游戏名)
|
||||
result = await GameInfo.find({ deleted: false });
|
||||
|
||||
|
||||
} else {
|
||||
// TODO: 只返回有权限查阅的游戏
|
||||
search = await GameInfo.find({ deleted: false });
|
||||
result = search.filter(game => {
|
||||
const uid = game._id
|
||||
return userPerms.includes(`${uid}-readable`) || userPerms.includes(`${uid}-edit`) || userPerms.includes(`${uid}-publish`)
|
||||
})
|
||||
}
|
||||
|
||||
console.log(result)
|
||||
|
||||
|
||||
res.send({
|
||||
errcode: 0,
|
||||
gameList: result,
|
||||
user: req.user
|
||||
});
|
||||
} catch (err) {
|
||||
next(err);
|
||||
}
|
||||
});
|
||||
|
||||
// 保存游戏信息
|
||||
router.post('/save', async (req, res, next) => {
|
||||
const body = req.body;
|
||||
try {
|
||||
@ -147,7 +187,7 @@ router.post('/save', async (req, res, next) => {
|
||||
{ game_name_en: body.game_name_en }
|
||||
]
|
||||
});
|
||||
if (search) {
|
||||
if (search && !search.deleted) {
|
||||
res.send({
|
||||
errcode: 1,
|
||||
errmsg: '游戏已存在!'
|
||||
@ -155,9 +195,96 @@ router.post('/save', async (req, res, next) => {
|
||||
} else {
|
||||
const newGameInfo = new GameInfo(body);
|
||||
const result = await newGameInfo.save();
|
||||
console.log(result);
|
||||
res.send({
|
||||
errcode: 0,
|
||||
gameInfo: result
|
||||
});
|
||||
}
|
||||
} catch (err) {
|
||||
next(err);
|
||||
}
|
||||
});
|
||||
|
||||
// 查找单个游戏信息
|
||||
router.get('/info', async (req, res, next) => {
|
||||
const query = req.query;
|
||||
try {
|
||||
const search = await GameInfo.findOne({
|
||||
_id: query.uid,
|
||||
deleted: false
|
||||
});
|
||||
if (search) {
|
||||
res.send({
|
||||
errcode: 0,
|
||||
gameInfo: search
|
||||
});
|
||||
} else {
|
||||
res.send({
|
||||
errcode: 1,
|
||||
errmsg: '游戏不存在或已删除!'
|
||||
});
|
||||
}
|
||||
} catch (err) {
|
||||
next(err);
|
||||
}
|
||||
});
|
||||
|
||||
// 更新游戏信息
|
||||
router.post('/update', async (req, res, next) => {
|
||||
const body = req.body;
|
||||
|
||||
try {
|
||||
const search = await GameInfo.findOne({
|
||||
_id: body._id,
|
||||
deleted: false
|
||||
});
|
||||
if (search) {
|
||||
const result = await GameInfo.update(
|
||||
{
|
||||
_id: body._id,
|
||||
deleted: false
|
||||
},
|
||||
body
|
||||
);
|
||||
res.send({
|
||||
errcode: 0
|
||||
});
|
||||
} else {
|
||||
res.send({
|
||||
errcode: 1,
|
||||
errmsg: '游戏不存在或已删除!'
|
||||
});
|
||||
}
|
||||
} catch (err) {
|
||||
next(err);
|
||||
}
|
||||
});
|
||||
|
||||
// 删除一个游戏
|
||||
router.post('/del', async (req, res, next) => {
|
||||
const body = req.body;
|
||||
try {
|
||||
const search = await GameInfo.findOne({
|
||||
_id: body.uid,
|
||||
deleted: false
|
||||
});
|
||||
if (search) {
|
||||
const result = await GameInfo.updateOne(
|
||||
{
|
||||
_id: body.uid,
|
||||
deleted: false
|
||||
},
|
||||
{ deleted: true }
|
||||
);
|
||||
res.send({
|
||||
errcode: 0
|
||||
});
|
||||
} else {
|
||||
res.send({
|
||||
errcode: 1,
|
||||
errmsg: '游戏不存在或已删除!'
|
||||
});
|
||||
}
|
||||
} catch (err) {
|
||||
next(err);
|
||||
|
@ -110,4 +110,41 @@ router.post('/edit', async function userEditCtrl(req, res, next) {
|
||||
}
|
||||
});
|
||||
|
||||
router.post('/save', async (req, res, next) => {
|
||||
const body = req.body;
|
||||
const dn = `cn=${body.fullname},ou=people,dc=kingsome,dc=cn`;
|
||||
const entry = {
|
||||
cn: body.fullname,
|
||||
sn: body.fullname,
|
||||
objectClass: [
|
||||
'posixAccount',
|
||||
'inetOrgPerson',
|
||||
'organizationalPerson',
|
||||
'person'
|
||||
],
|
||||
uid: body.username
|
||||
};
|
||||
const client = ldap.createClient({
|
||||
url: config.ldap.url
|
||||
});
|
||||
|
||||
try {
|
||||
client.bind(config.ldap.user, config.ldap.password, function(err, bindRes) {
|
||||
if (err) next(err);
|
||||
client.add(dn, entry, function(err) {
|
||||
if (err) console.log(err);
|
||||
// res.send({
|
||||
// errcode: 0
|
||||
// })
|
||||
|
||||
|
||||
|
||||
|
||||
});
|
||||
});
|
||||
} catch (err) {
|
||||
next(err);
|
||||
}
|
||||
});
|
||||
|
||||
export default router;
|
||||
|
@ -1,13 +1,13 @@
|
||||
import { Router } from 'express';
|
||||
import userInfoRouter from './info'
|
||||
import loginRouter from './login'
|
||||
import editRouter from './edit'
|
||||
|
||||
import permission from '../../middleware/permission';
|
||||
import userInfoRouter from './info';
|
||||
import loginRouter from './login';
|
||||
import editRouter from './edit';
|
||||
|
||||
const router = new Router();
|
||||
|
||||
router.use('/user', userInfoRouter)
|
||||
router.use('/user', loginRouter)
|
||||
router.use('/user', editRouter)
|
||||
router.use('/user', loginRouter);
|
||||
router.use('/user', permission, userInfoRouter);
|
||||
router.use('/user', permission, editRouter);
|
||||
|
||||
export default router;
|
||||
|
@ -70,7 +70,7 @@ router.post('/login', function(req, res, next) {
|
||||
},
|
||||
config.jwtSecret,
|
||||
{
|
||||
expiresIn: 60 * 60 * 2
|
||||
expiresIn: 60 * 60 * 24
|
||||
}
|
||||
);
|
||||
try {
|
||||
|
@ -46,6 +46,7 @@ export default function(req, res, next) {
|
||||
let permissions = [...searchResult.permissions];
|
||||
permissions = combPer(permissions);
|
||||
const userInfo = JSON.parse(JSON.stringify(searchResult));
|
||||
userInfo.permissions = permissions
|
||||
req.user = userInfo;
|
||||
next();
|
||||
}
|
||||
|
@ -11,7 +11,8 @@ const GameInfo = new mongoose.Schema(
|
||||
game_id: { type: String },
|
||||
game_type: { type: String },
|
||||
game_icon: { type: String },
|
||||
platforms: [{type: Object}]
|
||||
platforms: [{type: Object}],
|
||||
deleted: {type: Boolean, default: false}
|
||||
},
|
||||
{
|
||||
collection: 'game_info',
|
||||
|
31
src/models/admin/OpLog.js
Normal file
31
src/models/admin/OpLog.js
Normal file
@ -0,0 +1,31 @@
|
||||
'use strict';
|
||||
import mongoose from 'mongoose';
|
||||
|
||||
const Schema = mongoose.Schema;
|
||||
const ObjectId = Schema.Types.ObjectId;
|
||||
/**
|
||||
* 操作日志
|
||||
*/
|
||||
const OpLog = new mongoose.Schema({
|
||||
// 游戏id
|
||||
admin: {type: ObjectId, ref: 'Admin'},
|
||||
username: {type: String},
|
||||
method: {type: String},
|
||||
show_name: {type: String},
|
||||
// 请求路径
|
||||
path: {type: String},
|
||||
user_agent: {type: String},
|
||||
referer: {type: String},
|
||||
// 请求的param
|
||||
params: {type: Schema.Types.Mixed},
|
||||
// ip
|
||||
ip: {type: String},
|
||||
// 备注
|
||||
comment: {type: String},
|
||||
}, {
|
||||
collection: 'op_logs',
|
||||
timestamps: true,
|
||||
});
|
||||
|
||||
export default mongoose.model('OpLog', OpLog);
|
||||
|
@ -9,9 +9,9 @@ import gamesRouter from './../controllers/games';
|
||||
const router = new Router();
|
||||
|
||||
// 公共接口
|
||||
router.use('/', commonRouter);
|
||||
router.use('/common', permission,commonRouter);
|
||||
// 系统管理
|
||||
router.use('/sys', sysRouter);
|
||||
router.use('/sys', permission,sysRouter);
|
||||
// 用户相关
|
||||
router.use('/', userRouter);
|
||||
// 游戏列表
|
||||
|
Loading…
x
Reference in New Issue
Block a user