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