明树Git Lab
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
J
jt_backend
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zengfanpei
jt_backend
Commits
3c3f5ea8
Commit
3c3f5ea8
authored
Oct 28, 2025
by
zfp1
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
1b44a342
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
92 additions
and
21 deletions
+92
-21
dev.json
config/dev.json
+1
-0
roleController.js
controller/roleController.js
+32
-6
userController.js
controller/userController.js
+44
-7
index.js
db/index.js
+4
-0
role.js
db/model/role.js
+4
-4
roleMenu.js
db/model/roleMenu.js
+1
-1
user.js
db/model/user.js
+2
-1
userRole.js
db/model/userRole.js
+1
-1
userRouter.js
router/userRouter.js
+3
-1
No files found.
config/dev.json
View file @
3c3f5ea8
{
"tokenEx"
:
86400000000
,
"userDefaultPassword"
:
"GZB123JT."
,
"file"
:
{
"storagePath"
:
"/uploadfiles"
},
...
...
controller/roleController.js
View file @
3c3f5ea8
const
errorMessage
=
require
(
"../utils/errorMessage"
);
async
function
createRole
(
req
,
res
,
next
)
{
try
{
const
body
=
req
.
body
;
const
ret
=
await
userModu
le
.
create
(
body
);
const
ret
=
await
DB
.
Ro
le
.
create
(
body
);
return
res
.
sendData
(
ret
);
}
catch
(
error
)
{
next
(
error
);
...
...
@@ -14,7 +16,8 @@ async function updateRole(req, res, next) {
if
(
!
body
.
id
)
{
return
res
.
sendError
(
errorMessage
.
resourceNotFound
)
}
const
ret
=
await
userModule
.
updateOne
({
id
:
body
.
id
},
body
);
// sequelize 只有update 写时需要注意条件 不能为空
const
ret
=
await
DB
.
Role
.
update
(
body
,
{
where
:
{
id
:
body
.
id
}
});
return
res
.
sendData
(
ret
);
}
catch
(
error
)
{
next
(
error
);
...
...
@@ -23,15 +26,34 @@ async function updateRole(req, res, next) {
}
async
function
deleteRole
(
req
,
res
,
next
)
{
try
{
if
(
!
req
.
body
.
id
)
{
return
res
.
sendError
(
errorMessage
.
resourceNotFound
);
}
const
ret
=
await
DB
.
Role
.
update
({
del
:
1
},
{
where
:
{
id
:
req
.
body
.
id
}
});
return
res
.
sendData
(
ret
);
}
catch
(
error
)
{
next
(
error
);
}
}
async
function
listRole
(
req
,
res
,
next
)
{
try
{
let
search
=
{};
let
page
=
req
.
body
.
page
||
1
;
let
limit
=
req
.
body
.
pageSize
||
10
;
let
offset
=
(
page
-
1
)
*
limit
;
if
(
req
.
body
.
name
)
{
search
.
where
=
{
[
Op
.
or
]:
[
{
name
:
{
[
Op
.
like
]:
`%
${
req
.
body
.
name
}
%`
}
}
],
del
:
0
,
}
}
search
.
limit
=
limit
;
search
.
offset
=
offset
;
let
ret
=
await
DB
.
Role
.
findAndCountAll
(
search
);
return
res
.
sendData
(
ret
);
}
catch
(
error
)
{
next
(
error
);
}
...
...
@@ -39,7 +61,11 @@ async function listRole(req, res, next) {
}
async
function
getRole
(
req
,
res
,
next
)
{
try
{
if
(
!
req
.
body
.
id
)
{
return
res
.
sendError
(
errorMessage
.
resourceNotFound
);
}
const
ret
=
await
DB
.
User
.
findOne
({
where
:
{
id
:
req
.
body
.
id
},
raw
:
true
});
return
res
.
sendData
(
ret
);
}
catch
(
error
)
{
next
(
error
);
}
...
...
controller/userController.js
View file @
3c3f5ea8
const
crypto
=
require
(
'crypto'
);
const
_
=
require
(
'lodash'
);
const
CryptoJS
=
require
(
'crypto-js'
);
const
{
Op
,
where
}
=
require
(
'sequelize'
);
const
{
Op
}
=
require
(
'sequelize'
);
const
userModule
=
require
(
'../module/userModule'
);
const
errorMessage
=
require
(
'../utils/errorMessage'
);
async
function
regist
(
req
,
res
,
next
)
{
...
...
@@ -32,7 +30,6 @@ async function login(req, res, next) {
}
const
{
mobile
,
password
}
=
req
.
body
;
const
user
=
await
DB
.
User
.
findOne
({
where
:
{
mobile
,
del
:
0
,
enable
:
0
},
raw
:
true
});
console
.
log
(
"----------------------"
,
user
)
if
(
!
user
)
{
return
res
.
sendError
(
errorMessage
.
loginError
);
}
...
...
@@ -64,9 +61,13 @@ async function login(req, res, next) {
/**
* 管理端功能
*/
async
function
add
User
(
req
,
res
,
next
)
{
async
function
create
User
(
req
,
res
,
next
)
{
try
{
const
body
=
req
.
body
;
body
.
password
=
body
.
password
||
sysConfig
.
userDefaultPassword
;
const
{
salt
,
passwordHash
}
=
utils
.
saltHashPassword
(
req
.
body
.
password
);
body
.
salt
=
salt
;
body
.
password
=
passwordHash
;
const
ret
=
await
DB
.
User
.
create
(
body
);
return
res
.
sendData
(
ret
);
}
catch
(
error
)
{
...
...
@@ -122,7 +123,7 @@ async function listUser(req, res, next) {
}
search
.
limit
=
limit
;
search
.
offset
=
offset
;
// console.log(JSON.stringify(search), "===")
search
.
attributes
=
req
.
body
.
attributes
||
{
exclude
:
[
'password'
,
'salt'
]};
let
ret
=
await
DB
.
User
.
findAndCountAll
(
search
);
return
res
.
sendData
(
ret
);
}
catch
(
error
)
{
...
...
@@ -151,6 +152,41 @@ async function deleteUser(req, res, next) {
}
async
function
setUserRole
(
req
,
res
,
next
)
{
try
{
let
{
userId
,
roleIds
}
=
req
.
body
;
//1. 先查被设置用户 有什么角色
const
roles
=
await
DB
.
UserRole
.
findAll
({
where
:
{
user_id
:
req
.
body
.
userId
},
raw
:
true
,
attributes
:
[
'role_id'
,
'user_id'
]});
//需新增得
let
dbRoleIds
=
[],
needAddRoleIds
=
[],
needDelRoleIds
=
[];
for
(
let
index
=
0
;
index
<
roles
.
length
;
index
++
)
{
const
element
=
roles
[
index
];
dbRoleIds
.
push
(
element
.
role_id
);
if
(
!
roleIds
.
includes
(
element
.
role_id
))
{
// 1. roleIds里面没有 但是关系表里有的 需要删除
needDelRoleIds
.
push
(
element
.
role_id
);
}
}
for
(
let
index
=
0
;
index
<
roleIds
.
length
;
index
++
)
{
const
element
=
roleIds
[
index
];
if
(
!
dbRoleIds
.
includes
(
element
))
{
needAddRoleIds
.
push
(
element
);
}
}
if
(
needAddRoleIds
.
length
)
{
let
objs
=
needAddRoleIds
.
map
(
o
=>
{
return
{
user_id
:
userId
,
role_id
:
o
}});
await
DB
.
UserRole
.
bulkCreate
(
objs
);
}
if
(
needDelRoleIds
.
length
)
{
await
DB
.
UserRole
.
destroy
({
where
:
{
user_id
:
userId
,
role_id
:
{[
Op
.
in
]:
needDelRoleIds
}}});
}
return
res
.
sendData
();
}
catch
(
error
)
{
console
.
log
(
error
)
next
(
error
);
}
}
...
...
@@ -158,8 +194,9 @@ module.exports = {
regist
,
login
,
listUser
,
add
User
,
create
User
,
getUserInfo
,
updateUser
,
deleteUser
,
setUserRole
,
}
\ No newline at end of file
db/index.js
View file @
3c3f5ea8
...
...
@@ -2,7 +2,9 @@
// 模型初始化
const
User
=
require
(
"./model/user"
);
const
Role
=
require
(
"./model/role"
);
const
UserRole
=
require
(
"./model/userRole"
);
const
Menu
=
require
(
"./model/menu"
);
const
RoleMenu
=
require
(
"./model/roleMenu"
);
const
RequestLog
=
require
(
"./model/requestLog"
);
...
...
@@ -11,6 +13,8 @@ global.DB = {
User
,
RequestLog
,
Role
,
UserRole
,
RoleMenu
,
}
...
...
db/model/role.js
View file @
3c3f5ea8
...
...
@@ -13,10 +13,10 @@ const Role = sequelize.define('Role', {
type
:
DataTypes
.
STRING
,
commnet
:
"角色名称"
,
},
key
:
{
type
:
DataTypes
.
STRING
,
commnet
:
"角色标识"
,
},
//
key: {
//
type: DataTypes.STRING,
//
commnet: "角色标识",
//
},
// enable: {
// type: DataTypes.BOOLEAN,
// defaultValue: true,
...
...
db/model/roleMenu.js
View file @
3c3f5ea8
...
...
@@ -27,7 +27,7 @@ const RoleMenu = sequelize.define('RoleMenu', {
// 同步模型到数据库(创建表)
RoleMenu
.
sync
({
// force: false, // force: true 会删除已存在表并重新创建
alter
:
true
//
alter: true
})
.
then
(()
=>
{
console
.
log
(
'RoleMenu 表同步成功'
);
...
...
db/model/user.js
View file @
3c3f5ea8
...
...
@@ -26,9 +26,10 @@ const User = sequelize.define('User', {
type
:
DataTypes
.
STRING
(
50
),
allowNull
:
true
},
avatar
:
DataTypes
.
STRING
(
500
),
//头像
enable
:
{
type
:
DataTypes
.
INTEGER
,
defaultValue
:
true
,
defaultValue
:
0
,
comment
:
"0: 启用, 1: 不启用"
},
del
:
{
...
...
db/model/userRole.js
View file @
3c3f5ea8
...
...
@@ -27,7 +27,7 @@ const UserRole = sequelize.define('UserRole', {
// 同步模型到数据库(创建表)
UserRole
.
sync
({
// force: false, // force: true 会删除已存在表并重新创建
alter
:
true
//
alter: true
})
.
then
(()
=>
{
console
.
log
(
'UserRole 表同步成功'
);
...
...
router/userRouter.js
View file @
3c3f5ea8
...
...
@@ -10,11 +10,13 @@ const roleController = require('../controller/roleController');
router
.
post
(
'/regist'
,
userController
.
regist
);
router
.
post
(
'/login'
,
userController
.
login
);
router
.
post
(
'/manage/listUser'
,
userController
.
listUser
);
router
.
post
(
'/manage/
addUser'
,
userController
.
add
User
);
router
.
post
(
'/manage/
createUser'
,
userController
.
create
User
);
router
.
post
(
'/manage/updateUser'
,
userController
.
updateUser
);
//更新 enable用户
router
.
post
(
'/manage/getUserInfo'
,
userController
.
getUserInfo
);
router
.
post
(
'/manage/deleteUser'
,
userController
.
deleteUser
);
// 删除
router
.
post
(
'/manage/setUserRole'
,
userController
.
setUserRole
);
/**
* 角色
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment