diff --git a/README.md b/README.md index 6b508d5..2902cb8 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,7 @@ npm run build > - qs:静态资源请求 > - vue:框架 > - vue-router:路由 +> - @@ -384,72 +385,23 @@ await apiInstance.updateCamera(token, cameraId, cameraJson); - - -> 表单数据显示摄像id,name,mode对应的规则显示对应的id,name,mode,schedule -> -> 其中摄像mode有ON和OFF两种状态,规则中mode有On,OFF和schedule三中状态,规则模式只有在schedule状态才会显示schedule中内容type, -> -> schedule中type又分为每日daily和每周weekly两周状态,其中dayily直接设置,当日时间范围time_slots,weekly可选择周几week_day和对应当天的当日时间范围time_slots -> -> time_slots为两个数字,对应当天开始时间和结束时间,计算交互方式为选择时间点 -> -> 几点几分,然后计算这个时间总计有多少分钟,例如1点10分对应数字为70 - - - -- 结果返回信息修改(用户提示信息) - -``` -public async updateRule(token: string | null = null, rules: RuleData[]): Promise { - const results: any[] = []; - - for (const rule of rules) { - const url = `${this.superRule}/${rule.id}`; - try { - const res = await this.axios.patch(url, rule, this._authHeader(token)); - if (res.data.err.ec === 0) { - results.push({ - success: true, - ruleId: rule.id, - data: res.data.ret, - }); - } else { - results.push({ - success: false, - ruleId: rule.id, - error: res.data.err.dm, - }); - } - } catch (error: any) { - results.push({ - success: false, - ruleId: rule.id, - error: error.message || '未知错误', - }); - } - } - - return results; -} - -``` - - - - - -- 时间段设置 +- 时间段规则设置 > 添加时间段schedule的设置,组件显示开始时间点和结束时间,数据格式化方式为将代表累计分钟的数字转换为时间点,每60分钟为1小时,数字范围在0到1440,实例[56,65]代表0:56到1:05,组件显示将数字组转换为时间段,请求时将组件时间段显示为数字组。 > > 时间段结束时间点不能大于开始时间点,多时间段添加不能有重合部分。 > -> 设置规则,只有在rule.mode为schedule时才可设置时间段,携带参数日期类型和多个时间段数字组合,在未保存切换rule。mode模式时间段不会因为隐藏组件而清空数值,始终显示开始设定好的默认值,当提交时处于时间段模式至少得设置一个时间段数组否则无法保存,若处在schedule情况下保存,携带参数请求,若rule.mode处于on或者off,代表没有时间段设置,那么schedule下的所有参数及时原来有值,也需要伴随请求清空默认值。 +> 设置规则,只有在rule.mode为schedule时才可设置时间段,携带参数日期类型和多个时间段数字组合,在未保存切换rule。mode模式时间段不会因为隐藏组件而清空数值,始终显示开始设定好的默认值,当提交时处于时间段模式至少得设置一个时间段数组否则无法保存,若处在schedule情况下保存,携带参数请求,若rule.mode处于on或者off,代表没有时间段设置,那么schedule下的所有参数及时原来有值,也需要伴随请求清空默认值,具体如下: -> 重新修改这段CameraRule.vue代码, 1.在rule.mode为schedule模式添加时间段time_slots的组件,添加时间段类型,输入框值默认为daily,不可修改 2.开始时间和结束时间的组件,时间通过分钟数转换为格式化的时间(小时:分钟),有删除按钮可删除临时的时间段设置,使用数字范围(0-1440),单个时间点代表0点到设置的时间点累计的分钟数字 3.时间段的校验,结束时间不能小于开始时间,多时间段之间不能有重叠。 4.如果 rule.mode 为 schedule,则必须包含至少一个时间段,如果 rule.mode 是 on 或 off,清空所有时间段和时间段类型 +> 1.在rule.mode为schedule模式添加时间段time_slots的组件,添加时间段类型,输入框值默认为daily,不可修改 +> +> 2.开始时间和结束时间的组件,时间通过分钟数转换为格式化的时间(小时:分钟),有删除按钮可删除临时的时间段设置,使用数字范围(0-1440),单个时间点代表0点到设置的时间点累计的分钟数字 +> +> 3.时间段的校验,结束时间不能小于开始时间,多时间段之间不能有重叠。 +> +> 4.如果 rule.mode 为 schedule,则必须包含至少一个时间段,如果 rule.mode 是 on 或 off,清空所有时间段和时间段类型 @@ -512,71 +464,6 @@ public async updateRule(token: string | null = null, rules: RuleData[]): Promise - - -``` -模拟静态数据实例, -"camera": { - "id": 1, - "name": "421枪机", - "mode": "on", - "status": "online", - "rules": [ - { - "id": 1, - - "camera": 1, - "name": "入侵test2", - "mode": "schedule", - "algo": "intrude", - "schedule": { - "type": "daily", - "time_slots": [ - [ - 118, - 898 - ], - [ - 0, - 60 - ] - ] - }, - }, - { - "id": 3, - "camera": 1, - "name": "人员逗留", - "mode": "schedule", - "algo": "personnel_staying", - "schedule": { - "type": "daily", - "time_slots": [ - [ - 180, - 420 - ] - ] - }, - } - ], - "snapshot": "http://192.168.28.33:8000/media/cameras/1/snapshot.jpg", - } -读取显示rules中多条数据,每条rule中rule.mode对应el-radio三种状态,在rule.model为schedule时 -``` - - - - - - - - - - - - - ## 日志 ### 2024.11.21