chore: init bj_power monorepo (dashboard/mes/wms/wms_client/workstation), clear subproject git metadata and align naming to folder names
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
package login
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
xhttp "bj_power_mes/common/httpx"
|
||||
"bj_power_mes/internal/svc"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
|
||||
// LogoutLogic 退出登��?
|
||||
type LogoutLogic struct {
|
||||
logx.Logger
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
}
|
||||
|
||||
// 退出登录:删除 refresh token,使已签发的 access token 无法续期
|
||||
func NewLogoutLogic(ctx context.Context, svcCtx *svc.ServiceContext) *LogoutLogic {
|
||||
return &LogoutLogic{
|
||||
Logger: logx.WithContext(ctx),
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
}
|
||||
}
|
||||
|
||||
func (l *LogoutLogic) Logout() error {
|
||||
userId := xhttp.GetUidFromCtx(l.ctx)
|
||||
if userId <= 0 {
|
||||
l.Logger.Errorf("退出登录失��? 未获取到用户ID")
|
||||
return nil // 兜底:不清除也不报错,前端已��?localStorage
|
||||
}
|
||||
key := fmt.Sprintf("user:%d:refesh_token", userId)
|
||||
if err := l.svcCtx.TokenStore.Del(l.ctx, key); err != nil {
|
||||
l.Logger.Errorf("退出登��? 删除 refresh token 失败 userId=%d error=%v", userId, err)
|
||||
}
|
||||
l.Logger.Infof("用户退出登��?userId=%d", userId)
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user