feature.js 981 B

12345678910111213141516171819202122232425262728293031
  1. const isProd = process.env.NODE_ENV !== 'development'
  2. const isStaging = process.env.ENV === 'staging'
  3. function isEnable (feature) {
  4. return {
  5. [feature]: !isProd || process.env[feature] === 'enabled'
  6. }
  7. }
  8. function getTimestamp () {
  9. const now = new Date()
  10. return `${now.getFullYear()}${(now.getMonth() + 1).toString().padStart(2, '0')}${now.getDate().toString().padStart(2, '0')}${now.getHours().toString().padStart(2, '0')}${now.getMinutes().toString().padStart(2, '0')}${now.getSeconds().toString().padStart(2, '0')}`
  11. }
  12. module.exports = {
  13. isProd,
  14. isStaging,
  15. features: {
  16. __VERSION__: JSON.stringify(`v${require('./package.json').version}.${getTimestamp()}`),
  17. // 未开发完的路由
  18. __DEV__: !isProd,
  19. // 待测试的功能
  20. __STAGING__: !isProd || isStaging,
  21. // 未开发的功能组件
  22. ...isEnable('__PLACEHOLDER__'),
  23. // 传感器
  24. ...isEnable('__SENSOR__'),
  25. // 设备仪表盘
  26. ...isEnable('__DEVICE_DASHBARD__')
  27. }
  28. }