Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
FLIPPED-AURORA
gin-vue-admin
提交
3bb8e45e
G
gin-vue-admin
项目概览
FLIPPED-AURORA
/
gin-vue-admin
大约 1 年 前同步成功
通知
333
Star
18155
Fork
5506
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gin-vue-admin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
3bb8e45e
编写于
6月 22, 2022
作者:
Mr.奇淼(
提交者:
GitHub
6月 22, 2022
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #1133 from yesgs/main
添加用户的冻结功能
上级
e8892dce
0ef2a726
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
51 addition
and
3 deletion
+51
-3
server/api/v1/system/sys_user.go
server/api/v1/system/sys_user.go
+8
-1
server/middleware/jwt.go
server/middleware/jwt.go
+2
-0
server/model/system/request/sys_user.go
server/model/system/request/sys_user.go
+2
-0
server/model/system/sys_user.go
server/model/system/sys_user.go
+3
-2
web/src/view/superAdmin/user/user.vue
web/src/view/superAdmin/user/user.vue
+36
-0
未找到文件。
server/api/v1/system/sys_user.go
浏览文件 @
3bb8e45e
...
...
@@ -35,6 +35,11 @@ func (b *BaseApi) Login(c *gin.Context) {
global
.
GVA_LOG
.
Error
(
"登陆失败! 用户名不存在或者密码错误!"
,
zap
.
Error
(
err
))
response
.
FailWithMessage
(
"用户名不存在或者密码错误"
,
c
)
}
else
{
if
user
.
Enable
!=
1
{
global
.
GVA_LOG
.
Error
(
"登陆失败! 用户被禁止登录!"
)
response
.
FailWithMessage
(
"用户被禁止登录"
,
c
)
return
}
b
.
TokenNext
(
c
,
*
user
)
}
}
else
{
...
...
@@ -119,7 +124,7 @@ func (b *BaseApi) Register(c *gin.Context) {
AuthorityId
:
v
,
})
}
user
:=
&
system
.
SysUser
{
Username
:
r
.
Username
,
NickName
:
r
.
NickName
,
Password
:
r
.
Password
,
HeaderImg
:
r
.
HeaderImg
,
AuthorityId
:
r
.
AuthorityId
,
Authorities
:
authorities
}
user
:=
&
system
.
SysUser
{
Username
:
r
.
Username
,
NickName
:
r
.
NickName
,
Password
:
r
.
Password
,
HeaderImg
:
r
.
HeaderImg
,
AuthorityId
:
r
.
AuthorityId
,
Authorities
:
authorities
,
Enable
:
r
.
Enable
}
userReturn
,
err
:=
userService
.
Register
(
*
user
)
if
err
!=
nil
{
global
.
GVA_LOG
.
Error
(
"注册失败!"
,
zap
.
Error
(
err
))
...
...
@@ -296,6 +301,7 @@ func (b *BaseApi) SetUserInfo(c *gin.Context) {
Phone
:
user
.
Phone
,
Email
:
user
.
Email
,
SideMode
:
user
.
SideMode
,
Enable
:
user
.
Enable
,
});
err
!=
nil
{
global
.
GVA_LOG
.
Error
(
"设置失败!"
,
zap
.
Error
(
err
))
response
.
FailWithMessage
(
"设置失败"
,
c
)
...
...
@@ -325,6 +331,7 @@ func (b *BaseApi) SetSelfInfo(c *gin.Context) {
Phone
:
user
.
Phone
,
Email
:
user
.
Email
,
SideMode
:
user
.
SideMode
,
Enable
:
user
.
Enable
,
});
err
!=
nil
{
global
.
GVA_LOG
.
Error
(
"设置失败!"
,
zap
.
Error
(
err
))
response
.
FailWithMessage
(
"设置失败"
,
c
)
...
...
server/middleware/jwt.go
浏览文件 @
3bb8e45e
...
...
@@ -44,6 +44,8 @@ func JWTAuth() gin.HandlerFunc {
c
.
Abort
()
return
}
// 已登录用户被管理员禁用 需要使该用户的jwt失效 此处比较消耗性能 如果需要 请自行打开
// 用户被删除的逻辑 需要优化 此处比较消耗性能 如果需要 请自行打开
//if err, _ = userService.FindUserByUuid(claims.UUID.String()); err != nil {
// _ = jwtService.JsonInBlacklist(system.JwtBlacklist{Jwt: token})
...
...
server/model/system/request/sys_user.go
浏览文件 @
3bb8e45e
...
...
@@ -9,6 +9,7 @@ type Register struct {
NickName
string
`json:"nickName" gorm:"default:'QMPlusUser'"`
HeaderImg
string
`json:"headerImg" gorm:"default:'https://qmplusimg.henrongyi.top/gva_header.jpg'"`
AuthorityId
string
`json:"authorityId" gorm:"default:888"`
Enable
int
`json:"enable"`
AuthorityIds
[]
string
`json:"authorityIds"`
}
...
...
@@ -46,5 +47,6 @@ type ChangeUserInfo struct {
Email
string
`json:"email" gorm:"comment:用户邮箱"`
// 用户邮箱
HeaderImg
string
`json:"headerImg" gorm:"default:https://qmplusimg.henrongyi.top/gva_header.jpg;comment:用户头像"`
// 用户头像
SideMode
string
`json:"sideMode" gorm:"comment:用户侧边主题"`
// 用户侧边主题
Enable
int
`json:"enable" gorm:"comment:冻结用户"`
//冻结用户
Authorities
[]
model
.
SysAuthority
`json:"-" gorm:"many2many:sys_user_authority;"`
}
server/model/system/sys_user.go
浏览文件 @
3bb8e45e
...
...
@@ -18,8 +18,9 @@ type SysUser struct {
AuthorityId
string
`json:"authorityId" gorm:"default:888;comment:用户角色ID"`
// 用户角色ID
Authority
SysAuthority
`json:"authority" gorm:"foreignKey:AuthorityId;references:AuthorityId;comment:用户角色"`
Authorities
[]
SysAuthority
`json:"authorities" gorm:"many2many:sys_user_authority;"`
Phone
string
`json:"phone" gorm:"comment:用户手机号"`
// 用户手机号
Email
string
`json:"email" gorm:"comment:用户邮箱"`
// 用户邮箱
Phone
string
`json:"phone" gorm:"comment:用户手机号"`
// 用户手机号
Email
string
`json:"email" gorm:"comment:用户邮箱"`
// 用户邮箱
Enable
int
`json:"enable" gorm:"default:1;comment:用户是否被冻结 1正常 2冻结"`
//用户是否被冻结 1正常 2冻结
}
func
(
SysUser
)
TableName
()
string
{
...
...
web/src/view/superAdmin/user/user.vue
浏览文件 @
3bb8e45e
...
...
@@ -33,6 +33,17 @@
/>
</
template
>
</el-table-column>
<el-table-column
align=
"left"
label=
"启用"
min-width=
"150"
>
<
template
#default=
"scope"
>
<el-switch
v-model=
"scope.row.enable"
inline-prompt
:active-value=
"1"
:inactive-value=
"2"
@
change=
"()=>
{switchEnable(scope.row)}"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
min-width=
"250"
fixed=
"right"
>
<
template
#default=
"scope"
>
...
...
@@ -99,6 +110,14 @@
:clearable=
"false"
/>
</el-form-item>
<el-form-item
label=
"启用"
prop=
"disabled"
>
<el-switch
v-model=
"userInfo.enable"
inline-prompt
:active-value=
"1"
:inactive-value=
"2"
/>
</el-form-item>
<el-form-item
label=
"头像"
label-width=
"80px"
>
<div
style=
"display:inline-block"
@
click=
"openHeaderChange"
>
<img
v-if=
"userInfo.headerImg"
class=
"header-img-box"
:src=
"(userInfo.headerImg && userInfo.headerImg.slice(0, 4) !== 'http')?path+userInfo.headerImg:userInfo.headerImg"
>
...
...
@@ -268,6 +287,7 @@ const userInfo = ref({
headerImg
:
''
,
authorityId
:
''
,
authorityIds
:
[],
enable
:
1
,
})
const
rules
=
ref
({
...
...
@@ -349,6 +369,22 @@ const openEdit = (row) => {
addUserDialog
.
value
=
true
}
const
switchEnable
=
async
(
row
)
=>
{
userInfo
.
value
=
JSON
.
parse
(
JSON
.
stringify
(
row
))
await
nextTick
()
const
req
=
{
...
userInfo
.
value
}
const
res
=
await
setUserInfo
(
req
)
if
(
res
.
code
===
0
)
{
ElMessage
({
type
:
'
success
'
,
message
:
'
编辑成功
'
})
await
getTableData
()
userInfo
.
value
.
headerImg
=
''
userInfo
.
value
.
authorityIds
=
[]
}
}
</
script
>
<
style
lang=
"scss"
>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录