init
This commit is contained in:
parent
3fd29c524f
commit
4aba59a4fc
18
src/controllers/games/games.js
Normal file
18
src/controllers/games/games.js
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
import GameInfo from '../../models/snoopy/GameInfo';
|
||||||
|
|
||||||
|
async function gameListCtrl(req, res, next) {
|
||||||
|
try {
|
||||||
|
const result = await GameInfo.find({deleted: false});
|
||||||
|
res.send({
|
||||||
|
errcode: 0,
|
||||||
|
gameList: result
|
||||||
|
});
|
||||||
|
} catch (err) {
|
||||||
|
next(err);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export {
|
||||||
|
gameListCtrl
|
||||||
|
|
||||||
|
};
|
10
src/controllers/games/index.js
Normal file
10
src/controllers/games/index.js
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import { Router } from 'express';
|
||||||
|
import {gameListCtrl} from './games';
|
||||||
|
|
||||||
|
|
||||||
|
const router = new Router();
|
||||||
|
|
||||||
|
router.get('/list', gameListCtrl);
|
||||||
|
|
||||||
|
|
||||||
|
export default router;
|
@ -5,7 +5,7 @@ async function permissionListCtrl(req, res, next) {
|
|||||||
const result = await Role.find({});
|
const result = await Role.find({});
|
||||||
res.send({
|
res.send({
|
||||||
errcode: 0,
|
errcode: 0,
|
||||||
permissionList: result
|
roleList: result
|
||||||
});
|
});
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
next(err);
|
next(err);
|
||||||
@ -58,15 +58,28 @@ async function permissionAddCtrl(req, res, next) {
|
|||||||
|
|
||||||
async function permissionDelCtrl(req, res, next) {
|
async function permissionDelCtrl(req, res, next) {
|
||||||
const body = req.body;
|
const body = req.body;
|
||||||
|
// 批量删除
|
||||||
|
if (body.roleList) {
|
||||||
try {
|
try {
|
||||||
const delResult = await Role.deleteOne({ rolename: body.rolename });
|
for(let i = 0; i < body.roleList.length; i++) {
|
||||||
console.log(delResult);
|
await Role.deleteOne({ rolename: body.roleList[i].rolename })
|
||||||
|
}
|
||||||
res.send({
|
res.send({
|
||||||
errcode: 0
|
errcode: 0
|
||||||
});
|
});
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
next(err);
|
next(err);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
const delResult = await Role.deleteOne({ rolename: body.rolename });
|
||||||
|
res.send({
|
||||||
|
errcode: 0
|
||||||
|
});
|
||||||
|
} catch (err) {
|
||||||
|
next(err);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export {
|
export {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import ldap from 'ldapjs';
|
import ldap from 'ldapjs';
|
||||||
import config from '../../../config/config';
|
import config from '../../../config/config';
|
||||||
import { User, LdapUser } from '../../models/admin/User';
|
import { User, LdapUser } from '../../models/admin/User';
|
||||||
import combPer from '../../utils/comb-permissions';
|
import {combPer, combRole} from '../../utils/comb-permissions';
|
||||||
|
|
||||||
async function userListCtrl(req, res, next) {
|
async function userListCtrl(req, res, next) {
|
||||||
const client = ldap.createClient({
|
const client = ldap.createClient({
|
||||||
@ -46,7 +46,6 @@ async function userListCtrl(req, res, next) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
compUserList.map(async user => {
|
compUserList.map(async user => {
|
||||||
console.log(user.cn);
|
|
||||||
if (!user.userInfo) {
|
if (!user.userInfo) {
|
||||||
const newUser = new User({
|
const newUser = new User({
|
||||||
_id: user.uidNumber,
|
_id: user.uidNumber,
|
||||||
@ -67,13 +66,16 @@ async function userListCtrl(req, res, next) {
|
|||||||
|
|
||||||
compUserList = compUserList.map(user => {
|
compUserList = compUserList.map(user => {
|
||||||
let permissions = user.userInfo.permissions;
|
let permissions = user.userInfo.permissions;
|
||||||
|
let roles = combRole(permissions);
|
||||||
permissions = combPer(permissions);
|
permissions = combPer(permissions);
|
||||||
let userInfo = user.userInfo;
|
let userInfo = user.userInfo;
|
||||||
userInfo.permissions = permissions;
|
userInfo.permissions = permissions;
|
||||||
|
userInfo.roles = roles;
|
||||||
return userInfo;
|
return userInfo;
|
||||||
});
|
});
|
||||||
|
|
||||||
res.send({
|
res.send({
|
||||||
|
errcode: 0,
|
||||||
userList: compUserList
|
userList: compUserList
|
||||||
});
|
});
|
||||||
client.unbind();
|
client.unbind();
|
||||||
@ -87,12 +89,10 @@ async function userListCtrl(req, res, next) {
|
|||||||
|
|
||||||
async function userEditCtrl(req, res, next) {
|
async function userEditCtrl(req, res, next) {
|
||||||
const body = req.body;
|
const body = req.body;
|
||||||
console.log(body);
|
|
||||||
const username = body.username;
|
const username = body.username;
|
||||||
delete body.username;
|
delete body.username;
|
||||||
try {
|
try {
|
||||||
const searchResult = await LdapUser.findOne({ uid: username });
|
const searchResult = await LdapUser.findOne({ uid: username });
|
||||||
console.log(searchResult);
|
|
||||||
if (searchResult) {
|
if (searchResult) {
|
||||||
await User.updateOne({ username }, body);
|
await User.updateOne({ username }, body);
|
||||||
res.send({
|
res.send({
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
import jwt from 'jsonwebtoken';
|
import jwt from 'jsonwebtoken';
|
||||||
import config from '../../../config/config';
|
import config from '../../../config/config';
|
||||||
import { LdapUser } from '../../models/admin/User';
|
import { LdapUser } from '../../models/admin/User';
|
||||||
import combPer from '../../utils/comb-permissions';
|
import {combPer, combRole} from '../../utils/comb-permissions';
|
||||||
|
|
||||||
export default function(req, res, next) {
|
export default function(req, res, next) {
|
||||||
console.log('获用户信息')
|
|
||||||
const BearerToken = req.headers.authorization;
|
const BearerToken = req.headers.authorization;
|
||||||
console.log(BearerToken);
|
|
||||||
if (!BearerToken) {
|
if (!BearerToken) {
|
||||||
// 无权限
|
// 无权限
|
||||||
res.send({
|
res.send({
|
||||||
@ -48,9 +46,11 @@ export default function(req, res, next) {
|
|||||||
} else {
|
} else {
|
||||||
|
|
||||||
let permissions = [...searchResult.userInfo.permissions];
|
let permissions = [...searchResult.userInfo.permissions];
|
||||||
|
let roles = combRole(permissions);
|
||||||
permissions = combPer(permissions);
|
permissions = combPer(permissions);
|
||||||
const userInfo = JSON.parse(JSON.stringify(searchResult.userInfo));
|
const userInfo = JSON.parse(JSON.stringify(searchResult.userInfo));
|
||||||
userInfo.permissions = permissions;
|
userInfo.permissions = permissions;
|
||||||
|
userInfo.roles = roles;
|
||||||
res.send({
|
res.send({
|
||||||
errcode: 0,
|
errcode: 0,
|
||||||
userInfo
|
userInfo
|
||||||
|
@ -4,7 +4,6 @@ import config from '../../../config/config';
|
|||||||
import {User} from '../../models/admin/User';
|
import {User} from '../../models/admin/User';
|
||||||
|
|
||||||
export default function(req, res, next) {
|
export default function(req, res, next) {
|
||||||
console.log('登录')
|
|
||||||
const body = req.body;
|
const body = req.body;
|
||||||
const client = ldap.createClient({
|
const client = ldap.createClient({
|
||||||
url: config.ldap.url
|
url: config.ldap.url
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import jwt from 'jsonwebtoken';
|
import jwt from 'jsonwebtoken';
|
||||||
import config from '../../config/config';
|
import config from '../../config/config';
|
||||||
import { LdapUser } from '../models/admin/User';
|
import { LdapUser } from '../models/admin/User';
|
||||||
import combPer from '../utils/comb-permissions'
|
import { combPer, combRole } from '../utils/comb-permissions';
|
||||||
|
|
||||||
export default function(req, res, next) {
|
export default function(req, res, next) {
|
||||||
const BearerToken = req.headers.authorization;
|
const BearerToken = req.headers.authorization;
|
||||||
@ -32,13 +32,14 @@ export default function(req, res, next) {
|
|||||||
// 获取用户信息
|
// 获取用户信息
|
||||||
try {
|
try {
|
||||||
const username = decode.username;
|
const username = decode.username;
|
||||||
const searchResult = await LdapUser.findOne({ uid: username }).populate({
|
const searchResult = await LdapUser.findOne({ uid: username })
|
||||||
|
.populate({
|
||||||
path: 'userInfo',
|
path: 'userInfo',
|
||||||
populate: {
|
populate: {
|
||||||
path: 'permissions'
|
path: 'permissions'
|
||||||
}
|
}
|
||||||
}).exec();
|
})
|
||||||
console.log(searchResult);
|
.exec();
|
||||||
if (!searchResult) {
|
if (!searchResult) {
|
||||||
res.send({
|
res.send({
|
||||||
errcode: 1,
|
errcode: 1,
|
||||||
|
@ -18,18 +18,18 @@ const UserSchema = new mongoose.Schema(
|
|||||||
default:
|
default:
|
||||||
'https://hbimg.huabanimg.com/dd46766769229284b75a0142d239c3f7a5f4a2bf37ead-9XoIGZ_fw658'
|
'https://hbimg.huabanimg.com/dd46766769229284b75a0142d239c3f7a5f4a2bf37ead-9XoIGZ_fw658'
|
||||||
},
|
},
|
||||||
// 角色
|
// 角色, 可忽略,角色主要来源于 permissions 填充
|
||||||
roles: [{ type: String }],
|
roles: [{ type: String }],
|
||||||
// 权限组
|
// 权限组
|
||||||
permissions: [{ type: String, ref: 'Role' }],
|
permissions: [{ type: String, ref: 'Role' }],
|
||||||
// 状态
|
// 状态
|
||||||
status: { type: String, default: '0' },
|
status: { type: String, default: '1' },
|
||||||
// 签名
|
// 签名
|
||||||
signature: { type: String },
|
signature: { type: String, default: '' },
|
||||||
// 备注
|
// 备注
|
||||||
comment: { type: String },
|
comment: { type: String, default: '' },
|
||||||
// 更改人
|
// 更改人
|
||||||
lastModifiedBy: { type: String },
|
lastModifiedBy: { type: String, default: 'system' },
|
||||||
// 最后登录时间
|
// 最后登录时间
|
||||||
lastLogin: { type: Date }
|
lastLogin: { type: Date }
|
||||||
},
|
},
|
||||||
@ -52,7 +52,11 @@ const RoleSchema = new mongoose.Schema(
|
|||||||
// 备注
|
// 备注
|
||||||
comment: { type: String },
|
comment: { type: String },
|
||||||
// 权限
|
// 权限
|
||||||
permissions: [{ type: String }]
|
permissions: [{ type: String }],
|
||||||
|
// 权限表 - 页面
|
||||||
|
basePermissionTable: {type: String},
|
||||||
|
// 权限表 - 游戏
|
||||||
|
gamePermissionTable: {type: String}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
collection: 'roles',
|
collection: 'roles',
|
||||||
@ -70,7 +74,7 @@ const LdapUserSchema = new mongoose.Schema(
|
|||||||
userInfo: { type: String, ref: 'User' }
|
userInfo: { type: String, ref: 'User' }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
collection: 'ldap-users',
|
collection: 'ldap_users',
|
||||||
timestamps: true
|
timestamps: true
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
@ -4,12 +4,14 @@ import {Router} from 'express';
|
|||||||
import commonRouter from './../controllers/common'
|
import commonRouter from './../controllers/common'
|
||||||
import sysRouter from './../controllers/sys'
|
import sysRouter from './../controllers/sys'
|
||||||
import userRouter from './../controllers/user'
|
import userRouter from './../controllers/user'
|
||||||
|
import gamesRouter from './../controllers/games'
|
||||||
|
|
||||||
const router = new Router();
|
const router = new Router();
|
||||||
|
|
||||||
router.use('/common', commonRouter);
|
router.use('/common', commonRouter);
|
||||||
router.use('/sys', sysRouter);
|
router.use('/sys', sysRouter);
|
||||||
router.use('/user', userRouter);
|
router.use('/user', userRouter);
|
||||||
|
router.use('/games', gamesRouter);
|
||||||
|
|
||||||
|
|
||||||
export default router
|
export default router
|
@ -1,4 +1,4 @@
|
|||||||
export default function(perArr) {
|
function combPer(perArr) {
|
||||||
let permissions = perArr;
|
let permissions = perArr;
|
||||||
permissions = permissions.map(permission => {
|
permissions = permissions.map(permission => {
|
||||||
return permission.permissions;
|
return permission.permissions;
|
||||||
@ -8,3 +8,13 @@ export default function(perArr) {
|
|||||||
}, []);
|
}, []);
|
||||||
return [...new Set(permissions)];
|
return [...new Set(permissions)];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function combRole(perArr) {
|
||||||
|
let roles = perArr;
|
||||||
|
roles = roles.map(role => {
|
||||||
|
return role.name
|
||||||
|
});
|
||||||
|
return roles;
|
||||||
|
}
|
||||||
|
|
||||||
|
export { combPer, combRole };
|
||||||
|
@ -23,7 +23,6 @@ app.get('/', function(req, res, next) {
|
|||||||
//第一个参数:是用户,必须是从根节点到用户节点的全路径
|
//第一个参数:是用户,必须是从根节点到用户节点的全路径
|
||||||
//第二个参数:用户密码
|
//第二个参数:用户密码
|
||||||
client.bind('cn=admin,dc=kingsome,dc=cn', 'milesQWE321', function(err, res1) {
|
client.bind('cn=admin,dc=kingsome,dc=cn', 'milesQWE321', function(err, res1) {
|
||||||
console.log(err);
|
|
||||||
//开始查询
|
//开始查询
|
||||||
//第一个参数:查询基础路径,代表在查询用户信心将在这个路径下进行,这个路径是由根节开始
|
//第一个参数:查询基础路径,代表在查询用户信心将在这个路径下进行,这个路径是由根节开始
|
||||||
//第二个参数:查询选项
|
//第二个参数:查询选项
|
||||||
@ -43,14 +42,12 @@ app.get('/', function(req, res, next) {
|
|||||||
|
|
||||||
//查询错误事件
|
//查询错误事件
|
||||||
res2.on('error', function(err) {
|
res2.on('error', function(err) {
|
||||||
console.error('error: ' + err.message);
|
|
||||||
//unbind操作,必须要做
|
//unbind操作,必须要做
|
||||||
client.unbind();
|
client.unbind();
|
||||||
});
|
});
|
||||||
|
|
||||||
//查询结束
|
//查询结束
|
||||||
res2.on('end', function(result) {
|
res2.on('end', function(result) {
|
||||||
console.log(entries)
|
|
||||||
if (entries.length !== 0) {
|
if (entries.length !== 0) {
|
||||||
client.bind(entries[0].dn, 'yulixing123456', function(
|
client.bind(entries[0].dn, 'yulixing123456', function(
|
||||||
err,
|
err,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user