/* * 模块名称:UI PWD Def (密码与权限配置) * 模块功能:查看/修改两个密码的编译期取值(3 位 0..999)+ 权限枚举定义—— * 密码值唯一配置点;改值后重新编译生效,不占 RAM、不落 Flash; * 菜单表(ui_menu_tree.txt)叶子行尾 #P 注记标"需密码", * 进叶子时按所输密码授权(查看密码→只读 / 修改密码→可修改) * 适用平台:STM32F407ZGTx / PC 模拟器(两端共用) * 作者:王建锋 * 创建日期:2026-09-09 * 修改记录: * 2026-09-09 王建锋 创建:密码值编译期配置(用户定案:密码仅编译期 * 写入,不做运行期设置页与 Flash 持久化) * 2026-09-09 王建锋 改权限模型:密码不绑定特定叶子,同一叶子输不同密码 * 获不同权限(查看密码→只读 / 修改密码→可修改); * 新增 ui_perm_t 权限枚举;树注记改 #P(需密码) */ #ifndef UI_PWD_DEF_H #define UI_PWD_DEF_H #include /* * 权限:进入受保护叶子时获得的权限级别(由所输密码决定): * 同一叶子输查看密码 → 只读;输修改密码 → 可修改(含查看); * 无密码叶子直接进,默认只读 */ typedef enum { UI_PERM_VIEW = 0u, /* 只读权限:查看密码授予(无密码叶子的默认权限) */ UI_PERM_MODIFY, /* 修改权限:修改密码授予(含查看) */ UI_PERM_COUNT /* 哨兵:非法权限(自检) */ } ui_perm_t; #define UI_PWD_VALUE_VIEW 0u /* 查看密码:输入授予只读权限 */ #define UI_PWD_VALUE_MODIFY 123u /* 修改密码:输入授予修改权限 */ /* 护栏:密码值域 0..999(3 位),越界编译失败(C99 写法,兼容 ARMCC v5) */ typedef char ui_pwd_value_view_check[(UI_PWD_VALUE_VIEW <= 999u) ? 1 : -1]; typedef char ui_pwd_value_modify_check[(UI_PWD_VALUE_MODIFY <= 999u) ? 1 : -1]; #endif /* UI_PWD_DEF_H */