js模块化写法,便于状态管理

68 阅读1分钟

经典的JavaScript 的模块化写法,使用了 ES6 的语法特性,便于管理状态及其对应的描述和样式。

export const publishStatusEnum = {
  all: '',
  wait_commit: '00',
  wait_push: '01',
  pushed: '02',
  rejected: '03',
  off: '04',
}

export const publishStatusMap = {
  [publishStatusEnum.all]: '全部',
  [publishStatusEnum.wait_commit]: '待提交',
  [publishStatusEnum.wait_push]: '待上架',
  [publishStatusEnum.pushed]: '已上架',
  [publishStatusEnum.off]: '已下架',
  [publishStatusEnum.rejected]: '强制下架',
}

export const publishStatusStyleMap = {
  '00': {
    icon: '#F59E0B',
    text: '#F59E0B',
    bg: '#FEF3C7',
  },
  '01': {
    icon: '#F59E0B',
    text: '#F59E0B',
    bg: '#FEF3C7',
  },
  '02': {
    icon: '#10B981',
    text: '#10B981',
    bg: '#D1FAE5',
  },
  '03': {
    icon: '#F43F5E',
    text: '#F43F5E',
    bg: '#FFE4E6',
  },
  '04': {
    icon: '#334155',
    text: '#334155',
    bg: '#E2E8F0',
  },
}

export const publishStatusList = Object.keys(publishStatusMap).map(i => {
  return {
    label: publishStatusMap[i],
    value: i,
  }
})