Преглед изворни кода

未登录的媒体列表去掉src

kobe6258 пре 6 месеци
родитељ
комит
1b9b330dc3

+ 15 - 2
controllers/media/media_controller.go

@@ -13,6 +13,17 @@ type MediaController struct {
 	controllers.ListController
 }
 
+func isLogin(listType string) bool {
+	if listType == "logout" {
+		logger.Info("当前用户未登录,展示部分详情")
+		return false
+	}
+	if listType == "login" {
+		return true
+	}
+	return false
+}
+
 // Search 搜索报告列表
 // @Description 搜索报告列表
 // @Success 200 {object}
@@ -25,6 +36,7 @@ func (m *MediaController) Search(mediaType string, key string) {
 			m.FailedResult("分页搜索报告列表失败", result)
 			return
 		}
+		detailType := m.Data["detailType"].(string)
 		//if mediaType == "" || !m.CheckMediaType(mediaType) {
 		//	err = exception.New(exception.MediaTypeError)
 		//	m.FailedResult("分页查询媒体列表失败", result)
@@ -42,7 +54,7 @@ func (m *MediaController) Search(mediaType string, key string) {
 			pageRes.Total = m.PageInfo.Total
 		}
 		pageRes.TotalPage = page.TotalPages(pageRes.Total, pageRes.PageSize)
-		list, err := media.SearchMediaList(mediaType, key, m.PageInfo)
+		list, err := media.SearchMediaList(mediaType, key, m.PageInfo, isLogin(detailType))
 		if err != nil {
 			m.FailedResult("分页搜索报告列表失败", result)
 			return
@@ -78,6 +90,7 @@ func (m *MediaController) List(mediaType string, permissionIds string) {
 			Current:  m.PageInfo.Current,
 			PageSize: m.PageInfo.PageSize,
 		}
+		detailType := m.Data["detailType"].(string)
 		var mediaIds []int
 		if m.PageInfo.LatestId == 0 {
 			pageRes.Total, pageRes.LatestId, mediaIds = media.GetTotalPageCountByPermissionIds(mediaType, permissionIdList)
@@ -88,7 +101,7 @@ func (m *MediaController) List(mediaType string, permissionIds string) {
 			pageRes.Total = m.PageInfo.Total
 		}
 		pageRes.TotalPage = page.TotalPages(pageRes.Total, pageRes.PageSize)
-		list, err := media.GetMediaPageByIds(mediaType, m.PageInfo, mediaIds)
+		list, err := media.GetMediaPageByIds(mediaType, m.PageInfo, mediaIds, isLogin(detailType))
 		if err != nil {
 			m.FailedResult("分页查询媒体列表失败", result)
 			return

+ 2 - 0
middleware/auth_middleware.go

@@ -42,6 +42,8 @@ func rd() *cache.RedisCache {
 var detailRoutes = []string{
 	"/media/media",
 	"/report/report",
+	"/media/list",
+	"/media/search",
 }
 var publicRoutes = []string{
 	"/auth/areaCodes",

+ 8 - 2
service/media/media_service.go

@@ -128,7 +128,7 @@ func GetMediaPageByAnalystId(mediaType string, pageInfo page.PageInfo, analystId
 	return
 }
 
-func GetMediaPageByIds(mediaType string, pageInfo page.PageInfo, mediaIds []int) (list []mediaService.MediaDTO, err error) {
+func GetMediaPageByIds(mediaType string, pageInfo page.PageInfo, mediaIds []int, isLogin bool) (list []mediaService.MediaDTO, err error) {
 	list, err = mediaService.GetMediaPageByIds(mediaType, pageInfo, mediaIds)
 	if err != nil {
 		err = exception.New(exception.GetMediaListFailed)
@@ -147,6 +147,9 @@ func GetMediaPageByIds(mediaType string, pageInfo page.PageInfo, mediaIds []int)
 				logger.Error("品种名称列表转换失败:%v", err)
 			}
 			media.PermissionNames = getMediaPermissionNames(ids)
+			if !isLogin {
+				media.Src = ""
+			}
 		}(&list[i])
 	}
 	wg.Wait()
@@ -170,7 +173,7 @@ func getMediaPermissionNames(id []int) (labels []string) {
 
 // stringToIntSlice 将一个包含数字字符串的切片转换为整数切片
 
-func SearchMediaList(mediaType string, key string, pageInfo page.PageInfo) (medias []mediaService.MediaDTO, err error) {
+func SearchMediaList(mediaType string, key string, pageInfo page.PageInfo, isLogin bool) (medias []mediaService.MediaDTO, err error) {
 	offset := page.StartIndex(pageInfo.Current, pageInfo.PageSize)
 	medias, err = mediaService.SearchMediaList(mediaType, key, offset, pageInfo.PageSize, pageInfo.LatestId)
 	var wg sync.WaitGroup
@@ -185,6 +188,9 @@ func SearchMediaList(mediaType string, key string, pageInfo page.PageInfo) (medi
 				logger.Error("获取品种列表失败:%v", err)
 			}
 			media.PermissionNames = getMediaPermissionNames(ids)
+			if !isLogin {
+				media.Src = ""
+			}
 		}(&medias[i])
 	}
 	wg.Wait()