Browse Source

feat(env): __GATEWAY__ and __SUB_DEVICE__

Casper Dai 3 years ago
parent
commit
43b85420e9

+ 4 - 0
.env

@@ -8,6 +8,10 @@ LOGGER = 'disabled'
 __PLACEHOLDER__ = 'disabled'
 # 设备仪表盘
 __DEVICE_DASHBARD__ = 'disabled'
+# 物联网关
+__GATEWAY__ = 'disabled'
+# 备份设备
+__SUB_DEVICE__ = 'disabled'
 # 设备接管
 __TAKEOVER__ = 'enabled'
 

+ 2 - 0
feature.js

@@ -24,6 +24,8 @@ module.exports = {
     __STAGING__: !isProd || isStaging,
     ...createFeature('__PLACEHOLDER__'),
     ...createFeature('__DEVICE_DASHBARD__'),
+    ...createFeature('__GATEWAY__'),
+    ...createFeature('__SUB_DEVICE__'),
     ...createFeature('__TAKEOVER__')
   }
 }

+ 1 - 0
src/router/index.js

@@ -242,6 +242,7 @@ export const asyncRoutes = [
         meta: { title: '发送控制设备' }
       },
       {
+        dev: !__GATEWAY__,
         path: 'gateway',
         name: 'gateway',
         component: () => import('@/views/external/gateway/index'),

+ 6 - 4
src/views/device/index.vue

@@ -53,16 +53,18 @@ export default {
         ],
         cols: [
           { type: 'refresh', render (data, h) {
-            return data.isMaster
+            return __SUB_DEVICE__ && data.isMaster
               ? h('i', {
                 staticClass: `o-expand-icon u-pointer ${data.loading ? 'el-icon-loading' : 'el-icon-arrow-right'}`,
                 class: { expand: data.expand }
               })
               : null
           } },
-          { label: '设备名称', 'min-width': 120, render (data, h) {
-            return data.empty ? h('span', { staticClass: 'u-color--info' }, '暂无备份设备') : data.name
-          } },
+          __SUB_DEVICE__
+            ? { label: '设备名称', 'min-width': 120, render (data, h) {
+              return data.empty ? h('span', { staticClass: 'u-color--info' }, '暂无备份设备') : data.name
+            } }
+            : { prop: 'name', label: '设备名称', 'min-width': 120 },
           { prop: 'serialNumber', label: '序列号', 'min-width': 140 },
           { prop: 'mac', label: 'MAC', 'min-width': 140 },
           { type: 'tag', 'width': 100, render ({ empty, activate, onlineStatus }) {

+ 8 - 6
src/views/realm/device/Device.vue

@@ -130,16 +130,18 @@ export default {
         ],
         cols: [
           { type: 'refresh', render (data, h) {
-            return data.isMaster
+            return __SUB_DEVICE__ && data.isMaster
               ? h('i', {
                 staticClass: `o-expand-icon u-pointer ${data.loading ? 'el-icon-loading' : 'el-icon-arrow-right'}`,
                 class: { expand: data.expand }
               })
               : null
           } },
-          { label: '设备名称', 'min-width': 120, render (data, h) {
-            return data.empty ? h('span', { staticClass: 'u-color--info' }, '暂无备份设备') : data.name
-          } },
+          __SUB_DEVICE__
+            ? { label: '设备名称', 'min-width': 120, render (data, h) {
+              return data.empty ? h('span', { staticClass: 'u-color--info' }, '暂无备份设备') : data.name
+            } }
+            : { prop: 'name', label: '设备名称', 'min-width': 120 },
           { prop: 'serialNumber', label: '序列号', 'min-width': 140 },
           { prop: 'mac', label: 'MAC', 'min-width': 140 },
           { type: 'tag', 'width': 100, render ({ empty, activate, onlineStatus }) {
@@ -153,10 +155,10 @@ export default {
                     : { type: 'danger', label: '离线' }
                 : { type: 'warning', label: '未激活' }
           }, on: this.onTagClick },
-          { type: 'invoke', width: 240, render: [
+          { type: 'invoke', width: __SUB_DEVICE__ ? 240 : 160, render: [
             { label: '详情', render ({ empty }) { return !empty }, on: this.onViewDevice },
             { label: '配置', render ({ isMaster }) { return isMaster }, on: this.onSettingDevice },
-            { label: '添加备份', render ({ isMaster }) { return isMaster }, on: this.onAddSubDevice },
+            { label: '添加备份', render ({ isMaster }) { return __SUB_DEVICE__ && isMaster }, on: this.onAddSubDevice },
             { label: '删除', render ({ empty }) { return !empty }, on: this.onDelDevice }
           ] }
         ]

+ 2 - 2
src/views/realm/device/settings/index.vue

@@ -77,9 +77,9 @@ export default {
         { key: 'SendingCard', label: '发送控制设备' },
         { key: 'ReceivingCard', label: '接收卡' },
         { key: 'Camera', label: '摄像头' },
-        { key: 'Gateway', label: '网关' },
+        __GATEWAY__ ? { key: 'Gateway', label: '网关' } : null,
         { key: 'DeviceShadow', label: '影子配置' }
-      ]
+      ].filter(Boolean)
     }
   },
   computed: {