系统操作说明

项目介绍地址:https://www.cnblogs.com/liu6liu/articles/19130037

一、基础设定

  1. 密码规则
    • 密码长度:6~12 位(普通用户 / 管理员密码)
    • 最大输入长度:20 位(支持虚位密码)
    • 密码存储上限:最多 50 个
    • 输入结束标识:#键结束输入
    • 紧急退出:M键随时退出
  2. 输入限制
    • 密码验证最多输入 5 次,失败 5 次后触发警报并上报服务器
    • 长时间未输入自动退回输入按键界面
  3. 存储规则
    • 6~12 位密码按 "管理员密码" 和 "普通用户密码" 分类存储
    • 管理员数量限制:至少 1 个,最多 5 个;除非清空所有数据(恢复出厂设置),否则不可删除最后 1 位管理员

二、指令键列表

键名 功能描述
10 注册管理员
11 删除管理员
15 删除除当前管理员外的所有密码
20 注册普通用户
21 删除普通用户
25 删除所有用户密码
30 注册指纹
31 删除指纹
35 删除所有指纹
40 调节音量
49 OTA 升级
59 恢复出厂设置

补充说明(指令键设计逻辑)

  • 首位数 1 = 管理员模块:末位 0 代表注册(初始操作),末位 1 代表删除(与注册对称),末位 5 代表批量操作(强调管理员权限特殊性)。
  • 首位数 2 = 用户模块:末位 0 代表注册,末位 1 代表删除,末位 5 代表批量操作。
  • 首位数 3 = 生物识别模块:末位 0 代表注册,末位 1 代表删除,末位 5 代表批量操作(5 为常用批量代码)。
  • 首位数 4 = 系统设置模块:末位 0 代表基础调节(音量属高频基础操作),末位 9 代表高级维护(升级需权限验证)。
  • 首位数 5 = 安全维护模块:末位 9 代表危险操作(需二次确认)。

注:所有指令执行前需先验证管理员身份,验证失败则退出操作。

三、核心函数

1. 验证并添加密码

  • 功能:验证输入密码的有效性并添加至对应存储区域(管理员 / 用户)
  • 流程:需配合输入按键、处理按键函数完成验证逻辑

2. 输入按键

  • 功能:接收用户输入,支持数字、#(结束)、M(退出)
  • 规则:#键触发输入结束,转入处理流程;M键直接退出当前操作

3. 处理按键

  • 功能:解析输入内容,判定类型并执行对应逻辑
    • 2.1 输入为 2 位数:判定为指令,进入 "验证管理员" 流程
    • 2.2 输入为 6~12 位:判定为密码
      • 若密码已存在:触发开锁
      • 若密码不存在:直接退出
    • 2.3 输入为 12~20 位:判定为虚位密码
      • 搜索字符串中是否包含已存储的密码,包含则开锁,否则退出

4. 验证管理员

  • 触发时机:所有指令执行前必须触发
  • 流程:
    1. 提示输入管理员密码
    2. 调用 "读取密码函数" 验证输入密码是否为管理员密码(任一管理员密码均可)
    3. 验证成功:执行指令;验证失败:直接退出

5. 读取密码函数

  • 功能:从存储区域读取管理员 / 用户密码,供验证流程调用

四、功能模块

4.1 注册管理员(指令键 10)

  • 前置条件:需管理员验证通过;管理员数量未满(≤4 位,因上限为 5 位)
  • 流程:
    1. 输入两次密码
    2. 验证两次密码是否相同
      • 不同:注册失败
      • 相同:注册成功(存储为管理员密码,总数 + 1)

4.2 删除管理员(指令键 11)

  • 前置条件:需管理员验证通过
  • 限制:
    • 若当前管理员仅 1 位(最后 1 位):无法删除(仅可通过 "恢复出厂设置" 删除)
    • 若管理员数量>1:允许删除
  • 流程:
    1. 输入待删除的管理员密码
    2. 验证该密码是否为已存储的管理员密码
      • 不存在:删除失败
      • 存在:删除成功(总数 - 1)

4.3 注册普通用户(指令键 20)

  • 前置条件:需管理员验证通过
  • 流程:
    1. 输入两次密码
    2. 验证两次密码是否相同
      • 不同:注册失败
      • 相同:注册成功(存储为普通用户密码)

4.4 删除普通用户(指令键 21)

  • 前置条件:需管理员验证通过
  • 流程:
    1. 输入待删除的用户密码
    2. 验证该密码是否为已存储的普通用户密码
      • 不存在:删除失败
      • 存在:删除成功

4.5 注册指纹(指令键 30)

  • 前置条件:需管理员验证通过
  • 流程:
    1. 输入用户编号(0-50,对应存储位置)
    2. 提示按下指纹
    3. 指纹采集成功:注册完成

4.6 删除指纹(指令键 31)

  • 前置条件:需管理员验证通过
  • 流程:
    1. 输入指纹编号(或名称)
    2. 验证该指纹是否已存储
      • 不存在:删除失败
      • 存在:删除成功

4.7 调节音量(指令键 40)

  • 前置条件:需管理员验证通过
  • 流程:
    1. 输入音量值(0-15,0 为静音,15 为最大)
    2. 系统更新音量设置

4.8 OTA 升级(指令键 49)

  • 前置条件:需管理员验证通过
  • 流程:
    1. 检查是否有可用升级包
      • 有:启动 OTA 升级
      • 无:升级失败

4.9 删除所有指纹(指令键 35)

  • 前置条件:需管理员验证通过
  • 流程:直接删除所有已存储的指纹数据

4.10 删除所有用户密码(指令键 25)

  • 前置条件:需管理员验证通过
  • 流程:直接删除所有普通用户密码(保留管理员密码)

4.11 删除除指定管理员密码外的所有密码(指令键 15)

  • 前置条件:需管理员验证通过
  • 流程:
    1. 输入管理员密码(需验证有效性)
    2. 删除所有密码(包括其他管理员密码、普通用户密码),仅保留当前输入的管理员密码

4.12 恢复出厂设置(指令键 59)

  • 前置条件:需管理员验证通过
  • 流程:清除所有存储数据(包括管理员密码、用户密码、指纹等),恢复至初始状态

五、关键逻辑补充

  1. 虚位密码处理:输入 12~20 位字符时,系统自动提取其中 6~12 位的子串,若子串与已存储密码匹配,则触发开锁
  2. 管理员权限:任一管理员密码均可验证指令权限,无需区分具体管理员身份
  3. 安全机制:密码验证失败 5 次后,系统触发警报并上报服务器,限制后续操作直至手动重置
  4. 模块设计逻辑:指令键采用 "模块号 + 操作号" 的二级编码规则,便于记忆和功能扩展,同一模块内操作逻辑保持一致性
posted @ 2025-08-16 00:17  2666666  阅读(190)  评论(0)    收藏  举报