Pārlūkot izejas kodu

登录逻辑修改

huwei 1 mēnesi atpakaļ
vecāks
revīzija
7932e174bc

+ 64 - 65
server/internal/admin/service/feishu.go

@@ -17,7 +17,6 @@ import (
 	"github.com/larksuite/oapi-sdk-go/v3/service/authen/v1"
 	"github.com/sirupsen/logrus"
 	"gorm.io/gorm"
-	"strconv"
 	"strings"
 	"time"
 )
@@ -30,70 +29,70 @@ func (s *feishuService) FeiShuUserLogin(c *gin.Context) serializer.Response {
 
 	q := query.Use(config.AdminDB).AdminUser
 
-	encodeToken := token.GetAuthorization(c)
-	if encodeToken != "" {
-		bytesT, err := base64.URLEncoding.DecodeString(encodeToken)
-		if err != nil {
-			logrus.Warningf("middleware base64.URLEncoding.DecodeString:%+v", err.Error())
-			return serializer.CheckLogin()
-		}
-		t := string(bytesT)
-		tokenKey := config.GetTokenKey(t)
-		if config.TokenRedis.Exists(tokenKey).Val() == 0 {
-			return serializer.CheckLogin()
-		}
-		userStr := config.TokenRedis.Get(tokenKey).Val()
-
-		claims := new(token.UserClaims)
-		if err := jsoniter.UnmarshalFromString(userStr, claims); err != nil {
-			return serializer.CheckLogin()
-		}
-
-		// 查询登录token是否有效
-		key := config.GetUserTokenKey(claims.ID)
-		tokenCTStr := config.TokenRedis.HGet(key, t).Val()
-		tokenCreateTime, err := strconv.Atoi(tokenCTStr)
-		if err != nil {
-			logrus.Warningf("middleware config.LogRedis.HGet:%+v", err.Error())
-			return serializer.CheckLogin()
-		}
-		tokenCT := time.Unix(int64(tokenCreateTime), 0)
-
-		if tokenCT.Before(time.Now().Add(-config.TokenExpireTime)) {
-			return serializer.CheckLogin()
-		}
-
-		u, err := q.Where(q.ID.Eq(claims.ID)).First()
-		if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) {
-			return serializer.Err(2, "", err)
-		}
-		if u.Status != 1 {
-			return serializer.ParamErr("账号已被禁用", nil)
-		}
-		user := &token.UserClaims{
-			ID:          u.ID,
-			UserName:    u.UserName,
-			RoleId:      int64(u.RoleID),
-			Avatar:      u.Avatar,
-			Nickname:    u.Nickname,
-			AccessToken: t,
-		}
-		userStr, _ = jsoniter.MarshalToString(user)
-
-		config.TokenRedis.HSet(key, t, time.Now().Unix())
-		config.TokenRedis.Expire(key, time.Hour*12)
-
-		config.TokenRedis.Set(tokenKey, userStr, time.Hour*12)
-
-		return serializer.Suc(forms.UserLoginRes{
-			ID:       u.ID,
-			UserName: u.UserName,
-			Nickname: u.Nickname,
-			Status:   u.Status,
-			Avatar:   u.Avatar,
-			Token:    encodeToken,
-		})
-	}
+	//encodeToken := token.GetAuthorization(c)
+	//if encodeToken != "" {
+	//	bytesT, err := base64.URLEncoding.DecodeString(encodeToken)
+	//	if err != nil {
+	//		logrus.Warningf("middleware base64.URLEncoding.DecodeString:%+v", err.Error())
+	//		return serializer.CheckLogin()
+	//	}
+	//	t := string(bytesT)
+	//	tokenKey := config.GetTokenKey(t)
+	//	if config.TokenRedis.Exists(tokenKey).Val() == 0 {
+	//		return serializer.CheckLogin()
+	//	}
+	//	userStr := config.TokenRedis.Get(tokenKey).Val()
+	//
+	//	claims := new(token.UserClaims)
+	//	if err := jsoniter.UnmarshalFromString(userStr, claims); err != nil {
+	//		return serializer.CheckLogin()
+	//	}
+	//
+	//	// 查询登录token是否有效
+	//	key := config.GetUserTokenKey(claims.ID)
+	//	tokenCTStr := config.TokenRedis.HGet(key, t).Val()
+	//	tokenCreateTime, err := strconv.Atoi(tokenCTStr)
+	//	if err != nil {
+	//		logrus.Warningf("middleware config.LogRedis.HGet:%+v", err.Error())
+	//		return serializer.CheckLogin()
+	//	}
+	//	tokenCT := time.Unix(int64(tokenCreateTime), 0)
+	//
+	//	if tokenCT.Before(time.Now().Add(-config.TokenExpireTime)) {
+	//		return serializer.CheckLogin()
+	//	}
+	//
+	//	u, err := q.Where(q.ID.Eq(claims.ID)).First()
+	//	if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) {
+	//		return serializer.Err(2, "", err)
+	//	}
+	//	if u.Status != 1 {
+	//		return serializer.ParamErr("账号已被禁用", nil)
+	//	}
+	//	user := &token.UserClaims{
+	//		ID:          u.ID,
+	//		UserName:    u.UserName,
+	//		RoleId:      int64(u.RoleID),
+	//		Avatar:      u.Avatar,
+	//		Nickname:    u.Nickname,
+	//		AccessToken: t,
+	//	}
+	//	userStr, _ = jsoniter.MarshalToString(user)
+	//
+	//	config.TokenRedis.HSet(key, t, time.Now().Unix())
+	//	config.TokenRedis.Expire(key, time.Hour*12)
+	//
+	//	config.TokenRedis.Set(tokenKey, userStr, time.Hour*12)
+	//
+	//	return serializer.Suc(forms.UserLoginRes{
+	//		ID:       u.ID,
+	//		UserName: u.UserName,
+	//		Nickname: u.Nickname,
+	//		Status:   u.Status,
+	//		Avatar:   u.Avatar,
+	//		Token:    encodeToken,
+	//	})
+	//}
 
 	code := c.Query("code")
 	if code == "" {

+ 9 - 1
web/src/views/entrance/index.vue

@@ -36,7 +36,14 @@
         <!-- 个人中心 -->
         <div class="view-entrance-top-trigger view-entrance-trigger-min">
           <n-dropdown trigger="hover" @select="avatarSelect" :options="avatarOptions">
-            <div class="avatar">
+            <div class="avatar" v-if="user_avatar">
+              <n-avatar round :src="user_avatar">
+                <template #icon>
+                  <UserOutlined />
+                </template>
+              </n-avatar>
+            </div>
+            <div class="avatar" v-else>
               <n-avatar round>
                 {{ user_name }}
                 <template #icon>
@@ -155,6 +162,7 @@
       return {
         user_name:
           userStore.getUserInfo.user_name == undefined ? 'user' : userStore.getUserInfo.user_name,
+        user_avatar: userStore.getUserInfo.avatar == undefined ? '' : userStore.getUserInfo.avatar,
         avatarSelect,
         avatarOptions,
         message,