巴青农资商城

categoryDisplay.js 948B

1234567891011121314151617181920212223242526272829303132
  1. import { resolveFileUrl } from '@/utils/image'
  2. const CATEGORY_PLACEHOLDER = '/static/logo.png'
  3. export function isHotCategory(hotFlag) {
  4. return String(hotFlag) === '1'
  5. }
  6. export function mapCategoryNode(row, isChild = false) {
  7. if (!row) return null
  8. return {
  9. categoryId: row.categoryId,
  10. categoryName: row.categoryName,
  11. categoryPic: row.categoryPic,
  12. displayPic: resolveFileUrl(row.categoryPic) || CATEGORY_PLACEHOLDER,
  13. hotFlag: row.hotFlag,
  14. isHot: isHotCategory(row.hotFlag),
  15. sortNo: row.sortNo,
  16. children: isChild ? undefined : (row.children || []).map((c) => mapCategoryNode(c, true)).filter(Boolean)
  17. }
  18. }
  19. export function mapCategoryTree(list) {
  20. if (!Array.isArray(list)) return []
  21. return list.map((row) => mapCategoryNode(row, false)).filter(Boolean)
  22. }
  23. export function mapLevel2Tabs(list) {
  24. if (!Array.isArray(list)) return []
  25. return list.map((row) => mapCategoryNode(row, true)).filter(Boolean)
  26. }