feat: 引导管理员账号重置接口
This commit is contained in:
@@ -28,9 +28,10 @@ func Setup(router *gin.Engine) {
|
|||||||
// 系统引导初始化
|
// 系统引导初始化
|
||||||
guideGroup := router.Group("/bootloader")
|
guideGroup := router.Group("/bootloader")
|
||||||
{
|
{
|
||||||
guideGroup.POST("", controller.NewBootloader.BootloaderStart)
|
guideGroup.POST("", controller.NewBootloader.Start)
|
||||||
guideGroup.PUT("", middleware.PreAuthorize(nil), controller.NewBootloader.BootloaderDone)
|
guideGroup.PUT("", middleware.PreAuthorize(nil), controller.NewBootloader.Done)
|
||||||
guideGroup.DELETE("", middleware.PreAuthorize(nil), controller.NewBootloader.BootloaderReset)
|
guideGroup.DELETE("", middleware.PreAuthorize(nil), controller.NewBootloader.Reset)
|
||||||
|
guideGroup.PUT("/account", middleware.PreAuthorize(nil), controller.NewBootloader.Account)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 验证码操作处理
|
// 验证码操作处理
|
||||||
|
|||||||
@@ -4,8 +4,10 @@ import (
|
|||||||
adminConstants "be.ems/src/framework/constants/admin"
|
adminConstants "be.ems/src/framework/constants/admin"
|
||||||
"be.ems/src/framework/constants/common"
|
"be.ems/src/framework/constants/common"
|
||||||
tokenConstants "be.ems/src/framework/constants/token"
|
tokenConstants "be.ems/src/framework/constants/token"
|
||||||
|
"be.ems/src/framework/i18n"
|
||||||
"be.ems/src/framework/utils/ctx"
|
"be.ems/src/framework/utils/ctx"
|
||||||
"be.ems/src/framework/utils/machine"
|
"be.ems/src/framework/utils/machine"
|
||||||
|
"be.ems/src/framework/utils/regular"
|
||||||
tokenUtils "be.ems/src/framework/utils/token"
|
tokenUtils "be.ems/src/framework/utils/token"
|
||||||
"be.ems/src/framework/vo"
|
"be.ems/src/framework/vo"
|
||||||
"be.ems/src/framework/vo/result"
|
"be.ems/src/framework/vo/result"
|
||||||
@@ -33,7 +35,7 @@ type BootloaderController struct {
|
|||||||
// 首次引导开始
|
// 首次引导开始
|
||||||
//
|
//
|
||||||
// POST /
|
// POST /
|
||||||
func (s *BootloaderController) BootloaderStart(c *gin.Context) {
|
func (s *BootloaderController) Start(c *gin.Context) {
|
||||||
// 是否完成引导
|
// 是否完成引导
|
||||||
launchInfo := machine.LaunchInfo
|
launchInfo := machine.LaunchInfo
|
||||||
if launchInfo == nil {
|
if launchInfo == nil {
|
||||||
@@ -81,7 +83,7 @@ func (s *BootloaderController) BootloaderStart(c *gin.Context) {
|
|||||||
// 首次引导完成
|
// 首次引导完成
|
||||||
//
|
//
|
||||||
// PUT /
|
// PUT /
|
||||||
func (s *BootloaderController) BootloaderDone(c *gin.Context) {
|
func (s *BootloaderController) Done(c *gin.Context) {
|
||||||
// 是否完成引导
|
// 是否完成引导
|
||||||
launchInfo := machine.LaunchInfo
|
launchInfo := machine.LaunchInfo
|
||||||
if launchInfo == nil {
|
if launchInfo == nil {
|
||||||
@@ -107,7 +109,7 @@ func (s *BootloaderController) BootloaderDone(c *gin.Context) {
|
|||||||
// 引导系统数据重置
|
// 引导系统数据重置
|
||||||
//
|
//
|
||||||
// DELETE /
|
// DELETE /
|
||||||
func (s *BootloaderController) BootloaderReset(c *gin.Context) {
|
func (s *BootloaderController) Reset(c *gin.Context) {
|
||||||
// 是否完成引导
|
// 是否完成引导
|
||||||
launchInfo := machine.LaunchInfo
|
launchInfo := machine.LaunchInfo
|
||||||
if launchInfo == nil {
|
if launchInfo == nil {
|
||||||
@@ -128,3 +130,52 @@ func (s *BootloaderController) BootloaderReset(c *gin.Context) {
|
|||||||
tokenUtils.Remove(ctx.Authorization(c))
|
tokenUtils.Remove(ctx.Authorization(c))
|
||||||
c.JSON(200, result.Ok(nil))
|
c.JSON(200, result.Ok(nil))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 账号变更
|
||||||
|
//
|
||||||
|
// PUT /account
|
||||||
|
func (s *BootloaderController) Account(c *gin.Context) {
|
||||||
|
language := ctx.AcceptLanguage(c)
|
||||||
|
var body struct {
|
||||||
|
UserName string `json:"username" binding:"required"`
|
||||||
|
Password string `json:"password" binding:"required"`
|
||||||
|
}
|
||||||
|
if err := c.ShouldBindJSON(&body); err != nil {
|
||||||
|
c.JSON(400, result.CodeMsg(400, i18n.TKey(language, "app.common.err400")))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if !regular.ValidPassword(body.Password) {
|
||||||
|
// 登录密码至少包含大小写字母、数字、特殊符号,且不少于6位
|
||||||
|
c.JSON(200, result.ErrMsg(i18n.TKey(language, "user.errPasswd")))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 是否完成引导
|
||||||
|
launchInfo := machine.LaunchInfo
|
||||||
|
if launchInfo == nil {
|
||||||
|
c.JSON(200, result.Err(nil))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if v, ok := launchInfo[common.LAUNCH_BOOTLOADER]; ok && !v.(bool) {
|
||||||
|
c.JSON(200, result.ErrMsg("bootloader done"))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询用户登录账号
|
||||||
|
sysUser := s.sysUserService.SelectUserById("2")
|
||||||
|
if sysUser.UserID != "2" {
|
||||||
|
c.JSON(200, result.ErrMsg("not found user data"))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
sysUser.UserName = body.UserName
|
||||||
|
sysUser.NickName = body.UserName
|
||||||
|
sysUser.Password = body.Password
|
||||||
|
sysUser.UpdateBy = ctx.LoginUserToUserName(c)
|
||||||
|
rows := s.sysUserService.UpdateUser(sysUser)
|
||||||
|
if rows > 0 {
|
||||||
|
c.JSON(200, result.Ok(nil))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
c.JSON(200, result.Err(nil))
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user