فهرست منبع

【代码评审】IoT:场景联动的 review

YunaiV 1 سال پیش
والد
کامیت
782337952d

+ 3 - 2
src/api/iot/device/device/index.ts

@@ -162,12 +162,13 @@ export const DeviceApi = {
     return await request.get({ url: `/iot/device/log/page`, params })
   },
 
-  // 获取设备MQTT连接参数
+  // 获取设备 MQTT 连接参数
   getMqttConnectionParams: async (deviceId: number) => {
     return await request.get({ url: `/iot/device/mqtt-connection-params`, params: { deviceId } })
   },
 
-  // 根据ProductKey和DeviceNames获取设备列表
+  // 根据 ProductKey 和 DeviceNames 获取设备列表
+  // TODO @puhui999:getDeviceListByProductKeyAndNames 哈。项目的风格统一~
   getDevicesByProductKeyAndNames: async (productKey: string, deviceNames: string[]) => {
     return await request.get({
       url: `/iot/device/list-by-product-key-and-names`,

+ 2 - 2
src/api/iot/product/product/index.ts

@@ -79,8 +79,8 @@ export const ProductApi = {
   getSimpleProductList() {
     return request.get({ url: '/iot/product/simple-list' })
   },
-  
-  // 根据ProductKey获取产品信息
+
+  // 根据 ProductKey 获取产品信息
   getProductByKey: async (productKey: string) => {
     return await request.get({ url: `/iot/product/get-by-key`, params: { productKey } })
   }

+ 1 - 0
src/api/iot/rule/databridge/index.ts

@@ -125,6 +125,7 @@ export const DataBridgeApi = {
   },
 
   // 查询数据桥梁(精简)列表
+  // TODO @puhui999:getDataBridgeSimpleList 哈。项目的风格统一~ 之前有几个,我写错了。。。
   getSimpleDataBridgeList() {
     return request.get({ url: '/iot/data-bridge/simple-list' })
   }

+ 1 - 1
src/api/iot/rule/scene/scene.types.ts

@@ -100,7 +100,7 @@ interface ActionAlert {
 
 // 执行器配置
 interface ActionConfig {
-  key: any // 解决组件索引重用
+  key: any // 解决组件索引重用 TODO @puhui999:看看有没更好的解决方案呢。
   type: number // 执行类型
   deviceControl?: ActionDeviceControl // 设备控制
   alert?: ActionAlert // 告警执行

+ 2 - 2
src/api/system/dept/index.ts

@@ -18,8 +18,8 @@ export const getSimpleDeptList = async (): Promise<DeptVO[]> => {
 }
 
 // 查询部门列表
-export const getDeptPage = async (params: PageParam) => {
-  return await request.get({ url: '/system/dept/list', params })
+export const getDeptList = async () => {
+  return await request.get({ url: '/system/dept/list' })
 }
 
 // 查询部门详情

+ 1 - 11
src/api/system/role/index.ts

@@ -12,11 +12,6 @@ export interface RoleVO {
   createTime: Date
 }
 
-export interface UpdateStatusReqVO {
-  id: number
-  status: number
-}
-
 // 查询角色列表
 export const getRolePage = async (params: PageParam) => {
   return await request.get({ url: '/system/role/page', params })
@@ -42,18 +37,13 @@ export const updateRole = async (data: RoleVO) => {
   return await request.put({ url: '/system/role/update', data })
 }
 
-// 修改角色状态
-export const updateRoleStatus = async (data: UpdateStatusReqVO) => {
-  return await request.put({ url: '/system/role/update-status', data })
-}
-
 // 删除角色
 export const deleteRole = async (id: number) => {
   return await request.delete({ url: '/system/role/delete?id=' + id })
 }
 
 // 导出角色
-export const exportRole = (params) => {
+export const exportRole = (params: any) => {
   return request.download({
     url: '/system/role/export-excel',
     params

+ 2 - 2
src/views/iot/rule/scene/components/ThingModelDualView.vue

@@ -1,12 +1,12 @@
 <template>
   <Dialog v-model="dialogVisible" :title="dialogTitle" :appendToBody="true" v-loading="loading">
     <div class="flex h-600px">
-      <!-- 左侧物模型属性(view模式) -->
+      <!-- 左侧物模型属性(view 模式) -->
       <div class="w-1/2 border-r border-gray-200 pr-2 overflow-auto">
         <JsonEditor :model-value="thingModel" mode="view" height="600px" />
       </div>
 
-      <!-- 右侧JSON编辑器(code模式) -->
+      <!-- 右侧 JSON 编辑器(code 模式) -->
       <div class="w-1/2 pl-2 overflow-auto">
         <JsonEditor v-model="editableModelTSL" mode="code" height="600px" @error="handleError" />
       </div>

+ 1 - 6
src/views/iot/rule/scene/components/action/ActionExecutor.vue

@@ -193,16 +193,13 @@ watch(
   { immediate: true }
 )
 
-/**
- * 初始化产品回显信息
- */
+/** 初始化产品回显信息 */
 const initProductInfo = async () => {
   if (!actionConfig.value.deviceControl?.productKey) {
     return
   }
 
   try {
-    // 使用新的API直接通过productKey获取产品信息
     const productData = await ProductApi.getProductByKey(
       actionConfig.value.deviceControl.productKey
     )
@@ -226,12 +223,10 @@ const initDeviceInfo = async () => {
   }
 
   try {
-    // 使用新的API直接通过productKey和deviceNames获取设备列表
     const deviceData = await DeviceApi.getDevicesByProductKeyAndNames(
       actionConfig.value.deviceControl.productKey,
       actionConfig.value.deviceControl.deviceNames
     )
-
     if (deviceData && deviceData.length > 0) {
       deviceList.value = deviceData
     }

+ 12 - 4
src/views/iot/rule/scene/components/action/AlertAction.vue

@@ -8,7 +8,9 @@
         clearable
         placeholder="选择接收方式"
       >
-        <el-option 
+        <!-- TODO @芋艿:后续搞成字典 -->
+        <!-- TODO @puhui999:这里好像是 1、/2、/3 哈 -->
+        <el-option
           v-for="(value, key) in IotAlertConfigReceiveTypeEnum"
           :key="value"
           :label="key === 'SMS' ? '短信' : key === 'MAIL' ? '邮箱' : '通知'"
@@ -16,7 +18,10 @@
         />
       </el-select>
     </div>
-    <div v-if="alertConfig.receiveType === IotAlertConfigReceiveTypeEnum.SMS" class="flex items-center mb-10px">
+    <div
+      v-if="alertConfig.receiveType === IotAlertConfigReceiveTypeEnum.SMS"
+      class="flex items-center mb-10px"
+    >
       <span class="mr-10px w-80px">手机号码</span>
       <el-select
         v-model="alertConfig.phoneNumbers"
@@ -28,7 +33,10 @@
         placeholder="请输入手机号码"
       />
     </div>
-    <div v-if="alertConfig.receiveType === IotAlertConfigReceiveTypeEnum.MAIL" class="flex items-center mb-10px">
+    <div
+      v-if="alertConfig.receiveType === IotAlertConfigReceiveTypeEnum.MAIL"
+      class="flex items-center mb-10px"
+    >
       <span class="mr-10px w-80px">邮箱地址</span>
       <el-select
         v-model="alertConfig.emails"
@@ -80,4 +88,4 @@ const initAlertConfig = () => {
 onMounted(() => {
   initAlertConfig()
 })
-</script> 
+</script>

+ 1 - 1
src/views/iot/rule/scene/components/action/DataBridgeAction.vue

@@ -25,7 +25,7 @@ const props = defineProps<{ modelValue: any }>()
 const emits = defineEmits(['update:modelValue'])
 const dataBridgeId = useVModel(props, 'modelValue', emits)
 
-const dataBridgeList = ref<any[]>([]) /** 数据桥接列表 */
+const dataBridgeList = ref<any[]>([]) // 数据桥接列表
 
 /** 获取数据桥接列表 */
 const getDataBridgeList = async () => {

+ 1 - 1
src/views/iot/rule/scene/components/action/DeviceControlAction.vue

@@ -162,7 +162,7 @@ const initDeviceControlConfig = () => {
     }))
   }
 
-  // 确保data对象存在
+  // 确保 data 对象存在
   if (!deviceControlConfig.value.data) {
     deviceControlConfig.value.data = {}
   }

+ 1 - 1
src/views/system/dept/index.vue

@@ -134,7 +134,7 @@ const userList = ref<UserApi.UserVO[]>([]) // 用户列表
 const getList = async () => {
   loading.value = true
   try {
-    const data = await DeptApi.getDeptPage(queryParams)
+    const data = await DeptApi.getDeptList(queryParams)
     list.value = handleTree(data)
   } finally {
     loading.value = false